shaman-website-compiler
Version:
Compile raw HTML, CSS and Javascript into the smallest possible, SEO friendly website.
71 lines • 2.6 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogLevels = exports.Logger = void 0;
var inversify_1 = require("inversify");
var Logger = /** @class */ (function () {
function Logger(level) {
var _this = this;
if (level === void 0) { level = "info"; }
this.console = console;
this.log = function (message, logLevel) {
if (logLevel === void 0) { logLevel = 3; }
if (logLevel > _this.level)
return;
var color = LogLevelColors[logLevel];
var level = LogLevelStrings[logLevel];
var prefix = "".concat(_this.timestamp, " ").concat(level, ":");
_this.console.log("".concat(color, "%s\u001B[0m %s"), prefix, message);
};
if (exports.LogLevels[level] === undefined)
this.level = exports.LogLevels.info;
else
this.level = exports.LogLevels[level];
}
Object.defineProperty(Logger.prototype, "timestamp", {
get: function () {
var date = new Date();
var offset = date.getTimezoneOffset() * 60000;
var rslt = new Date(date.getTime() - offset).toISOString();
return rslt.slice(0, -1);
},
enumerable: false,
configurable: true
});
Logger = __decorate([
(0, inversify_1.injectable)(),
__metadata("design:paramtypes", [String])
], Logger);
return Logger;
}());
exports.Logger = Logger;
exports.LogLevels = {
error: 0,
warn: 1,
info: 2,
verbose: 3,
debug: 4
};
var LogLevelStrings = {
0: "ERROR",
1: "WARN",
2: "INFO",
3: "VERBOSE",
4: "DEBUG"
};
var LogLevelColors = {
0: "\x1b[31m",
1: "\x1b[33m",
2: "\x1b[0m",
3: "\x1b[0m",
4: "\x1b[0m"
};
//# sourceMappingURL=logger.js.map