UNPKG

@winfe/vmi

Version:
92 lines (68 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = title; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } function _chalk() { const data = _interopRequireDefault(require("chalk")); _chalk = function _chalk() { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); } function textColor(severity) { switch (severity.toLowerCase()) { case 'success': return 'green'; case 'info': return 'blue'; case 'note': return 'white'; case 'warning': return 'yellow'; case 'error': return 'red'; default: return 'red'; } } function bgColor(severity) { const color = textColor(severity); return 'bg' + capitalizeFirstLetter(color); } function formatTitle(severity, message) { return _chalk().default[bgColor(severity)].black('', message, ''); } function formatText(severity, message) { return _chalk().default[textColor(severity)](message); } function title(severity, title, subtitle) { const date = new Date(); const dateString = _chalk().default.grey(date.toLocaleTimeString()); const titleFormatted = formatTitle(severity, title); const subTitleFormatted = formatText(severity, subtitle); const message = `${titleFormatted} ${subTitleFormatted}`; // In test environment we don't include timestamp if (process.env.NODE_ENV === 'test') { console.log(message); console.log(); return; } // // Make timestamp appear at the end of the line // let logSpace = // // process.stdout.columns - stringWidth(message) - stringWidth(dateString); // if (logSpace <= 0) { // logSpace = 10; // } console.log(`${message}${dateString}`); console.log(); }