electron-event-flux
Version:
Redux store which synchronizes between instances in multiple process
49 lines (48 loc) • 1.63 kB
JavaScript
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;
;