UNPKG

@ngxp/log

Version:
68 lines • 3.05 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); var lodash_es_1 = require("lodash-es"); var base_appender_1 = require("../base-appender"); var web_storage_log_config_1 = require("./web-storage-log-config"); var WebStorageLogAppender = /** @class */ (function (_super) { __extends(WebStorageLogAppender, _super); function WebStorageLogAppender(webStorageLogConfig) { var _this = _super.call(this) || this; _this.config = web_storage_log_config_1.applyDefaultConfig(webStorageLogConfig); _this.logMessage$.subscribe(function (logMessage) { _this.handleLogMessage(logMessage); }); return _this; } Object.defineProperty(WebStorageLogAppender.prototype, "storage", { get: function () { if (this.config.storageType === web_storage_log_config_1.StorageType.LocalStorage) { return window.localStorage; } if (this.config.storageType === web_storage_log_config_1.StorageType.SessionStorage) { return window.sessionStorage; } throw new Error("Invalid storage type: <" + this.config.storageType + ">"); }, enumerable: true, configurable: true }); Object.defineProperty(WebStorageLogAppender.prototype, "logMessages", { get: function () { var messages = this.storage.getItem(this.config.storageItemKey); return lodash_es_1.isNull(messages) ? [] : JSON.parse(messages); }, set: function (logMessages) { this.storage.setItem(this.config.storageItemKey, JSON.stringify(logMessages)); }, enumerable: true, configurable: true }); WebStorageLogAppender.prototype.handleLogMessage = function (logMessage) { this.logMessages = __spreadArrays(lodash_es_1.takeRight(this.logMessages, this.config.maxLogSize - 1), [ logMessage ]); }; return WebStorageLogAppender; }(base_appender_1.BaseAppender)); exports.WebStorageLogAppender = WebStorageLogAppender; //# sourceMappingURL=web-storage-log-appender.js.map