jok
Version:
Bundle of utility functions for code generation related to nodejs and graphql
81 lines (80 loc) • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.param = exports.code = exports.cmd = exports.prompt = exports.wait = exports.time = exports.success = exports.error = exports.info = void 0;
var ansi_escapes_1 = require("ansi-escapes");
var chalk_1 = require("chalk");
var ora_1 = require("ora");
var ms = require('ms');
function info(msg) {
console.log(chalk_1.default.gray('>') + " " + msg);
}
exports.info = info;
function error(msg) {
var r = msg;
if (msg instanceof Error) {
r = msg.message;
}
console.error(chalk_1.default.red('> Error!') + " " + r);
}
exports.error = error;
function success(msg) {
console.log(chalk_1.default.green('> Success!') + " " + msg);
}
exports.success = success;
function time() {
var start = new Date();
return chalk_1.default.gray("[" + ms(new Date() - start) + "]");
}
exports.time = time;
function wait(msg) {
var spinner = (0, ora_1.default)(chalk_1.default.green(msg));
spinner.color = 'green';
spinner.start();
return function () {
spinner.stop();
process.stdout.write(ansi_escapes_1.default.eraseLine);
};
}
exports.wait = wait;
function prompt(opts) {
return new Promise(function (resolve, reject) {
opts.forEach(function (val, i) {
var text = val[1];
console.log(chalk_1.default.gray('>') + " [" + chalk_1.default.bold(i + 1) + "] " + text);
});
var stdin = process.stdin;
var ondata = function (v) {
var s = v.toString();
function cleanup() {
stdin.setRawMode(false);
process.stdin.removeListener('data', ondata);
}
if (s === '\u0003') {
cleanup();
reject(new Error('Aborted'));
return;
}
var n = Number(s);
if (opts[n - 1]) {
cleanup();
resolve(opts[n - 1][0]);
}
};
stdin.setRawMode(true);
process.stdin.resume();
process.stdin.on('data', ondata);
});
}
exports.prompt = prompt;
function cmd(x) {
return chalk_1.default.bold(chalk_1.default.cyan(x));
}
exports.cmd = cmd;
function code(x) {
return "" + chalk_1.default.gray('`') + chalk_1.default.bold(x) + chalk_1.default.gray('`');
}
exports.code = code;
function param(x) {
return chalk_1.default.bold("" + chalk_1.default.gray('{') + chalk_1.default.bold(x) + chalk_1.default.gray('}'));
}
exports.param = param;