UNPKG

pinus-cli

Version:

pinus command line client for managing pinus

122 lines 9.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const readline = require("readline"); const pinus_admin_1 = require("pinus-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 pinus_admin_1.AdminClient({ username: username, password: password, md5: true }); let id = 'pinus_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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUFxQztBQUNyQyw2Q0FBMEM7QUFDMUMscUNBQXFDO0FBQ3JDLHFDQUFrQztBQUNsQywrQkFBK0I7QUFDL0IsdUNBQWdDO0FBRWhDLElBQUksUUFBUSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ2xELElBQUksUUFBUSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ2xELElBQUksSUFBSSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDO0FBQ2hELElBQUksSUFBSSxHQUFHLGVBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQ3pDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNwQixJQUFJLE1BQU0sR0FBZ0IsSUFBSSxDQUFDO0FBRy9CLFNBQXdCLFNBQVM7SUFDL0IsTUFBTSxHQUFHLElBQUkseUJBQVcsQ0FBQztRQUN2QixRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtRQUNsQixHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUNILElBQUksRUFBRSxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEdBQVU7UUFDakQsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDNUIs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MUUsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pFLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWxELHFDQUFxQztJQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQyJ9