
Security News
Potemkin Understanding in LLMs: New Study Reveals Flaws in AI Benchmarks
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Alter arguments and return values before and after a function is called
npm install prepost
Alter arguments to a function:
import { pre } from 'prepost'
const add = (a, b) => a + b
const doubleAdd = pre((a, b) => [a * 2, b * 2], add)
add(1, 2) // -> 3
doubleAdd(1, 2) // -> 6
Alter return value from a function:
import { post } from 'prepost'
const add = (a, b) => a + b
const doubleAdd = post(add, res => res * 2)
add(1, 2) // -> 3
doubleAdd(1, 2) // -> 6
Async alter arguments:
import { pre } from 'prepost'
const add = (a, b) => a + b
const doubleAdd = pre(
(a, b) => new Promise(resolve => setTimeout(resolve([a * 2, b * 2]), 1000)),
add
)
add(1, 2) // -> 3
await doubleAdd(1, 2) // -> 6
Async alter return value:
import { post } from 'prepost'
const add = (a, b) => a + b
const doubleAdd = post(
add,
res => new Promise(resolve => setTimeout(resolve(res * 2), 1000))
)
add(1, 2) // -> 3
await doubleAdd(1, 2) // -> 6
pre(preFunc, [preFunc1, preFunc2, ...,] func)
preFunc
- function (or array of functions) to call before func
. It is passed arguments as they would be if calling func
normally. preFunc
must return an array of arguments or a promise that resolves to an array.preFunc1, preFunc2, ...
- other functions to call in series before func
. The altered arguments from preFunc
are passed to preFunc1
and so on.func
- function to call after all the pre-functions have run and altered argumentsReturns a function that when called will call all the pre-functions in order before finally calling func
.
NOTE: If any one of your pre functions returns a promise then the function returned by pre
becomes async (returns a promise), regardless of whether func
was already async or not.
post(func, postFunc [, postFunc1, postFunc2, ...])
func
- function to call and pass return value to postFunc
postFunc
- function (or array of functions) to call after func
. It is passed the return value as it's first argument. If func
returns a promise, this is first resolved before postFunc
is called. preFunc
should return the altered return value from func
or a promise that resolves to the return value.postFunc1, postFunc2, ...
- other functions to call in series after func
. The altered return value from postFunc
is passed to postFunc1
and so on.Returns a function that when called will call all the post-functions in order after calling func
.
NOTE: If any one of your post functions returns a promise then the function returned by post
becomes async (returns a promise), regardless of whether func
was already async or not.
Feel free to dive in! Open an issue or submit PRs.
MIT © Alan Shaw
FAQs
Alter arguments and return values before and after a function is called
The npm package prepost receives a total of 158 weekly downloads. As such, prepost popularity was classified as not popular.
We found that prepost demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
New research reveals that LLMs often fake understanding, passing benchmarks but failing to apply concepts or stay internally consistent.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.