UNPKG

@pilotlab/lux-debug

Version:

A luxurious user experience framework, developed by your friends at Pilot.

130 lines 5.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var lux_is_1 = require("@pilotlab/lux-is"); var logEnums_1 = require("./logEnums"); var logger_1 = require("./logger"); var logSpinner_1 = require("./logSpinner"); var LogMessage = (function () { function LogMessage(logger, label, labelColor, message, lineCount, tag, category, headerLength) { this._isEmpty = true; this._spinner = new logSpinner_1.default(); if (lux_is_1.default.notEmpty(logger) && lux_is_1.default.notEmpty(label) && lux_is_1.default.notEmpty(labelColor) && lux_is_1.default.notEmpty(lineCount)) this._isEmpty = false; this._logger = logger; this._label = label; this._labelColor = labelColor; this._message = message; this._lineCount = lineCount; this._tag = tag; this._category = category; this._headerLength = headerLength; switch (label) { case logEnums_1.LogType[logEnums_1.LogType.LOG]: this._type = logEnums_1.LogType.INFO; break; case logEnums_1.LogType[logEnums_1.LogType.TEST]: this._type = logEnums_1.LogType.TEST; break; case logEnums_1.LogType[logEnums_1.LogType.INFO]: this._type = logEnums_1.LogType.INFO; break; case logEnums_1.LogType[logEnums_1.LogType.WARNING]: this._type = logEnums_1.LogType.WARNING; break; case logEnums_1.LogType[logEnums_1.LogType.ERROR]: this._type = logEnums_1.LogType.ERROR; break; case logEnums_1.LogType[logEnums_1.LogType.ASSERT]: this._type = logEnums_1.LogType.ASSERT; break; case logEnums_1.LogType[logEnums_1.LogType.DATA]: this._type = logEnums_1.LogType.DATA; break; default: this._type = logEnums_1.LogType.CUSTOM; } this._spinner.ticked.listen(this._spinner_ticked, this); this._spinner.stopped.listen(this._spinner_stopped, this); } Object.defineProperty(LogMessage.prototype, "isEmpty", { get: function () { return this._isEmpty; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "logger", { get: function () { return this._logger; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "type", { get: function () { return this._type; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "label", { get: function () { return this._label; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "labelColor", { get: function () { return this._labelColor; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "message", { get: function () { return this._message; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "tag", { get: function () { return this._tag; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "category", { get: function () { return this._category; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "lineCount", { get: function () { return this._lineCount; }, enumerable: true, configurable: true }); Object.defineProperty(LogMessage.prototype, "headerLength", { get: function () { return this._headerLength; }, enumerable: true, configurable: true }); LogMessage.prototype.startSpinner = function () { if (lux_is_1.default.notEmpty(this.category, true) && !this.logger.isCategoryOn(this.category)) { return; } this.logger.console.cursor.hide(); this.logger.console.cursor.up(this.lineCount + 1); this.logger.console.cursor.setColumn(this.headerLength - 2); this._spinner.start(); }; LogMessage.prototype.stopSpinner = function () { if (lux_is_1.default.notEmpty(this.category, true) && !this.logger.isCategoryOn(this.category)) { return; } this._spinner.stop(); }; LogMessage.prototype._spinner_ticked = function (spinnerCharacter) { process.stdout.write(logger_1.default.setColor(spinnerCharacter, this.labelColor)); this.logger.console.cursor.left(1); }; LogMessage.prototype._spinner_stopped = function (spinnerCharacter) { process.stdout.write(' '); this.logger.console.cursor.down(this.lineCount + 1); this.logger.console.cursor.show(); }; return LogMessage; }()); exports.LogMessage = LogMessage; exports.default = LogMessage; //# sourceMappingURL=logMessage.js.map