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
AsyncRetryerOptions
Defined in: async-retryer.ts:59
Type Parameters#
TFn#
TFn extends AnyAsyncFunction
Properties#
backoff?#
optional backoff?: "linear" | "exponential" | "fixed";Defined in: async-retryer.ts:67
The backoff strategy for retry delays:
- 'exponential': Wait time doubles with each attempt (1s, 2s, 4s, ...)
- 'linear': Wait time increases linearly (1s, 2s, 3s, ...)
- 'fixed': Same wait time for all attempts
Default#
'exponential'baseWait?#
optional baseWait?: number | ((retryer) => number);Defined in: async-retryer.ts:72
Base wait time in milliseconds between retries, or a function that returns the wait time
Default#
1000enabled?#
optional enabled?: boolean | ((retryer) => boolean);Defined in: async-retryer.ts:77
Whether the retryer is enabled, or a function that determines if it's enabled
Default#
trueinitialState?#
optional initialState?: Partial<AsyncRetryerState<TFn>>;Defined in: async-retryer.ts:81
Initial state to merge with the default state
jitter?#
optional jitter?: number;Defined in: async-retryer.ts:86
Jitter percentage to add to retry delays (0-1). Adds randomness to prevent thundering herd.
Default#
0key?#
optional key?: string;Defined in: async-retryer.ts:94
Optional key to identify this async retryer instance. Note: async retryers are not currently surfaced in the devtools, so this key is only a plain identifier. Retryer instances are often created per-execution (including internally by the other async utilities), so they intentionally do not register with the devtools event bus.
maxAttempts?#
optional maxAttempts?: number | ((retryer) => number);Defined in: async-retryer.ts:99
Maximum number of retry attempts, or a function that returns the max attempts
Default#
3maxExecutionTime?#
optional maxExecutionTime?: number;Defined in: async-retryer.ts:104
Maximum execution time in milliseconds for a single function call before aborting
Default#
InfinitymaxTotalExecutionTime?#
optional maxTotalExecutionTime?: number;Defined in: async-retryer.ts:109
Maximum total execution time in milliseconds for the entire retry operation before aborting
Default#
InfinitymaxWait?#
optional maxWait?: number | ((retryer) => number);Defined in: async-retryer.ts:114
Maximum wait time in milliseconds to cap retry delays, or a function that returns the max wait time
Default#
InfinityonAbort?#
optional onAbort?: (reason, retryer) => void;Defined in: async-retryer.ts:118
Callback invoked when the execution is aborted (manually or due to timeouts)
Parameters#
reason#
"manual" | "execution-timeout" | "total-timeout" | "new-execution"
retryer#
AsyncRetryer<TFn>
Returns#
void
onError?#
optional onError?: (error, args, retryer) => void;Defined in: async-retryer.ts:125
Callback invoked when any error occurs during execution (including retries)
Parameters#
error#
Error
args#
Parameters<TFn>
retryer#
AsyncRetryer<TFn>
Returns#
void
onExecutionTimeout?#
optional onExecutionTimeout?: (retryer) => void;Defined in: async-retryer.ts:133
Callback invoked when a single execution attempt times out (maxExecutionTime exceeded)
Parameters#
retryer#
AsyncRetryer<TFn>
Returns#
void
onLastError?#
optional onLastError?: (error, retryer) => void;Defined in: async-retryer.ts:137
Callback invoked when the final error occurs after all retries are exhausted
Parameters#
error#
Error
retryer#
AsyncRetryer<TFn>
Returns#
void
onRetry?#
optional onRetry?: (attempt, error, retryer) => void;Defined in: async-retryer.ts:141
Callback invoked before each retry attempt
Parameters#
attempt#
number
error#
Error
retryer#
AsyncRetryer<TFn>
Returns#
void
onSettled?#
optional onSettled?: (args, retryer) => void;Defined in: async-retryer.ts:145
Callback invoked after execution completes (success or failure) of each attempt
Parameters#
args#
Parameters<TFn>
retryer#
AsyncRetryer<TFn>
Returns#
void
onSuccess?#
optional onSuccess?: (result, args, retryer) => void;Defined in: async-retryer.ts:149
Callback invoked when execution succeeds
Parameters#
result#
Awaited<ReturnType<TFn>>
args#
Parameters<TFn>
retryer#
AsyncRetryer<TFn>
Returns#
void
onTotalExecutionTimeout?#
optional onTotalExecutionTimeout?: (retryer) => void;Defined in: async-retryer.ts:157
Callback invoked when the total execution time times out (maxTotalExecutionTime exceeded)
Parameters#
retryer#
AsyncRetryer<TFn>
Returns#
void
throwOnError?#
optional throwOnError?: boolean | "last";Defined in: async-retryer.ts:165
Controls when errors are thrown:
- 'last': Only throw the final error after all retries are exhausted
- true: Throw every error immediately (disables retrying)
- false: Never throw errors, return undefined instead
Default#
'last'