@types/async-retry
TypeScript icon, indicating that this package has built-in type declarations

1.4.8 • Public • Published

Installation

npm install --save @types/async-retry

Summary

This package contains type definitions for async-retry (https://github.com/vercel/async-retry).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/async-retry.

index.d.ts

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>(fn: AsyncRetry.RetryFunction<TRet>, opts?: AsyncRetry.Options): Promise<TRet>;

declare namespace AsyncRetry {
    interface Options extends WrapOptions {
        /**
         * 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: Error, attempt: number) => any) | 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> = (bail: (e: Error) => void, attempt: number) => TRet | Promise<TRet>;
}

export = AsyncRetry;

Additional Details

  • Last updated: Mon, 06 Nov 2023 22:41:04 GMT
  • Dependencies: @types/retry

Credits

These definitions were written by Albert Wu, Pablo Rodríguez, Rafał Sawicki, and BendingBender.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/async-retry

Weekly Downloads

497,342

Version

1.4.8

License

MIT

Unpacked Size

5.91 kB

Total Files

5

Last publish

Collaborators

  • types