UNPKG

@mbc-cqrs-serverless/cli

Version:

a CLI to get started with MBC CQRS serverless framework

55 lines (54 loc) 1.93 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; const chalk_1 = __importDefault(require("chalk")); const MAX_PREFIX_LENGTH = 8; const badge = (text, bgColor, textColor = chalk_1.default.black) => { const wrappedText = ` ${text} `; const repeat = Math.max(0, MAX_PREFIX_LENGTH - wrappedText.length); return ' '.repeat(repeat) + bgColor(textColor(wrappedText)); }; const textIndent = (text, indentFirst = true, indent = MAX_PREFIX_LENGTH + 2) => { const parts = Array.isArray(text) ? text : [text]; return parts .map((part, i) => { if (i === 0 && !indentFirst) { return part; } return ' '.repeat(indent) + part; }) .join('\n'); }; exports.logger = { log(message) { console.log(textIndent(message)); }, title(title, message) { const prefix = badge(title, chalk_1.default.bgBlueBright); console.log(`\n${prefix} ${message}`); }, info(message) { console.log(`${' '.repeat(7)}${chalk_1.default.cyan('●')} ${message}`); }, success(message) { console.log(`\n${' '.repeat(7)}${chalk_1.default.green('✓')} ${chalk_1.default.green(message)}`); }, fatal(message) { const prefix = badge('Error', chalk_1.default.bgRed); if (message) { console.error(`\n${prefix} ${textIndent(message, false)}\n`); } process.exit(1); }, error(message) { const prefix = badge('Error', chalk_1.default.bgRed); console.error(`\n${prefix} ${textIndent(message, false)}\n`); }, warn(message) { const prefix = badge('Warn', chalk_1.default.bgYellow); console.warn(`\n${prefix} ${textIndent(message, false)}\n`); }, };