npm install --save @types/async-retry
This package contains type definitions for async-retry (https://github.com/vercel/async-retry).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-retry.
import { WrapOptions } from "retry";
/**
* Retrying made simple, easy, and async.
*
* @example
* import retry = require('async-retry');
* import fetch from 'node-fetch';
*
* await retry(
* async (bail) => {
* // if anything throws, we retry
* const res = await fetch('https://google.com');
*
* if (403 === res.status) {
* // don't retry upon 403
* bail(new Error('Unauthorized'));
* return;
* }
*
* const data = await res.text();
* return data.substr(0, 500);
* },
* {
* retries: 5,
* }
* );
*/
declare function AsyncRetry<TRet, TErr = unknown>(
fn: AsyncRetry.RetryFunction<TRet, TErr>,
opts?: AsyncRetry.Options<TErr> | number[],
): Promise<TRet>;
declare namespace AsyncRetry {
interface Options<TErr = unknown> extends Omit<WrapOptions, "randomize"> {
/**
* An optional function that is invoked after a new retry is performed. It's passed the
* `Error` that triggered it as a parameter.
*/
onRetry?: ((e: TErr, attempt: number) => any) | undefined;
/**
* Randomizes the timeouts by multiplying a factor between 1-2.
* @default true
*/
randomize?: boolean | undefined;
}
/**
* @param bail A function you can invoke to abort the retrying (bail).
* @param attempt The attempt number. The absolute first attempt (before any retries) is `1`.
*/
type RetryFunction<TRet, TErr = unknown> = (bail: (e: TErr) => void, attempt: number) => TRet | Promise<TRet>;
}
export = AsyncRetry;
- Last updated: Wed, 02 Oct 2024 18:10:02 GMT
- Dependencies: @types/retry
These definitions were written by Albert Wu, Pablo Rodríguez, Rafał Sawicki, and BendingBender.