@aca-1/a2-composer
Version:
Angular 2 Interface for composer
166 lines • 6.12 kB
JavaScript
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 = [];
resolve(keys);
});
};
return DataStoreService;
}());
export { DataStoreService };
DataStoreService.decorators = [
{ type: Injectable },
];
DataStoreService.ctorParameters = function () { return []; };
//# sourceMappingURL=data-store.service.js.map