@ema/js-base-library
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
57 lines • 5.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class Storage {
/**
* @param {?} model
* @param {?=} modelName
* @return {?}
*/
static saveLocalModel(model, modelName = 'model') {
if (typeof window !== 'undefined' && window.localStorage) {
// window.localStorage.setItem(modelName , btoa(JSON.stringify(model)));
window.localStorage.setItem(modelName, JSON.stringify(model));
window.localStorage.setItem(modelName + '-changed', String(Math.round(+new Date() / 1000)));
}
else {
console.error('localStorage not available: not running in a browser');
}
}
;
/**
* @param {?=} modelName
* @return {?}
*/
static restoreLocalModel(modelName = 'model') {
if (typeof window !== 'undefined' && window.localStorage) {
if (localStorage.getItem(modelName)) {
// return JSON.parse(atob(localStorage.getItem(modelName)));
return JSON.parse(localStorage.getItem(modelName));
}
}
else {
console.error('localStorage not available: not running in a browser');
}
}
;
/**
* @param {?=} modelName
* @return {?}
*/
static flushLocalModel(modelName = 'model') {
if (typeof window !== 'undefined' && window.localStorage) {
if (localStorage.getItem(modelName)) {
localStorage.removeItem(modelName);
}
if (localStorage.getItem(modelName + '-changed')) {
localStorage.removeItem(modelName + '-changed');
}
}
else {
console.error('localStorage not available: not running in a browser');
}
}
;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BlbWEvanMtYmFzZS1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL3N0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU0sT0FBTyxPQUFPOzs7Ozs7SUFFaEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVLEVBQUUsWUFBb0IsT0FBTztRQUN6RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3RELHdFQUF3RTtZQUN4RSxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvRjthQUFNO1lBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0wsQ0FBQztJQUFBLENBQUM7Ozs7O0lBRUYsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFlBQW9CLE9BQU87UUFDaEQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN0RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2pDLDREQUE0RDtnQkFDNUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUN0RDtTQUNKO2FBQU07WUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7U0FDekU7SUFDTCxDQUFDO0lBQUEsQ0FBQzs7Ozs7SUFFRixNQUFNLENBQUMsZUFBZSxDQUFDLFlBQW9CLE9BQU87UUFDOUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN0RCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2pDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxFQUFFO2dCQUM5QyxZQUFZLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQzthQUNuRDtTQUNKO2FBQU07WUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7U0FDekU7SUFDTCxDQUFDO0lBQUEsQ0FBQztDQUVMIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0b3JhZ2Uge1xuXG4gICAgc3RhdGljIHNhdmVMb2NhbE1vZGVsKG1vZGVsOiBhbnksIG1vZGVsTmFtZTogc3RyaW5nID0gJ21vZGVsJykge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgLy8gd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKG1vZGVsTmFtZSAsIGJ0b2EoSlNPTi5zdHJpbmdpZnkobW9kZWwpKSk7XG4gICAgICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0obW9kZWxOYW1lICwgSlNPTi5zdHJpbmdpZnkobW9kZWwpKTtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShtb2RlbE5hbWUgKyAnLWNoYW5nZWQnLCBTdHJpbmcoTWF0aC5yb3VuZCgrbmV3IERhdGUoKSAvIDEwMDApKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdsb2NhbFN0b3JhZ2Ugbm90IGF2YWlsYWJsZTogbm90IHJ1bm5pbmcgaW4gYSBicm93c2VyJyk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgc3RhdGljIHJlc3RvcmVMb2NhbE1vZGVsKG1vZGVsTmFtZTogc3RyaW5nID0gJ21vZGVsJykge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG1vZGVsTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gSlNPTi5wYXJzZShhdG9iKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG1vZGVsTmFtZSkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShtb2RlbE5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xvY2FsU3RvcmFnZSBub3QgYXZhaWxhYmxlOiBub3QgcnVubmluZyBpbiBhIGJyb3dzZXInKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBzdGF0aWMgZmx1c2hMb2NhbE1vZGVsKG1vZGVsTmFtZTogc3RyaW5nID0gJ21vZGVsJykge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG1vZGVsTmFtZSkpIHtcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShtb2RlbE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKG1vZGVsTmFtZSArICctY2hhbmdlZCcpKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obW9kZWxOYW1lICsgJy1jaGFuZ2VkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdsb2NhbFN0b3JhZ2Ugbm90IGF2YWlsYWJsZTogbm90IHJ1bm5pbmcgaW4gYSBicm93c2VyJyk7XG4gICAgICAgIH1cbiAgICB9O1xuXG59XG5cbiJdfQ==