You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.1 KiB
118 lines
4.1 KiB
"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 figures_1 = __importDefault(require("figures"));
|
|
const logger_constants_1 = require("./logger.constants");
|
|
const chalk_1 = __importDefault(require("./chalk"));
|
|
class Logger {
|
|
constructor(options) {
|
|
this.options = options;
|
|
}
|
|
fail(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.fail, message);
|
|
console.error(message);
|
|
}
|
|
skip(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.skip, message);
|
|
console.info(message);
|
|
}
|
|
success(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.success, message);
|
|
console.log(message);
|
|
}
|
|
data(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.data, message);
|
|
console.info(message);
|
|
}
|
|
start(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.start, message);
|
|
console.log(message);
|
|
}
|
|
title(message) {
|
|
message = this.parseMessage(logger_constants_1.logLevels.title, message);
|
|
console.info(message);
|
|
}
|
|
parseMessage(level, message) {
|
|
let multiLineMessage;
|
|
try {
|
|
multiLineMessage = message.split('\n');
|
|
}
|
|
catch {
|
|
multiLineMessage = [message];
|
|
}
|
|
multiLineMessage = multiLineMessage.map((msg) => {
|
|
return this.logColoring({
|
|
level,
|
|
message: msg
|
|
});
|
|
});
|
|
message = multiLineMessage.join('\n');
|
|
return message;
|
|
}
|
|
logColoring({ level, message }) {
|
|
var _a, _b, _c, _d, _e, _f;
|
|
let icon;
|
|
let coloring = (input) => {
|
|
return input;
|
|
};
|
|
switch (level) {
|
|
case logger_constants_1.logLevels.fail:
|
|
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.useIcons) {
|
|
coloring = chalk_1.default.red;
|
|
icon = figures_1.default.main.cross;
|
|
}
|
|
else {
|
|
icon = '[FAILED]';
|
|
}
|
|
break;
|
|
case logger_constants_1.logLevels.skip:
|
|
if ((_b = this.options) === null || _b === void 0 ? void 0 : _b.useIcons) {
|
|
coloring = chalk_1.default.yellow;
|
|
icon = figures_1.default.main.arrowDown;
|
|
}
|
|
else {
|
|
icon = '[SKIPPED]';
|
|
}
|
|
break;
|
|
case logger_constants_1.logLevels.success:
|
|
if ((_c = this.options) === null || _c === void 0 ? void 0 : _c.useIcons) {
|
|
coloring = chalk_1.default.green;
|
|
icon = figures_1.default.main.tick;
|
|
}
|
|
else {
|
|
icon = '[SUCCESS]';
|
|
}
|
|
break;
|
|
case logger_constants_1.logLevels.data:
|
|
if ((_d = this.options) === null || _d === void 0 ? void 0 : _d.useIcons) {
|
|
icon = figures_1.default.main.arrowRight;
|
|
}
|
|
else {
|
|
icon = '[DATA]';
|
|
}
|
|
break;
|
|
case logger_constants_1.logLevels.start:
|
|
if ((_e = this.options) === null || _e === void 0 ? void 0 : _e.useIcons) {
|
|
icon = figures_1.default.main.pointer;
|
|
}
|
|
else {
|
|
icon = '[STARTED]';
|
|
}
|
|
break;
|
|
case logger_constants_1.logLevels.title:
|
|
if ((_f = this.options) === null || _f === void 0 ? void 0 : _f.useIcons) {
|
|
icon = figures_1.default.main.checkboxOn;
|
|
}
|
|
else {
|
|
icon = '[TITLE]';
|
|
}
|
|
break;
|
|
}
|
|
return coloring(`${icon} ${message}`);
|
|
}
|
|
}
|
|
exports.Logger = Logger;
|
|
//# sourceMappingURL=logger.js.map
|