@winfe/vmi
Version:
92 lines (68 loc) • 1.99 kB
JavaScript
;
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();
}