|
-
- declare function makeError(
- name: string
- ): makeError.Constructor<makeError.BaseError>;
-
-
- declare function makeError<T extends Error>(super_: {
- new (...args: any[]): T;
- }): makeError.Constructor<T & makeError.BaseError>;
-
-
- declare function makeError<T extends Error, K>(
- name: string | Function,
- super_: K
- ): K & makeError.SpecializedConstructor<T>;
-
- declare namespace makeError {
-
-
- export class BaseError extends 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;
|