UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

27 lines 2.94 kB
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=