npm.io
7.0.3 • Published yesterday

@xylabs/retry

Licence
LGPL-3.0-only
Version
7.0.3
Deps
0
Vulns
0
Weekly
5.2K
DeprecatedThis package is deprecated

Deprecated. Use @ariestools/sdk instead. This package is a backward-compatibility re-export shim.

logo

@xylabs/retry

npm license

Base functionality used throughout XY Labs TypeScript/JavaScript libraries

Install

Using npm:

npm install @xylabs/retry

Using yarn:

yarn add @xylabs/retry

Using pnpm:

pnpm add @xylabs/retry

Using bun:

bun add @xylabs/retry

License

See the LICENSE file for license rights and limitations (LGPL-3.0-only).

Reference

packages
retry
### .temp-typedoc

  ### functions

    ### <a id="retry"></a>retry

@xylabs/retry


function retry<T>(func, config?): Promise<T | undefined>;

Retries an async function with exponential backoff until it completes or retries are exhausted.

Type Parameters

T

T = unknown

Parameters

func

() => Promisable<T | undefined>

The function to retry.

config?

RetryConfigWithComplete<T>

Optional retry configuration including backoff, interval, retries, and completion check.

Returns

Promise<T | undefined>

The result of the function, or undefined if all retries were exhausted.

  ### interfaces

    ### <a id="RetryConfig"></a>RetryConfig

@xylabs/retry


Configuration for retry behavior.

Extended by

Properties

backoff?
optional backoff?: number;

Multiplier applied to the interval after each retry. Defaults to 2.


interval?
optional interval?: number;

Initial delay in milliseconds between retries. Defaults to 100.


retries?
optional retries?: number;

Maximum number of retry attempts. Defaults to 0 (no retries).

    ### <a id="RetryConfigWithComplete"></a>RetryConfigWithComplete

@xylabs/retry


Retry configuration extended with a custom completion check.

Extends

Type Parameters

T

T = unknown

Properties

backoff?
optional backoff?: number;

Multiplier applied to the interval after each retry. Defaults to 2.

Inherited from

RetryConfig.backoff


interval?
optional interval?: number;

Initial delay in milliseconds between retries. Defaults to 100.

Inherited from

RetryConfig.interval


retries?
optional retries?: number;

Maximum number of retry attempts. Defaults to 0 (no retries).

Inherited from

RetryConfig.retries


complete?
optional complete?: (result?) => boolean;

Determines whether the result is considered complete. Defaults to checking for a defined value.

Parameters
result?

T

Returns

boolean

Credits

Made with and by XY Labs

Keywords