You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							947 B
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							947 B
						
					
					
				/** | 
						|
 * 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 namespace makeError { | 
						|
  /** | 
						|
   * Use with ES2015+ inheritance. | 
						|
   */ | 
						|
  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;
 | 
						|
 |