@signalwire/core
Version:
Shared code for the SignalWire JS SDK
18 lines • 905 B
TypeScript
interface AsyncRetryOptions<T> {
asyncCallable: () => Promise<T>;
maxRetries?: number;
delayFn?: () => number;
validator?: (promiseResult: T) => void | never;
expectedErrorHandler?: (error: any) => boolean;
}
interface DelayOptions {
initialDelay?: number;
variation?: number;
delayLimit?: number;
}
export declare const increasingDelay: ({ delayLimit: upperDelayLimit, initialDelay, variation, }: DelayOptions) => () => number;
export declare const decreasingDelay: ({ delayLimit: bottomDelayLimit, initialDelay, variation, }: DelayOptions) => () => number;
export declare const constDelay: ({ initialDelay, }: Pick<DelayOptions, "initialDelay">) => () => number;
export declare const asyncRetry: <T>({ asyncCallable, maxRetries: retries, delayFn, validator, expectedErrorHandler, }: AsyncRetryOptions<T>) => Promise<T>;
export {};
//# sourceMappingURL=asyncRetry.d.ts.map