UNPKG

omelot-cli

Version:

omelot command line client for managing omelot

122 lines 9.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const readline = require("readline"); const omelot_admin_1 = require("omelot-admin"); const command = require("./command"); const consts_1 = require("./consts"); const util = require("./util"); const optimist_1 = require("optimist"); let username = optimist_1.argv['u'] = optimist_1.argv['u'] || 'monitor'; let password = optimist_1.argv['p'] = optimist_1.argv['p'] || 'monitor'; let host = optimist_1.argv['h'] = optimist_1.argv['h'] || 'localhost'; let port = optimist_1.argv['P'] = optimist_1.argv['P'] || 3005; let context = 'all'; let client = null; function doConnect() { client = new omelot_admin_1.AdminClient({ username: username, password: password, md5: true }); let id = 'omelot_cli_' + Date.now(); client.connect(id, host, port, function (err) { if (err) { util.log('\n' + err + '\n'); process.exit(0); } else { let ASCII_LOGO = consts_1.consts.ASCII_LOGO; for (let i = 0; i < ASCII_LOGO.length; i++) { util.log(ASCII_LOGO[i]); } let WELCOME_INFO = consts_1.consts.WELCOME_INFO; for (let i = 0, l = WELCOME_INFO.length; i < l; i++) { util.log(WELCOME_INFO[i]); } startCli(); } }); client.on('close', function () { client.socket.disconnect(); util.log('\ndisconnect from master'); process.exit(0); }); } exports.default = doConnect; function startCli() { let rl = readline.createInterface(process.stdin, process.stdout, completer); let PROMPT = username + consts_1.consts.PROMPT + context + '>'; rl.setPrompt(PROMPT); rl.prompt(); let rootCommand = command.default(); rl.on('line', function (line) { let key = line.trim(); if (!key) { util.help(); rl.prompt(); return; } switch (key) { case 'help': util.help(); rl.prompt(); break; case '?': util.help(); rl.prompt(); break; case 'quit': rootCommand.quit(rl); break; case 'kill': rootCommand.kill(rl, client); break; default: rootCommand.handle(key, { user: username }, rl, client); break; } }).on('close', function () { util.log('bye ' + username); process.exit(0); }); } function completer(line) { line = line.trim(); let completions = consts_1.consts.COMANDS_COMPLETE; let hits = []; // commands tab for infos if (consts_1.consts.COMPLETE_TWO[line]) { if (line === 'show') { for (let k in consts_1.consts.SHOW_COMMAND) { hits.push(k); } } else if (line === 'help') { for (let k in consts_1.consts.COMANDS_COMPLETE_INFO) { hits.push(k); } } else if (line === 'enable' || line === 'disable') { hits.push('app'); hits.push('module'); } else if (line === 'dump') { hits.push('memory'); hits.push('cpu'); } } hits = util.tabComplete(hits, line, consts_1.consts.COMANDS_COMPLETE_INFO, 'complete'); hits = util.tabComplete(hits, line, consts_1.consts.COMANDS_COMPLETE_INFO, 'help'); hits = util.tabComplete(hits, line, consts_1.consts.SHOW_COMMAND, 'show'); hits = util.tabComplete(hits, line, null, 'enable'); hits = util.tabComplete(hits, line, null, 'disable'); hits = util.tabComplete(hits, line, null, 'disable'); hits = util.tabComplete(hits, line, null, 'dump'); hits = util.tabComplete(hits, line, null, 'use'); hits = util.tabComplete(hits, line, null, 'stop'); // show all completions if none found return [hits.length ? hits : completions, line]; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUFxQztBQUNyQywrQ0FBMkM7QUFDM0MscUNBQXFDO0FBQ3JDLHFDQUFrQztBQUNsQywrQkFBK0I7QUFDL0IsdUNBQWdDO0FBRWhDLElBQUksUUFBUSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ2xELElBQUksUUFBUSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ2xELElBQUksSUFBSSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDO0FBQ2hELElBQUksSUFBSSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQ3pDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNwQixJQUFJLE1BQU0sR0FBZ0IsSUFBSSxDQUFDO0FBRy9CO0lBQ0UsTUFBTSxHQUFHLElBQUksMEJBQVcsQ0FBQztRQUN2QixRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUNILElBQUksRUFBRSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEdBQVU7UUFDakQsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLElB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QUMsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWxELHFDQUFxQztJQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQyJ9