| // @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; | |