Debouncer API Reference
- DebouncerOptions
- DebouncerState
- AsyncDebouncerOptions
- AsyncDebouncerState
- debounce
- asyncDebounce
- Debouncer
- AsyncDebouncer
- ReactDebouncerOptions
- ReactAsyncDebouncerOptions
- ReactDebouncer
- ReactAsyncDebouncer
- useDebouncer
- useDebouncedCallback
- useDebouncedState
- useDebouncedValue
- useAsyncDebouncer
- useAsyncDebouncedCallback
Throttler API Reference
- ThrottlerOptions
- ThrottlerState
- AsyncThrottlerOptions
- AsyncThrottlerState
- throttle
- asyncThrottle
- Throttler
- AsyncThrottler
- ReactThrottlerOptions
- ReactAsyncThrottlerOptions
- ReactThrottler
- ReactAsyncThrottler
- useThrottler
- useThrottledCallback
- useThrottledState
- useThrottledValue
- useAsyncThrottler
- useAsyncThrottledCallback
Rate Limiter API Reference
Queue API Reference
RateLimiterOptions
Defined in: rate-limiter.ts:47
Options for configuring a rate-limited function
Type Parameters#
TFn#
TFn extends AnyFunction
Properties#
enabled?#
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.
initialState?#
optional initialState?: Partial<RateLimiterState>;Defined in: rate-limiter.ts:56
Initial state for the rate limiter
key?#
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#
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.
onExecute?#
optional onExecute?: (args, rateLimiter) => void;Defined in: rate-limiter.ts:70
Callback function that is called after the function is executed
Parameters#
args#
Parameters<TFn>
rateLimiter#
RateLimiter<TFn>
Returns#
void
onReject?#
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
Parameters#
rateLimiter#
RateLimiter<TFn>
Returns#
void
window#
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.
windowType?#
optional windowType?: "fixed" | "sliding";Defined in: rate-limiter.ts:86
Type of window to use for rate limiting
- 'fixed': Uses a fixed window that resets after the window period
- 'sliding': Uses a sliding window that allows executions as old ones expire Defaults to 'fixed'