UNPKG

2.23 kBTypeScriptView Raw
1/// <reference types="node" />
2import { RequestOptions } from 'http';
3import { PassThrough, Transform } from 'stream';
4declare namespace Miniget {
5 interface Options extends RequestOptions {
6 maxRedirects?: number;
7 maxRetries?: number;
8 maxReconnects?: number;
9 backoff?: {
10 inc: number;
11 max: number;
12 };
13 highWaterMark?: number;
14 transform?: (parsedUrl: RequestOptions) => RequestOptions;
15 acceptEncoding?: {
16 [key: string]: () => Transform;
17 };
18 }
19 interface DefaultOptions extends Options {
20 maxRedirects: number;
21 maxRetries: number;
22 maxReconnects: number;
23 backoff: {
24 inc: number;
25 max: number;
26 };
27 }
28 type defaultOptions = Miniget.Options;
29 type MinigetError = Error;
30 interface Stream extends PassThrough {
31 abort: (err?: Error) => void;
32 aborted: boolean;
33 destroy: (err?: Error) => this;
34 destroyed: boolean;
35 text: () => Promise<string>;
36 on(event: 'reconnect', listener: (attempt: number, err?: Miniget.MinigetError) => void): this;
37 on(event: 'retry', listener: (attempt: number, err?: Miniget.MinigetError) => void): this;
38 on(event: 'redirect', listener: (url: string) => void): this;
39 on(event: string | symbol, listener: (...args: any) => void): this;
40 }
41}
42declare function Miniget(url: string | URL, options?: Miniget.Options): Miniget.Stream;
43declare namespace Miniget {
44 var defaultOptions: {
45 maxRedirects: number;
46 maxRetries: number;
47 maxReconnects: number;
48 backoff: {
49 inc: number;
50 max: number;
51 };
52 };
53 var MinigetError: {
54 new (message: string, statusCode?: number | undefined): {
55 statusCode?: number | undefined;
56 name: string;
57 message: string;
58 stack?: string | undefined;
59 };
60 captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
61 prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
62 stackTraceLimit: number;
63 };
64}
65export = Miniget;
66
\No newline at end of file