@xgheaven/nos-cli
Version:
A Cli tools to manage NOS
34 lines (33 loc) • 1.3 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var chalk_1 = __importDefault(require("chalk"));
var yargs_1 = __importDefault(require("yargs"));
var Command_1 = require("./Command");
var innerYargs = yargs_1.default.help();
var originCommand = yargs_1.default.command;
innerYargs.command = yargs_1.default.command = function MonkeyPatchCommand() {
var argu = [];
for (var _i = 0; _i < arguments.length; _i++) {
argu[_i] = arguments[_i];
}
if (argu[0] instanceof Command_1.Command) {
var cmd_1 = argu[0];
var commandModule = {
command: cmd_1.command,
describe: cmd_1.describe,
aliases: cmd_1.aliases,
builder: cmd_1.builder.bind(cmd_1),
handler: function (args) {
cmd_1.args = args;
Promise.resolve(cmd_1.handler.call(cmd_1, args)).catch(function (e) {
console.error('❌ ', chalk_1.default.red(e.toString()));
});
},
};
return originCommand.call(this, commandModule);
}
return originCommand.apply(this, argu);
}.bind(innerYargs);