12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * Create a new error constructor instance.
- */
- declare function makeError(name: string): makeError.Constructor<makeError.BaseError>;
- /**
- * Set the constructor prototype to `BaseError`.
- */
- declare function makeError<T extends Error>(super_: { new (...args: any[]): T }): makeError.Constructor<T & makeError.BaseError>;
- /**
- * Create a specialized error instance.
- */
- declare function makeError<T extends Error, K>(name: string | Function, super_: K): K & makeError.SpecializedConstructor<T>;
- declare module makeError {
- /**
- * Use with ES2015+ inheritance.
- */
- export class BaseError implements Error {
- message: string;
- name: string;
- stack: string;
- constructor(message?: string);
- }
- export interface Constructor <T> {
- new (message?: string): T;
- super_: any
- prototype: T
- }
- export interface SpecializedConstructor <T> {
- super_: any
- prototype: T
- }
- }
- export = makeError;
|