UNPKG

@kcutils/logger

Version:
126 lines 5.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerOption = void 0; var levels_1 = require("../../constants/levels"); var helper_1 = require("@kcutils/helper"); var figures_1 = require("figures"); var LoggerOption = /** @class */ (function () { function LoggerOption(option, extra) { this.option = option; this.extra = extra; } LoggerOption.prototype.set = function (key, value) { this.option[key] = value; }; LoggerOption.prototype.isDebug = function (override) { return this.getBoolean("DEBUG", "debug", false, override); }; LoggerOption.prototype.isJson = function (override) { return this.getBoolean("JSON", "json", false, override); }; LoggerOption.prototype.isInteractive = function (override) { return this.getBoolean("INTERACTIVE", "interactive", false, override); }; LoggerOption.prototype.isDisabled = function (override) { return this.getBoolean("DISABLED", "disabled", false, override); }; LoggerOption.prototype.isColor = function (override) { return this.getBoolean("COLOR", "color", true, override); }; LoggerOption.prototype.isOverrideStream = function (override) { if (helper_1.generic.isExist(override)) return override; return this.option.overrideStream; }; LoggerOption.prototype.getOverrideStream = function (override) { if (helper_1.generic.isExist(override)) return override; return helper_1.array.toArray(this.option.streams); }; LoggerOption.prototype.getLevel = function (override) { return this.getString("LEVEL", "level", levels_1.info.name, function (s) { return levels_1.toLevel(s).name; }, override); }; LoggerOption.prototype.getSeparator = function (override) { return this.getString("SEPARATOR", "separator", figures_1.arrowRight, function (s) { return s; }, override); }; LoggerOption.prototype.getDatetime = function (override) { var def = "date"; return this.getString("DATETIME", "datetime", def, function (s) { return (s === "date" || s === "datetime" || s === "time" || s === "timestamp" ? s : def); }, override); }; LoggerOption.prototype.getOutputList = function (override) { return this.getArray("OUTPUT_LIST", "output", function (v) { return v === "file" || v === "console"; }, function (t) { return t; }, this.onlyExistArray, override); }; LoggerOption.prototype.getScopes = function (override) { return this.getArray("SCOPES", "scopes", function () { return true; }, function (s) { return s; }, this.appendArray, override); }; LoggerOption.prototype.getSecrets = function (override) { return this.getArray("SECRETS", "secrets", function () { return true; }, function (s) { return s; }, this.appendArray, override); }; LoggerOption.prototype.onCensor = function (secert) { return this.option.censor(secert); }; LoggerOption.prototype.getTypes = function () { var _a; return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.types; }; LoggerOption.prototype.getSettings = function () { var _a; return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.settings; }; LoggerOption.prototype.getString = function (envName, key, def, mapFn, override) { var _a; if (helper_1.generic.isExist(override)) return override; var envData = helper_1.env.read(LoggerOption.envPrefix + "_" + envName, (_a = helper_1.generic.toString(this.option[key])) !== null && _a !== void 0 ? _a : def); return mapFn(envData); }; LoggerOption.prototype.getBoolean = function (envName, key, def, override) { var _a, _b; if (helper_1.generic.isExist(override)) return override; var envData = helper_1.env.read(LoggerOption.envPrefix + "_" + envName, (_a = helper_1.generic.toString(this.option[key])) !== null && _a !== void 0 ? _a : def.toString()); return (_b = helper_1.generic.toBoolean(envData)) !== null && _b !== void 0 ? _b : def; }; LoggerOption.prototype.getArray = function (envName, key, filterFn, mapFn, selectFn, override) { if (helper_1.generic.isExist(override)) return override; var output = helper_1.env .read(LoggerOption.envPrefix + "_" + envName, "") .split(",") .filter(helper_1.generic.nonEmpty) .filter(filterFn) .map(mapFn); var defaultOutput = this.option[key]; return selectFn(defaultOutput, output); }; LoggerOption.prototype.onlyExistArray = function (t1, t2) { var tt1 = helper_1.generic.nonEmpty(t1) ? t1 : []; var tt2 = helper_1.generic.nonEmpty(t2) ? t2 : []; if (tt2.length > 0) return tt2; else return tt1; }; LoggerOption.prototype.appendArray = function (t1, t2) { var tt1 = helper_1.generic.nonEmpty(t1) ? t1 : []; var tt2 = helper_1.generic.nonEmpty(t2) ? t2 : []; return tt1.concat(tt2); }; LoggerOption.prototype.copy = function (inOpt, inExt) { var option = helper_1.json.deepMerge(this.option, inOpt); var extra = helper_1.json.deepMerge(this.extra, inExt); return new LoggerOption(option, extra); }; LoggerOption.prototype.clone = function () { var option = Object.assign({}, this.option); var extra = Object.assign({}, this.extra); return new LoggerOption(option, extra); }; LoggerOption.prototype.toStrictOption = function () { return this.option; }; LoggerOption.envPrefix = "KCUTILS"; return LoggerOption; }()); exports.LoggerOption = LoggerOption; //# sourceMappingURL=LoggerOption.js.map