46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // @ts-check
 | |
| 
 | |
| /**
 | |
|  * CommanderError class
 | |
|  * @class
 | |
|  */
 | |
| class CommanderError extends Error {
 | |
|   /**
 | |
|    * Constructs the CommanderError class
 | |
|    * @param {number} exitCode suggested exit code which could be used with process.exit
 | |
|    * @param {string} code an id string representing the error
 | |
|    * @param {string} message human-readable description of the error
 | |
|    * @constructor
 | |
|    */
 | |
|   constructor(exitCode, code, message) {
 | |
|     super(message);
 | |
|     // properly capture stack trace in Node.js
 | |
|     Error.captureStackTrace(this, this.constructor);
 | |
|     this.name = this.constructor.name;
 | |
|     this.code = code;
 | |
|     this.exitCode = exitCode;
 | |
|     this.nestedError = undefined;
 | |
|   }
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * InvalidArgumentError class
 | |
|  * @class
 | |
|  */
 | |
| class InvalidArgumentError extends CommanderError {
 | |
|   /**
 | |
|    * Constructs the InvalidArgumentError class
 | |
|    * @param {string} [message] explanation of why argument is invalid
 | |
|    * @constructor
 | |
|    */
 | |
|   constructor(message) {
 | |
|     super(1, 'commander.invalidArgument', message);
 | |
|     // properly capture stack trace in Node.js
 | |
|     Error.captureStackTrace(this, this.constructor);
 | |
|     this.name = this.constructor.name;
 | |
|   }
 | |
| }
 | |
| 
 | |
| exports.CommanderError = CommanderError;
 | |
| exports.InvalidArgumentError = InvalidArgumentError;
 |