smartlog-destination-local/dist/beautylog.log.helpers.js

108 lines
14 KiB
JavaScript

"use strict";
require("typings-global");
var plugins = require("./beautylog.plugins");
var beautylog_console_1 = require("./beautylog.console");
var localBl = {
dirPrefix: plugins.clc.bgXterm(39).xterm(231).bold(' DIR ') + ' ',
errorPrefix: ' Error: '.bgRed.white.bold + ' ',
infoPrefix: plugins.clc.bgXterm(198).xterm(231).bold(' INFO ') + ' ',
normalPrefix: ' Log: '.bgCyan.white.bold + ' ',
okPrefix: ' '.bgGreen + ' OK! '.bgBlack.green.bold + ' ',
successPrefix: ' Success: '.bgGreen.white.bold + ' ',
warnPrefix: ' '.bgYellow + ' Warn: '.bgBlack.yellow.bold + ' '
};
/**
*
* @param logText
* @param logType
* @returns {boolean}
*/
exports.log = function (logText, logType) {
if (logText === void 0) { logText = 'empty log'; }
if (logType === void 0) { logType = 'normal'; }
switch (plugins.smartenv.getEnv().runtimeEnv) {
case "node":
exports.logNode(logText, logType);
break;
case "browser":
logBrowser(logText, logType);
break;
default:
console.log("something is strange about the platform in which you try to use beautylog");
break;
}
};
exports.logNode = function (logText, logType) {
try {
switch (logType) {
case 'dir':
logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText);
break;
case 'error':
logText = localBl.errorPrefix + logText.red.bold;
break;
case 'info':
logText = localBl.infoPrefix + plugins.clc.xterm(198)(logText);
break;
case 'normal':
logText = localBl.normalPrefix + logText.cyan.bold;
break;
case 'ok':
logText = localBl.okPrefix + logText.bold;
break;
case 'success':
logText = localBl.successPrefix + logText.green.bold;
break;
case 'warn':
logText = localBl.warnPrefix + logText.bold;
break;
case 'log':
logText = localBl.normalPrefix + logText.blue.bold;
break;
default:
logText.blue.bold;
console.log(('unknown logType for "' + logText + '"').red.bold);
break;
}
beautylog_console_1.beautyConsole.log(logText);
return true;
}
catch (error) {
console.log(localBl.errorPrefix + 'You seem to have tried logging something strange'.red.bold + error);
return false;
}
};
var logBrowser = function (logText, logType) {
switch (logType) {
case 'dir':
logText = localBl.dirPrefix + plugins.clc.xterm(26)(logText);
break;
case 'error':
logText = localBl.errorPrefix + logText.red.bold;
break;
case 'info':
console.log('%c Info: %c ' + logText, 'background:#EC407A;color:#ffffff;', 'color:#EC407A;');
break;
case 'normal':
logText = localBl.normalPrefix + logText.cyan.bold;
break;
case 'ok':
console.log('%c OK: %c ' + logText, "background:#000000;color:#8BC34A;", "color:#000000;");
break;
case 'success':
console.log('%c Success: %c ' + logText, "background:#8BC34A;color:#ffffff;", "color:#8BC34A;");
break;
case 'warn':
console.log('%c Warn: %c ' + logText, "background:#000000;color:#FB8C00;", "color:#000000;");
break;
case 'log':
console.log('%c Log: %c ' + logText, "background:#42A5F5;color:#ffffff", "color:#42A5F5;");
break;
default:
console.log('unknown logType for "' + logText + '"');
break;
}
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJlYXV0eWxvZy5sb2cuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBRXhCLElBQVksT0FBTyxXQUFNLHFCQUFxQixDQUFDLENBQUE7QUFDL0Msa0NBQTRCLHFCQUFxQixDQUFDLENBQUE7QUFFbEQsSUFBSSxPQUFPLEdBQUc7SUFDVixTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHO0lBQ2pFLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRztJQUM5QyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHO0lBQ3BFLFlBQVksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRztJQUM5QyxRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRztJQUN4RCxhQUFhLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUc7SUFDcEQsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUc7Q0FDakUsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ1EsV0FBRyxHQUFHLFVBQVMsT0FBNEIsRUFBRSxPQUF5QjtJQUF2RCx1QkFBNEIsR0FBNUIscUJBQTRCO0lBQUUsdUJBQXlCLEdBQXpCLGtCQUF5QjtJQUM3RSxNQUFNLENBQUEsQ0FB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcblxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9iZWF1dHlsb2cucGx1Z2luc1wiO1xuaW1wb3J0IHtiZWF1dHlDb25zb2xlfSBmcm9tIFwiLi9iZWF1dHlsb2cuY29uc29sZVwiO1xuXG5sZXQgbG9jYWxCbCA9IHtcbiAgICBkaXJQcmVmaXg6IHBsdWdpbnMuY2xjLmJnWHRlcm0oMzkpLnh0ZXJtKDIzMSkuYm9sZCgnIERJUiAnKSArICcgJyxcbiAgICBlcnJvclByZWZpeDogJyBFcnJvcjogJy5iZ1JlZC53aGl0ZS5ib2xkICsgJyAnLFxuICAgIGluZm9QcmVmaXg6IHBsdWdpbnMuY2xjLmJnWHRlcm0oMTk4KS54dGVybSgyMzEpLmJvbGQoJyBJTkZPICcpICsgJyAnLFxuICAgIG5vcm1hbFByZWZpeDogJyBMb2c6ICcuYmdDeWFuLndoaXRlLmJvbGQgKyAnICcsXG4gICAgb2tQcmVmaXg6ICcgJy5iZ0dyZWVuICsgJyBPSyEgJy5iZ0JsYWNrLmdyZWVuLmJvbGQgKyAnICcsXG4gICAgc3VjY2Vzc1ByZWZpeDogJyBTdWNjZXNzOiAnLmJnR3JlZW4ud2hpdGUuYm9sZCArICcgJyxcbiAgICB3YXJuUHJlZml4OiAnICcuYmdZZWxsb3cgKyAnIFdhcm46ICcuYmdCbGFjay55ZWxsb3cuYm9sZCArICcgJ1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIGxvZ1RleHRcbiAqIEBwYXJhbSBsb2dUeXBlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGxldCBsb2cgPSBmdW5jdGlvbihsb2dUZXh0OnN0cmluZyA9ICdlbXB0eSBsb2cnLCBsb2dUeXBlOnN0cmluZyA9ICdub3JtYWwnKSB7XG4gICAgc3dpdGNoKHBsdWdpbnMuc21hcnRlbnYuZ2V0RW52KCkucnVudGltZUVudikge1xuICAgIGNhc2UgXCJub2RlXCI6XG4gICAgICAgIGxvZ05vZGUobG9nVGV4dCxsb2dUeXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImJyb3dzZXJcIjpcbiAgICAgICAgbG9nQnJvd3Nlcihsb2dUZXh0LGxvZ1R5cGUpO1xuICAgICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLmxvZyhcInNvbWV0aGluZyBpcyBzdHJhbmdlIGFib3V0IHRoZSBwbGF0Zm9ybSBpbiB3aGljaCB5b3UgdHJ5IHRvIHVzZSBiZWF1dHlsb2dcIik7XG4gICAgICAgIGJyZWFrO1xufVxufTtcblxuZXhwb3J0IGxldCBsb2dOb2RlID0gZnVuY3Rpb24obG9nVGV4dDpzdHJpbmcsbG9nVHlwZTpzdHJpbmcpe1xuICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAobG9nVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZGlyJzpcbiAgICAgICAgICAgICAgICBsb2dUZXh0ID0gbG9jYWxCbC5kaXJQcmVmaXggKyBwbHVnaW5zLmNsYy54dGVybSgyNikobG9nVGV4dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwuZXJyb3JQcmVmaXggKyBsb2dUZXh0LnJlZC5ib2xkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwuaW5mb1ByZWZpeCArIHBsdWdpbnMuY2xjLnh0ZXJtKDE5OCkobG9nVGV4dCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdub3JtYWwnOlxuICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLm5vcm1hbFByZWZpeCArIGxvZ1RleHQuY3lhbi5ib2xkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnb2snOlxuICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLm9rUHJlZml4ICsgbG9nVGV4dC5ib2xkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwuc3VjY2Vzc1ByZWZpeCArIGxvZ1RleHQuZ3JlZW4uYm9sZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLndhcm5QcmVmaXggKyBsb2dUZXh0LmJvbGQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdsb2cnOlxuICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLm5vcm1hbFByZWZpeCArIGxvZ1RleHQuYmx1ZS5ib2xkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBsb2dUZXh0LmJsdWUuYm9sZDtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygoJ3Vua25vd24gbG9nVHlwZSBmb3IgXCInICsgbG9nVGV4dCArICdcIicpLnJlZC5ib2xkKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBiZWF1dHlDb25zb2xlLmxvZyhsb2dUZXh0KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhsb2NhbEJsLmVycm9yUHJlZml4ICsgJ1lvdSBzZWVtIHRvIGhhdmUgdHJpZWQgbG9nZ2luZyBzb21ldGhpbmcgc3RyYW5nZScucmVkLmJvbGQgKyBlcnJvcik7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmxldCBsb2dCcm93c2VyID0gZnVuY3Rpb24obG9nVGV4dCxsb2dUeXBlKXtcbiAgICBzd2l0Y2ggKGxvZ1R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Rpcic6XG4gICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwuZGlyUHJlZml4ICsgcGx1Z2lucy5jbGMueHRlcm0oMjYpKGxvZ1RleHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgIGxvZ1RleHQgPSBsb2NhbEJsLmVycm9yUHJlZml4ICsgbG9nVGV4dC5yZWQuYm9sZDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCclYyBJbmZvOiAlYyAnICsgbG9nVGV4dCwnYmFja2dyb3VuZDojRUM0MDdBO2NvbG9yOiNmZmZmZmY7JywnY29sb3I6I0VDNDA3QTsnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ25vcm1hbCc6XG4gICAgICAgICAgICAgICAgbG9nVGV4dCA9IGxvY2FsQmwubm9ybWFsUHJlZml4ICsgbG9nVGV4dC5jeWFuLmJvbGQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdvayc6XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjIE9LOiAlYyAnICsgbG9nVGV4dCxcImJhY2tncm91bmQ6IzAwMDAwMDtjb2xvcjojOEJDMzRBO1wiLFwiY29sb3I6IzAwMDAwMDtcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnJWMgU3VjY2VzczogJWMgJyArIGxvZ1RleHQsXCJiYWNrZ3JvdW5kOiM4QkMzNEE7Y29sb3I6I2ZmZmZmZjtcIixcImNvbG9yOiM4QkMzNEE7XCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjIFdhcm46ICVjICcgKyBsb2dUZXh0LFwiYmFja2dyb3VuZDojMDAwMDAwO2NvbG9yOiNGQjhDMDA7XCIsXCJjb2xvcjojMDAwMDAwO1wiKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xvZyc6XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJyVjIExvZzogJWMgJyArIGxvZ1RleHQsXCJiYWNrZ3JvdW5kOiM0MkE1RjU7Y29sb3I6I2ZmZmZmZlwiLFwiY29sb3I6IzQyQTVGNTtcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd1bmtub3duIGxvZ1R5cGUgZm9yIFwiJyArIGxvZ1RleHQgKyAnXCInKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxufTsiXX0=