Defined in: rate-limiter.ts:47
Options for configuring a rate-limited function
• TFn extends AnyFunction
optional enabled: boolean | (rateLimiter) => boolean;
optional enabled: boolean | (rateLimiter) => boolean;
Defined in: rate-limiter.ts:52
Whether the rate limiter is enabled. When disabled, maybeExecute will not trigger any executions. Defaults to true.
optional initialState: Partial<RateLimiterState>;
optional initialState: Partial<RateLimiterState>;
Defined in: rate-limiter.ts:56
Initial state for the rate limiter
optional key: string;
optional key: string;
Defined in: rate-limiter.ts:61
Optional key to identify this rate limiter instance. If provided, the rate limiter will be identified by this key in the devtools and PacerProvider if applicable.
limit: number | (rateLimiter) => number;
limit: number | (rateLimiter) => number;
Defined in: rate-limiter.ts:66
Maximum number of executions allowed within the time window. Can be a number or a callback function that receives the rate limiter instance and returns a number.
optional onExecute: (args, rateLimiter) => void;
optional onExecute: (args, rateLimiter) => void;
Defined in: rate-limiter.ts:70
Callback function that is called after the function is executed
Parameters<TFn>
RateLimiter<TFn>
void
optional onReject: (rateLimiter) => void;
optional onReject: (rateLimiter) => void;
Defined in: rate-limiter.ts:74
Optional callback function that is called when an execution is rejected due to rate limiting
RateLimiter<TFn>
void
window: number | (rateLimiter) => number;
window: number | (rateLimiter) => number;
Defined in: rate-limiter.ts:79
Time window in milliseconds within which the limit applies. Can be a number or a callback function that receives the rate limiter instance and returns a number.
optional windowType: "fixed" | "sliding";
optional windowType: "fixed" | "sliding";
Defined in: rate-limiter.ts:86
Type of window to use for rate limiting
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.