limgen
Version:
Infrastructure as Code generator
45 lines (44 loc) • 1.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.bold = exports.colorize = exports.ColorCodes = exports.spinner = exports.spinnerStyle = exports.parseProcessArgs = void 0;
const ora_1 = __importDefault(require("ora"));
const parseProcessArgs = (args = process.argv.slice(2)) => {
const result = {};
for (let i = 0; i < args.length; i++) {
let [key, value] = args[i].split('=');
if (!value && i + 1 < args.length && !args[i + 1].startsWith('-')) {
value = args[++i];
}
if (key) {
result[key.replace(/^--?/, '')] = value !== undefined ? value : 'true';
}
}
return result;
};
exports.parseProcessArgs = parseProcessArgs;
exports.spinnerStyle = {
color: 'magenta',
};
const spinner = (text, style = exports.spinnerStyle) => {
return (0, ora_1.default)(Object.assign({ text }, style));
};
exports.spinner = spinner;
exports.ColorCodes = {
black: 30, red: 31, green: 32, yellow: 33, blue: 34, magenta: 35, cyan: 36, white: 37,
bgBlack: 40, bgRed: 41, bgGreen: 42, bgYellow: 43, bgBlue: 44, bgMagenta: 45, bgCyan: 46, bgWhite: 47
};
const colorize = (color, text) => {
const code = exports.ColorCodes[color];
if (code === undefined) {
throw new Error(`Unknown color: ${color}`);
}
return `\x1b[${code}m${text}\x1b[0m`;
};
exports.colorize = colorize;
const bold = (text) => {
return `\x1b[1m${text}\x1b[0m`;
};
exports.bold = bold;