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.
45 lines
1.2 KiB
45 lines
1.2 KiB
// @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;
|
|
|