UNPKG

ngx-store

Version:

Angular decorators to automagically keep variables in HTML5 LocalStorage, SessionStorage, cookies; injectable services for managing and listening to data changes and a bit more.

19 lines 2.96 kB
import { WebStorageService } from './webstorage.service'; import { localStorageUtility } from '../utility/index'; import { Injectable } from '@angular/core'; import { fromEvent, merge } from 'rxjs'; import { filter, map } from 'rxjs/operators'; export class LocalStorageService extends WebStorageService { constructor() { super(localStorageUtility); this._changes = merge(fromEvent(window, 'storage') .pipe(filter((event) => event.storageArea === localStorage), map((event) => this.mapNativeEvent(event))), localStorageUtility.changes); } } LocalStorageService.keys = []; LocalStorageService.decorators = [ { type: Injectable } ]; LocalStorageService.ctorParameters = () => []; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0b3JlL3NyYy9saWIvc2VydmljZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFHeEQ7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUTtZQUNYLEtBQUssQ0FBQyxTQUFTLENBQWtCLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQzlDLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFzQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLFlBQVksQ0FBQyxFQUN0RSxHQUFHLENBQUMsQ0FBQyxLQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVELEVBQ0gsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7QUFYYSx3QkFBSSxHQUFrQixFQUFFLENBQUM7O1lBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZWJTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2Vic3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGxvY2FsU3RvcmFnZVV0aWxpdHkgfSBmcm9tICcuLi91dGlsaXR5L2luZGV4JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTmd4U3RvcmFnZUV2ZW50IH0gZnJvbSAnLi4vdXRpbGl0eS9zdG9yYWdlL3N0b3JhZ2UtZXZlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSBleHRlbmRzIFdlYlN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBrZXlzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobG9jYWxTdG9yYWdlVXRpbGl0eSk7XG4gICAgdGhpcy5fY2hhbmdlcyA9XG4gICAgICBtZXJnZShmcm9tRXZlbnQ8Tmd4U3RvcmFnZUV2ZW50Pih3aW5kb3csICdzdG9yYWdlJylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IE5neFN0b3JhZ2VFdmVudCkgPT4gZXZlbnQuc3RvcmFnZUFyZWEgPT09IGxvY2FsU3RvcmFnZSksXG4gICAgICAgICAgICBtYXAoKGV2ZW50OiBOZ3hTdG9yYWdlRXZlbnQpID0+IHRoaXMubWFwTmF0aXZlRXZlbnQoZXZlbnQpKSxcbiAgICAgICAgICApLFxuICAgICAgICBsb2NhbFN0b3JhZ2VVdGlsaXR5LmNoYW5nZXMpO1xuICB9XG59XG4iXX0=