-
-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add function support for timeWindow #357
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you update the tests for the types?
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
@mindrunner can you try targeting |
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Thanks again for the PR |
* Updating for v5 (#338) * ci: add node 21 to test matrix and remove node 14 and 16 * package.json update for v5 * merge main to next (#348) * Update README.md to reflect #307 (#342) * Redis should work with ban (#336) * Redis should work with ban * fix ttl * simplify * format * remove warning * move property * add test * fix test * fix test * fix test * still fix the same test * make it non-breaking * make it non-breaking * make it non-breaking * make it non-breaking * perf: add ban back * Bumped v8.1.0 Signed-off-by: Matteo Collina <[email protected]> * Bumped v9.0.0 Signed-off-by: Matteo Collina <[email protected]> * Fix in-memory cache bug when there is only one entry (#345) * Bumped v9.0.1 --------- Signed-off-by: Matteo Collina <[email protected]> Co-authored-by: Trevor Lund <[email protected]> Co-authored-by: Matteo Collina <[email protected]> Co-authored-by: Igor Savin <[email protected]> * Revert "merge main to next (#348)" This reverts commit 5446122. * revert workflow update as its causing issues (#350) * revert: handle ban in store (#347) * remove ban handling from store * don't use negation * add undef * don't pass ban to promis * fix accidental explicit checks * fix accidental line change * inline ban * Workflow v4 (#354) * refactor: make RedisStore default key a default parameter (#356) * refactor redis parameters and throw if no instance was provided * revert error * Add function support for timeWindow (#357) * feat: dynamic time window support * fix: proper usage of timeWindowString --------- Co-authored-by: lukas <[email protected]> * update docs (#360) * fix: remove unnecessary parameter timeWindow (#363) * refactor: consistent option handling (#365) * small refactor in option handling * simplify * simplify * perf: pregenerate `timeWindow` string when possible and use `noop` as default function (#364) * pregenerate timeWindowString if possible * simplify * simplify * noop * simplify * simple-example * rename * update for v5 (#370) * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update for v5 * update fastify deps --------- Signed-off-by: Matteo Collina <[email protected]> Co-authored-by: Eliphaz Bouye <[email protected]> Co-authored-by: Gürgün Dayıoğlu <[email protected]> Co-authored-by: Trevor Lund <[email protected]> Co-authored-by: Matteo Collina <[email protected]> Co-authored-by: Igor Savin <[email protected]> Co-authored-by: lukas <[email protected]> Co-authored-by: lukas <[email protected]> Co-authored-by: Gürgün Dayıoğlu <[email protected]>
This update allows
timeWindow
to be a function that can dynamically determine the time window based on the request and key. The code refactor has been applied across both the Redis and Local stores. Tests for this new functionality have been added to ensure correctness. The TypeScript definition was also updated to reflect this change.#283
Checklist
npm run test
andnpm run benchmark
and the Code of conduct