UNPKG

jok

Version:

Bundle of utility functions for code generation related to nodejs and graphql

81 lines (80 loc) 2.54 kB
"use strict"; 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;