dev-toolkit
Version:
Universal Development Toolkit for React Veterans
48 lines (37 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _chalk = _interopRequireDefault(require("chalk"));
var _stringLength = _interopRequireDefault(require("string-length"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = function _default(_ref) {
var message = _ref.message,
type = _ref.type,
title = _ref.title,
useSeparator = _ref.useSeparator;
var hasLinebreakAtEnd = message.lastIndexOf('\n') === message.length - 1;
var outputMessage = hasLinebreakAtEnd ? message.substring(0, message.lastIndexOf('\n')) : message;
switch (type) {
case 'success':
outputMessage = _chalk.default.green(outputMessage);
break;
case 'warning':
outputMessage = _chalk.default.yellow("\u26A0\uFE0F ".concat(outputMessage));
break;
default:
if (title) {
outputMessage = "".concat(_chalk.default.magenta("\n[ ".concat(title, " ]")), " ").concat(_chalk.default.grey("- ".concat(outputMessage)));
} else {
outputMessage = _chalk.default.grey(outputMessage);
}
}
if (useSeparator) {
console.log(outputMessage);
console.log(_chalk.default.grey('·'.repeat((0, _stringLength.default)(outputMessage) + (hasLinebreakAtEnd ? 1 : 0))), hasLinebreakAtEnd ? '\n' : '');
} else {
console.log(outputMessage, hasLinebreakAtEnd ? '\n' : '');
}
};
exports.default = _default;