index.d.ts 1.1 KB

123456789101112131415161718192021222324252627282930
  1. export declare class TimeoutError extends Error {
  2. previous: Error | undefined;
  3. constructor(message: string, previousError?: Error);
  4. }
  5. export type MatchOption = string | RegExp | Error | Function;
  6. export interface Options {
  7. max: number;
  8. timeout?: number | undefined;
  9. match?: MatchOption[] | MatchOption | undefined;
  10. backoffBase?: number | undefined;
  11. backoffExponent?: number | undefined;
  12. report?: ((message: string, obj: CoercedOptions, err?: any) => void) | undefined;
  13. name?: string | undefined;
  14. }
  15. type CoercedOptions = {
  16. $current: number;
  17. max: number;
  18. timeout?: number | undefined;
  19. match: MatchOption[];
  20. backoffBase: number;
  21. backoffExponent: number;
  22. report?: ((message: string, obj: CoercedOptions, err?: any) => void) | undefined;
  23. name?: string | undefined;
  24. };
  25. type MaybePromise<T> = PromiseLike<T> | T;
  26. type RetryCallback<T> = ({ current }: {
  27. current: CoercedOptions['$current'];
  28. }) => MaybePromise<T>;
  29. export declare function retryAsPromised<T>(callback: RetryCallback<T>, optionsInput: Options | number | CoercedOptions): Promise<T>;
  30. export default retryAsPromised;