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.
		
		
		
		
			
				
					48 lines
				
				947 B
			
		
		
			
		
	
	
					48 lines
				
				947 B
			| 
								 
											4 years ago
										 
									 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 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;
							 |