@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
35 lines • 1.05 kB
TypeScript
//#region src/retryManager.d.ts
type RetryManagerOptions = {
/** maximum number of retries before giving up */
maxRetry?: number;
/** delay between attempts, in milliseconds */
delay?: number;
/** function to call when an error occurs */
onError?: (details: {
error: string;
attempt: number;
maxRetry: number;
}) => void;
/** function to call when the maximum number of retries is reached */
onMaxTryReached?: (details: {
error: string;
attempt: number;
maxRetry: number;
}) => void;
};
/**
* Wrap an async function `fn` so it’s retried on failure.
*
* @param fn The async function to wrap
* @param options { maxRetry, delay }
* @returns A new function with the same signature as `fn`
*/
declare const retryManager: <Args extends any[], R>(fn: (...args: Args) => Promise<R>, {
maxRetry,
delay,
onError,
onMaxTryReached
}?: RetryManagerOptions) => ((...args: Args) => Promise<R>);
//#endregion
export { RetryManagerOptions, retryManager };
//# sourceMappingURL=retryManager.d.ts.map