Move Types
This commit is contained in:
@@ -8,6 +8,51 @@ import {
|
|||||||
} from './errors.ts';
|
} from './errors.ts';
|
||||||
import { isWithinBounds } from './misc.ts';
|
import { isWithinBounds } from './misc.ts';
|
||||||
|
|
||||||
|
export type ExponentialBackoffOptions = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum delay between attempts in milliseconds
|
||||||
|
*/
|
||||||
|
maxDelay: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum number of attempts. Passing 0 will result in infinite attempts.
|
||||||
|
*/
|
||||||
|
maxAttempts: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The base delay between attempts in milliseconds
|
||||||
|
*/
|
||||||
|
baseDelay: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The growth rate of the delay
|
||||||
|
*/
|
||||||
|
growthRate: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The jitter of the delay as a percentage of growthRate. The jitter is subtracted from the delay.
|
||||||
|
*/
|
||||||
|
jitter: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The function to call to stop the retries.
|
||||||
|
* This mimics the AbortSignal.abort function by taking in a reason for stopping
|
||||||
|
*
|
||||||
|
* @param reason - The reason for stopping the retries.
|
||||||
|
*/
|
||||||
|
export type ExponentialBackoffStopRetriesFunction = (reason: unknown) => void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The parameters for the task function
|
||||||
|
*
|
||||||
|
* @param stopRetries - The function to call to stop the retries
|
||||||
|
*/
|
||||||
|
export type ExponentialBackoffCallbackParameters = {
|
||||||
|
stopRetries: ExponentialBackoffStopRetriesFunction;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exponential backoff is a technique used to retry a function after a delay.
|
* Exponential backoff is a technique used to retry a function after a delay.
|
||||||
*
|
*
|
||||||
@@ -243,48 +288,3 @@ export class ExponentialBackoff {
|
|||||||
throw new ExponentialBackoffMaxRetriesHitError(errors);
|
throw new ExponentialBackoffMaxRetriesHitError(errors);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ExponentialBackoffOptions = {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum delay between attempts in milliseconds
|
|
||||||
*/
|
|
||||||
maxDelay: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum number of attempts. Passing 0 will result in infinite attempts.
|
|
||||||
*/
|
|
||||||
maxAttempts: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The base delay between attempts in milliseconds
|
|
||||||
*/
|
|
||||||
baseDelay: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The growth rate of the delay
|
|
||||||
*/
|
|
||||||
growthRate: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The jitter of the delay as a percentage of growthRate. The jitter is subtracted from the delay.
|
|
||||||
*/
|
|
||||||
jitter: number;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The function to call to stop the retries.
|
|
||||||
* This mimics the AbortSignal.abort function by taking in a reason for stopping
|
|
||||||
*
|
|
||||||
* @param reason - The reason for stopping the retries.
|
|
||||||
*/
|
|
||||||
export type ExponentialBackoffStopRetriesFunction = (reason: unknown) => void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The parameters for the task function
|
|
||||||
*
|
|
||||||
* @param stopRetries - The function to call to stop the retries
|
|
||||||
*/
|
|
||||||
export type ExponentialBackoffCallbackParameters = {
|
|
||||||
stopRetries: ExponentialBackoffStopRetriesFunction;
|
|
||||||
};
|
|
||||||
|
|||||||
Reference in New Issue
Block a user