fetcher.d.ts 944 B

1234567891011121314151617181920212223
  1. import type { MakeFetchHappenOptions } from 'make-fetch-happen';
  2. type DownloadFileHandler<T> = (file: string) => Promise<T>;
  3. export interface Fetcher {
  4. downloadFile<T>(url: string, maxLength: number, handler: DownloadFileHandler<T>): Promise<T>;
  5. downloadBytes(url: string, maxLength: number): Promise<Buffer>;
  6. }
  7. export declare abstract class BaseFetcher implements Fetcher {
  8. abstract fetch(url: string): Promise<NodeJS.ReadableStream>;
  9. downloadFile<T>(url: string, maxLength: number, handler: DownloadFileHandler<T>): Promise<T>;
  10. downloadBytes(url: string, maxLength: number): Promise<Buffer>;
  11. }
  12. type Retry = MakeFetchHappenOptions['retry'];
  13. interface FetcherOptions {
  14. timeout?: number;
  15. retry?: Retry;
  16. }
  17. export declare class DefaultFetcher extends BaseFetcher {
  18. private timeout?;
  19. private retry?;
  20. constructor(options?: FetcherOptions);
  21. fetch(url: string): Promise<NodeJS.ReadableStream>;
  22. }
  23. export {};