UNPKG

electron-event-flux

Version:

Redux store which synchronizes between instances in multiple process

49 lines (48 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AsyncStorage = /** @class */ (function () { function AsyncStorage(version, ns) { if (version) this.init(version); this.ns = ns; } AsyncStorage.prototype.init = function (version) { if (version) { var curVersion = localStorage.getItem('version'); if (version !== curVersion) { localStorage.clear(); localStorage.setItem('version', version); } } }; AsyncStorage.prototype.set = function (key, value) { if (typeof key === 'object') { for (var k in key) { this.set(k, key[k]); } return; } key = this.ns ? this.ns + '.' + key : key; if (value === undefined) { localStorage.removeItem(key); } else { localStorage.setItem(key, JSON.stringify(value)); } }; AsyncStorage.prototype.get = function (key, defaultValue) { key = this.ns ? this.ns + '.' + key : key; var value = localStorage.getItem(key); return value ? JSON.parse(value) : defaultValue; }; AsyncStorage.prototype.delete = function (key) { key = this.ns ? this.ns + '.' + key : key; localStorage.removeItem(key); }; AsyncStorage.prototype.getNSStore = function (namespace) { namespace = this.ns ? this.ns + '.' + namespace : namespace; return new AsyncStorage(null, namespace); }; return AsyncStorage; }()); exports.default = AsyncStorage;