UNPKG

@variablesoftware/ts-retry-backoff

Version:

🎛️🔁🚀 A tiny, zero‑dependencies retry helper with exponential backoff + jitter—usable for KV, HTTP, Durable Objects, or any async function.

19 lines (18 loc) 768 B
type BackoffFn = (_attempt: number, _baseMs: number) => number; export declare const strategies: Record<string, BackoffFn>; export interface RetryBackoffOptions { maxRetries?: number; baseDelayMs?: number; minDelayMs?: number; maxDelayMs?: number; strategy?: BackoffFn; jitter?: number; retryOn?: (_err: unknown) => boolean; onRetry?: (_err: unknown, _attempt: number, _delay: number) => void; onSuccess?: (_result: unknown, _attempt: number) => void; onGiveUp?: (_err: unknown, _attempt: number) => void; signal?: AbortSignal; } export declare function delay(ms: number, signal?: AbortSignal): Promise<void>; export declare function retryBackoff<T>(fn: () => Promise<T>, opts?: RetryBackoffOptions): Promise<T>; export {};