39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * CommanderError 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(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 InvalidArgumentError extends CommanderError {
 | 
						|
  /**
 | 
						|
   * Constructs the InvalidArgumentError class
 | 
						|
   * @param {string} [message] explanation of why argument is invalid
 | 
						|
   */
 | 
						|
  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;
 |