@bi8/am-storage
Version:
AmStorage is a simple framework for saving and loading information from *localStorage*.
42 lines • 4.84 kB
JavaScript
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import * as _ from 'lodash';
import { Logger, LogService } from "@bi8/am-logger";
var StorageService = /** @class */ (function () {
function StorageService(logService) {
this.logService = logService;
this.logger = logService.getLogger(this.constructor.name);
this.logger.debug("Hello World");
}
StorageService.prototype.remove = function (key) {
localStorage.removeItem(key);
};
StorageService.prototype.exists = function (key) {
var found = localStorage.getItem(key);
return !_.isNil(found);
};
StorageService.prototype.get = function (key, defaultValue) {
var found = localStorage.getItem(key);
if (!_.isNil(found)) {
var wrapper = JSON.parse(found);
return wrapper && wrapper.value ? wrapper.value : defaultValue;
}
else {
return defaultValue;
}
};
StorageService.prototype.set = function (key, value) {
var wrapper = { value: value };
localStorage.setItem(key, JSON.stringify(wrapper));
};
StorageService.ctorParameters = function () { return [
{ type: LogService }
]; };
StorageService = tslib_1.__decorate([
Injectable(),
tslib_1.__metadata("design:paramtypes", [LogService])
], StorageService);
return StorageService;
}());
export { StorageService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJpOC9hbS1zdG9yYWdlLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvYW0tc3RvcmFnZS9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU9sRDtJQUlFLHdCQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCwrQkFBTSxHQUFOLFVBQU8sR0FBVztRQUNoQixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCwrQkFBTSxHQUFOLFVBQU8sR0FBRztRQUNSLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELDRCQUFHLEdBQUgsVUFBSSxHQUFXLEVBQUUsWUFBa0I7UUFDakMsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBQztZQUNsQixJQUFJLE9BQU8sR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBWSxDQUFDO1lBQ3JELE9BQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUNoRTthQUFNO1lBQ0wsT0FBTyxZQUFZLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsNEJBQUcsR0FBSCxVQUFJLEdBQVcsRUFBRSxLQUFVO1FBQ3pCLElBQUksT0FBTyxHQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3pDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztnQkEzQitCLFVBQVU7O0lBSi9CLGNBQWM7UUFEMUIsVUFBVSxFQUFFO2lEQUtxQixVQUFVO09BSi9CLGNBQWMsQ0FnQzFCO0lBQUQscUJBQUM7Q0FBQSxBQWhDRCxJQWdDQztTQWhDWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQge0xvZ2dlciwgTG9nU2VydmljZX0gZnJvbSBcIkBiaTgvYW0tbG9nZ2VyXCI7XHJcblxyXG5pbnRlcmZhY2UgV3JhcHBlciB7XHJcbiAgdmFsdWU6IGFueTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG5cclxuICBsb2dnZXI6IExvZ2dlcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ1NlcnZpY2UuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkhlbGxvIFdvcmxkXCIpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGtleTogc3RyaW5nKXtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBleGlzdHMoa2V5KSA6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGZvdW5kID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIHJldHVybiAhXy5pc05pbChmb3VuZCk7XHJcbiAgfVxyXG5cclxuICBnZXQoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkgOiBhbnkge1xyXG4gICAgbGV0IGZvdW5kID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcclxuICAgIGlmICghXy5pc05pbChmb3VuZCkpe1xyXG4gICAgICBsZXQgd3JhcHBlciA6IFdyYXBwZXIgPSBKU09OLnBhcnNlKGZvdW5kKSBhcyBXcmFwcGVyO1xyXG4gICAgICByZXR1cm4gd3JhcHBlciAmJiB3cmFwcGVyLnZhbHVlID8gd3JhcHBlci52YWx1ZSA6IGRlZmF1bHRWYWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpe1xyXG4gICAgbGV0IHdyYXBwZXIgOiBXcmFwcGVyID0geyB2YWx1ZTogdmFsdWUgfTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkod3JhcHBlcikpO1xyXG4gIH1cclxufVxyXG4iXX0=