UNPKG

@bi8/am-storage

Version:

AmStorage is a simple framework for saving and loading information from *localStorage*.

41 lines 4.57 kB
import * as tslib_1 from "tslib"; import { Injectable } from '@angular/core'; import * as _ from 'lodash'; import { Logger, LogService } from "@bi8/am-logger"; let StorageService = class StorageService { constructor(logService) { this.logService = logService; this.logger = logService.getLogger(this.constructor.name); this.logger.debug("Hello World"); } remove(key) { localStorage.removeItem(key); } exists(key) { let found = localStorage.getItem(key); return !_.isNil(found); } get(key, defaultValue) { let found = localStorage.getItem(key); if (!_.isNil(found)) { let wrapper = JSON.parse(found); return wrapper && wrapper.value ? wrapper.value : defaultValue; } else { return defaultValue; } } set(key, value) { let wrapper = { value: value }; localStorage.setItem(key, JSON.stringify(wrapper)); } }; StorageService.ctorParameters = () => [ { type: LogService } ]; StorageService = tslib_1.__decorate([ Injectable(), tslib_1.__metadata("design:paramtypes", [LogService]) ], StorageService); export { StorageService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJpOC9hbS1zdG9yYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvYW0tc3RvcmFnZS9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU9sRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBSXpCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHO1FBQ1IsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxZQUFrQjtRQUNqQyxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFDO1lBQ2xCLElBQUksT0FBTyxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFZLENBQUM7WUFDckQsT0FBTyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ2hFO2FBQU07WUFDTCxPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDekIsSUFBSSxPQUFPLEdBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDekMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRixDQUFBOztZQTVCaUMsVUFBVTs7QUFKL0IsY0FBYztJQUQxQixVQUFVLEVBQUU7NkNBS3FCLFVBQVU7R0FKL0IsY0FBYyxDQWdDMUI7U0FoQ1ksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHtMb2dnZXIsIExvZ1NlcnZpY2V9IGZyb20gXCJAYmk4L2FtLWxvZ2dlclwiO1xyXG5cclxuaW50ZXJmYWNlIFdyYXBwZXIge1xyXG4gIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgbG9nZ2VyOiBMb2dnZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSkge1xyXG4gICAgdGhpcy5sb2dnZXIgPSBsb2dTZXJ2aWNlLmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJIZWxsbyBXb3JsZFwiKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShrZXk6IHN0cmluZyl7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gIH1cclxuXHJcbiAgZXhpc3RzKGtleSkgOiBib29sZWFuIHtcclxuICAgIGxldCBmb3VuZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICByZXR1cm4gIV8uaXNOaWwoZm91bmQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpIDogYW55IHtcclxuICAgIGxldCBmb3VuZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICBpZiAoIV8uaXNOaWwoZm91bmQpKXtcclxuICAgICAgbGV0IHdyYXBwZXIgOiBXcmFwcGVyID0gSlNPTi5wYXJzZShmb3VuZCkgYXMgV3JhcHBlcjtcclxuICAgICAgcmV0dXJuIHdyYXBwZXIgJiYgd3JhcHBlci52YWx1ZSA/IHdyYXBwZXIudmFsdWUgOiBkZWZhdWx0VmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KXtcclxuICAgIGxldCB3cmFwcGVyIDogV3JhcHBlciA9IHsgdmFsdWU6IHZhbHVlIH07XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHdyYXBwZXIpKTtcclxuICB9XHJcbn1cclxuIl19