index.d.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. declare module 'retry-request' {
  2. import * as request from 'request';
  3. import * as teenyRequest from 'teeny-request';
  4. type teenyRequestFunction = typeof teenyRequest extends Function
  5. ? typeof teenyRequest
  6. : never;
  7. namespace retryRequest {
  8. /**
  9. * Set the defaults for `retryRequest`.
  10. */
  11. const defaults: retryRequest.Options;
  12. /**
  13. * Determines the next retry based on the provided configuration.
  14. */
  15. function getNextRetryDelay(config: Options): number;
  16. interface Options {
  17. objectMode?: boolean;
  18. request: typeof request | teenyRequestFunction;
  19. retries?: number;
  20. noResponseRetries?: number;
  21. currentRetryAttempt?: number;
  22. maxRetryDelay?: number;
  23. retryDelayMultiplier?: number;
  24. totalTimeout?: number;
  25. shouldRetryFn?: (response: request.RequestResponse) => boolean;
  26. }
  27. }
  28. function retryRequest(
  29. requestOpts: request.Options,
  30. opts: retryRequest.Options,
  31. callback?: request.RequestCallback
  32. ): {abort: () => void};
  33. function retryRequest(
  34. requestOpts: request.Options,
  35. callback?: request.RequestCallback
  36. ): {abort: () => void};
  37. export = retryRequest;
  38. }