Export real `MinigetError` instead of generic `Error`
- Dominant language
- TypeScript
- Stars
- 57
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
There are 2 (sort of) exports of `MinigetError`
https://github.com/fent/node-miniget/blob/8650942510e94fa09b28b3572e2dfbaa850a28e6/src/index.ts#L38
and
https://github.com/fent/node-miniget/blob/8650942510e94fa09b28b3572e2dfbaa850a28e6/src/index.ts#L53
This is the generated d.ts
```ts
///
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;
/* 👉 first MinigetError */
type MinigetError = Error;
interface Stream extends PassThrough {
abort: (err?: Error) => void;
aborted: boolean;
destroy: (err?: Error) => this;
destroyed: boolean;
text: () => Promise;
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;
};
};
/* 👉 second MinigetError */
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;
```
When I import `MinigetError` from `miniget` I get the first type which is the generic error without the status code
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.