omelot-cli
Version:
omelot command line client for managing omelot
72 lines • 4.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const consts_1 = require("./consts");
const util = require("./util");
require('cliff');
const fs = require("fs");
const util_1 = require("util");
class AgentCommand {
constructor() {
this.commands = {};
this.Context = 'all';
this.init();
}
init() {
let self = this;
fs.readdirSync(__dirname + '/commands').forEach(function (filename) {
if (/\.js$/.test(filename)) {
let name = filename.substr(0, filename.lastIndexOf('.'));
let _command = require('./commands/' + name).default;
if (util_1.isFunction(_command)) {
self.commands[name] = _command;
}
}
});
}
handle(argv, msg, rl, client) {
let self = this;
let argvs = util.argsFilter(argv);
let comd = argvs[0];
let comd1 = argvs[1] || '';
comd1 = comd1.trim();
let m = this.commands[comd];
if (m) {
let _command = m();
_command.handle(self, comd1, argv, msg, rl, client);
}
else {
util.errorHandle(argv, rl);
}
}
quit(rl) {
rl.emit('close');
}
kill(rl, client) {
rl.question(consts_1.consts.KILL_QUESTION_INFO, function (answer) {
if (answer === 'yes') {
client.request(consts_1.consts.CONSOLE_MODULE, {
signal: 'kill'
}, function (err, data) {
if (err)
console.log(err);
rl.prompt();
});
}
else {
rl.prompt();
}
});
}
getContext() {
return this.Context;
}
setContext(context) {
this.Context = context;
}
}
exports.AgentCommand = AgentCommand;
function default_1() {
return new AgentCommand();
}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUNBQWtDO0FBQ2xDLCtCQUErQjtBQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDakIseUJBQXlCO0FBQ3pCLCtCQUFrQztBQVFsQztJQUlJO1FBSEEsYUFBUSxHQUFvQyxFQUFFLENBQUM7UUFDL0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdaLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksSUFBSSxHQUFpQixJQUFJLENBQUM7UUFDOUIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsUUFBUTtZQUM5RCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3JELElBQUksaUJBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7aUJBQ2xDO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWSxFQUFFLEdBQVEsRUFBRSxFQUFZLEVBQUUsTUFBbUI7UUFDNUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFM0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxFQUFFO1lBQ0gsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsRUFBWTtRQUNiLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksQ0FBQyxFQUFZLEVBQUUsTUFBbUI7UUFDbEMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFNLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxNQUFNO1lBQ25ELElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtnQkFDbEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFNLENBQUMsY0FBYyxFQUFFO29CQUNsQyxNQUFNLEVBQUUsTUFBTTtpQkFDakIsRUFBRSxVQUFVLEdBQVUsRUFBRSxJQUFTO29CQUMxQixJQUFJLEdBQUc7d0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixDQUFDLENBQUMsQ0FBQzthQUNWO2lCQUFNO2dCQUNILEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBOURELG9DQThEQztBQUdEO0lBQ0ksT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0FBQzlCLENBQUM7QUFGRCw0QkFFQyJ9