@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
27 lines • 2.94 kB
JavaScript
import { of } from 'rxjs';
export class UserPreferencesStorageLocal {
constructor() {
this.LOCAL_STORAGE_KEY = 'userPreferences';
this.store = {};
try {
const jsonStore = window.localStorage.getItem(this.LOCAL_STORAGE_KEY);
if (jsonStore) {
this.store = JSON.parse(jsonStore) || {};
}
}
catch (e) {
// do nothing
}
}
get(key) {
return of(this.store[key]);
}
set(key, value) {
this.store[key] = value;
return this.saveJsonStore();
}
saveJsonStore() {
return window.localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(this.store));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy1zdG9yYWdlLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLXN0b3JhZ2UtbG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixNQUFNLE9BQU8sMkJBQTJCO0lBR3RDO1FBRlEsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsVUFBSyxHQUFRLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RSxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsYUFBYTtRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQUc7UUFDTCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCB7XG4gIHByaXZhdGUgTE9DQUxfU1RPUkFHRV9LRVkgPSAndXNlclByZWZlcmVuY2VzJztcbiAgcHJpdmF0ZSBzdG9yZTogYW55ID0ge307XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBqc29uU3RvcmUgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5MT0NBTF9TVE9SQUdFX0tFWSk7XG4gICAgICBpZiAoanNvblN0b3JlKSB7XG4gICAgICAgIHRoaXMuc3RvcmUgPSBKU09OLnBhcnNlKGpzb25TdG9yZSkgfHwge307XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgIH1cbiAgfVxuXG4gIGdldChrZXkpIHtcbiAgICByZXR1cm4gb2YodGhpcy5zdG9yZVtrZXldKTtcbiAgfVxuXG4gIHNldChrZXksIHZhbHVlKSB7XG4gICAgdGhpcy5zdG9yZVtrZXldID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUpzb25TdG9yZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlSnNvblN0b3JlKCkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MT0NBTF9TVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zdG9yZSkpO1xuICB9XG59XG4iXX0=