UNPKG

@acaprojects/a2-composer

Version:
176 lines 6.5 kB
import { Injectable } from '@angular/core'; var DataStoreService = (function () { function DataStoreService() { var _this = this; this.store = {}; this.store.local = { getItem: function (key) { return new Promise(function (resolve, reject) { _this.getItem('local', key).then(function (item) { _this.store.local.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(item); }, function (err) { reject(err); }); }); }, setItem: function (key, value) { return new Promise(function (resolve, reject) { _this.setItem('local', key, value).then(function (item) { _this.store.local.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(item); }, function (err) { reject(err); }); }); }, removeItem: function (key) { return new Promise(function (resolve, reject) { _this.removeItem('local', key).then(function (item) { _this.store.local.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(); }, function (err) { reject(err); }); }); }, keys: function () { return new Promise(function (resolve, reject) { _this.keys('local').then(function (keys) { resolve(keys); }); }); }, cache: {}, }; this.store.session = { getItem: function (key) { return new Promise(function (resolve, reject) { _this.getItem('session', key).then(function (item) { _this.store.session.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(item); }, function (err) { reject(err); }); }); }, setItem: function (key, value) { return new Promise(function (resolve, reject) { _this.setItem('session', key, value).then(function (item) { _this.store.session.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(item); }, function (err) { reject(err); }); }); }, removeItem: function (key) { return new Promise(function (resolve, reject) { _this.removeItem('session', key).then(function (item) { _this.store.session.cache[key] = { value: item, time: (new Date()).getTime(), }; resolve(); }, function (err) { reject(err); }); }); }, keys: function () { return new Promise(function (resolve, reject) { _this.keys('session').then(function (keys) { resolve(keys); }); }); }, cache: {}, }; } Object.defineProperty(DataStoreService.prototype, "local", { get: function () { return this.store.local; }, enumerable: true, configurable: true }); Object.defineProperty(DataStoreService.prototype, "session", { get: function () { return this.store.session; }, enumerable: true, configurable: true }); DataStoreService.prototype.getItem = function (type, key) { return new Promise(function (resolve) { if (type === 'local' && localStorage) { resolve(localStorage.getItem(key)); } else if (type !== 'local' && sessionStorage) { resolve(sessionStorage.getItem(key)); } }); }; DataStoreService.prototype.setItem = function (type, key, value) { return new Promise(function (resolve) { if (type === 'local' && localStorage) { localStorage.setItem(key, value); resolve(value); } else if (type !== 'local' && sessionStorage) { sessionStorage.setItem(key, value); resolve(value); } }); }; DataStoreService.prototype.removeItem = function (type, key) { return new Promise(function (resolve) { if (type === 'local' && localStorage) { localStorage.removeItem(key); resolve(null); } else if (type !== 'local' && sessionStorage) { sessionStorage.removeItem(key); resolve(null); } }); }; DataStoreService.prototype.keys = function (type) { return new Promise(function (resolve, reject) { var keys = []; if (type === 'local') { for (var i = 0; i < localStorage.length; i++) { keys.push(localStorage.key(i)); } } else if (type === 'session') { for (var i = 0; i < sessionStorage.length; i++) { keys.push(sessionStorage.key(i)); } } resolve(keys); }); }; return DataStoreService; }()); export { DataStoreService }; DataStoreService.decorators = [ { type: Injectable }, ]; DataStoreService.ctorParameters = function () { return []; }; //# sourceMappingURL=data-store.service.js.map