UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

176 lines (168 loc) 5.8 kB
// 'use strict'; // var _ = require('lodash'); // var clc = require('cli-color'); // var readline = require('readline'); // var endpoints = require('../../endpoints'); // var logger = require('../../logger'); // var utils = require('../../utils'); // var readlineUtil = require('../../readLineUtils'); // var outputStream = process.stdout; // var inputStream = process.stdin; // module.exports = function(options) { // var state = 0; // var segment = ''; // const cacheAPI = endpoints(options).cache(); // return new Promise(function(resolve) { // var prompt = clc.cyanBright('cache > '); // function completer(line) { // var completions = 'list use set get'.split(' '); // var hits = completions.filter(function(c) { // c.startsWith(line); // }); // // show all completions if none found // return [hits.length ? hits : completions, line]; // } // // function completer(line) { // // var completions = ['use ', 'GET ']; // // var lineArr = line.trim().split(' '); // // if (lineArr[(lineArr.length) - 1] !== '') { // // switch (lineArr[(lineArr.length) - 1]) { // // case 'use': // // // completions[0] = completions[0] + 'segment '; // // completions.pop(); // // completions.push('segment '); // // break; // // default: // // completions = []; // // } // // var hits = completions.filter((c) => line.startsWith(c) || line.endsWith(c)); // // return [hits, line]; // // } // // return [completions, line]; // // } // var rl = readline.createInterface({ // input: inputStream, // output: outputStream, // prompt: prompt, // completer: completer // }); // rl.prompt(); // rl.on('line', function(line) { // var originalLine = line.trim(); // var lineArr = readlineUtil.splitLineIntoArray(originalLine); // return new Promise(function(resolve) { // switch (true) { // case /^exit/i.test(originalLine): // case /\\q/i.test(originalLine): // rl.close(); // break; // case /^list/i.test(originalLine): // return cacheAPI // .listSegments(options.project) // .then(function(data) { // _.forEach(data, function(segment, index) { // logger.info( // index + // 1 + // '. ' + // clc.bold(segment.segment_name) + // ' ( ' + // segment.id + // ' )' // ); // }); // return resolve(); // }) // .catch(function(err) { // logger.debug('There was an error processing the request.' + err); // logger.info(clc.redBright("couldn't fetch segment details")); // return resolve(); // }); // case /^use/i.test(originalLine): // var segmentID = lineArr[lineArr.length - 1]; // if ((lineArr.length = 2 && /^[0-9]*$/gm.test(segmentID))) { // segment = segmentID; // state = 1; // rl.setPrompt(clc.cyanBright('cache:' + segment + ' > ')); // return resolve(); // } else { // readlineUtil.displayHelp('Segment ID not valid.'); // return resolve(); // } // case /^get/i.test(line): // if (state === 0) { // utils.logWarning('Trying to get data from default segment', 'info'); // } // if (lineArr.length === 2) { // var cachekey = lineArr[lineArr.length - 1]; // return cacheAPI // .get(options.project, segment, cachekey) // .then(function(data) { // data.cache_value // ? logger.info('"' + clc.greenBright(data.cache_value) + '"') // : logger.info('(' + clc.redBright('nil') + ')'); // return resolve(); // }) // .catch(function(err) { // logger.error( // 'There was an error processing the request.' + err // ); // logger.info('(' + clc.redBright('error') + ')'); // return resolve(); // }); // } else { // readlineUtil.displayHelp('Key Name not valid.'); // return resolve(); // } // case /^set/i.test(line): // if (state === 0) { // utils.logWarning('Trying to put data to default segment', 'info'); // } // if (lineArr.length === 3) { // var data = {}; // data.key = lineArr[lineArr.length - 2]; // data.value = lineArr[lineArr.length - 1]; // return cacheAPI // .put(options.project, segment, data) // .then(function(data) { // if (data) { // logger.info(clc.greenBright('OK')); // } // return resolve(); // }) // .catch(function(err) { // logger.debug( // 'There was an error processing the request.' + err // ); // logger.info('(' + clc.redBright('error') + ')'); // return resolve(); // }); // } else { // readlineUtil.displayHelp('Key or Value not valid.'); // return resolve(); // } // case /^help/i.test(originalLine): // case /^\\h/i.test(originalLine): // utils.logBullet( // 'Available commands :\t ' + clc.bold('list, use, get, set, exit') // ); // return resolve(); // default: // logger.info( // `We might have heard '${clc.bold( // line.trim() // )}'\n which is an unknown command!! Use '${clc.bold( // 'help' // )}' for the list of commands you can use.` // ); // return resolve(); // } // }).then(function() { // rl.prompt(); // }); // }).on('close', function() { // logger.info('Have a great day!'); // return resolve(); // }); // }); // };