fent / fent/node-miniget

Export real `MinigetError` instead of generic `Error`

Open
#72 0 comments 0 reactions 0 assignees View on GitHub
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

Screenshot 2024-03-31 at 22 47 05

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.