65 lines
2.2 KiB
TypeScript
65 lines
2.2 KiB
TypeScript
/// <reference types="node" />
|
|
import { RequestOptions } from 'http';
|
|
import { PassThrough, Transform } from 'stream';
|
|
declare namespace Miniget {
|
|
interface Options extends RequestOptions {
|
|
maxRedirects?: number;
|
|
maxRetries?: number;
|
|
maxReconnects?: number;
|
|
backoff?: {
|
|
inc: number;
|
|
max: number;
|
|
};
|
|
highWaterMark?: number;
|
|
transform?: (parsedUrl: RequestOptions) => RequestOptions;
|
|
acceptEncoding?: {
|
|
[key: string]: () => Transform;
|
|
};
|
|
}
|
|
interface DefaultOptions extends Options {
|
|
maxRedirects: number;
|
|
maxRetries: number;
|
|
maxReconnects: number;
|
|
backoff: {
|
|
inc: number;
|
|
max: number;
|
|
};
|
|
}
|
|
type defaultOptions = Miniget.Options;
|
|
type MinigetError = Error;
|
|
interface Stream extends PassThrough {
|
|
abort: (err?: Error) => void;
|
|
aborted: boolean;
|
|
destroy: (err?: Error) => void;
|
|
destroyed: boolean;
|
|
text: () => Promise<string>;
|
|
on(event: 'reconnect', listener: (attempt: number, err?: Miniget.MinigetError) => void): this;
|
|
on(event: 'retry', listener: (attempt: number, err?: Miniget.MinigetError) => void): this;
|
|
on(event: 'redirect', listener: (url: string) => void): this;
|
|
on(event: string | symbol, listener: (...args: any) => void): this;
|
|
}
|
|
}
|
|
declare function Miniget(url: string | URL, options?: Miniget.Options): Miniget.Stream;
|
|
declare namespace Miniget {
|
|
var defaultOptions: {
|
|
maxRedirects: number;
|
|
maxRetries: number;
|
|
maxReconnects: number;
|
|
backoff: {
|
|
inc: number;
|
|
max: number;
|
|
};
|
|
};
|
|
var MinigetError: {
|
|
new (message: string, statusCode?: number | undefined): {
|
|
statusCode?: number | undefined;
|
|
name: string;
|
|
message: string;
|
|
stack?: string | undefined;
|
|
};
|
|
captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
|
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
stackTraceLimit: number;
|
|
};
|
|
}
|
|
export = Miniget;
|