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.

17 lines 3 kB
import { NgxStorageEvent } from './storage-event'; import { Subject } from 'rxjs'; // TODO: in the future use ES6 Proxy to handle indexers export class NgxStorage { constructor() { this.externalChanges = new Subject(); } emitEvent(key, newValue, oldValue) { var _a; const event = new NgxStorageEvent(this.type, key, this); event.oldValue = (oldValue !== undefined) ? oldValue : this.getItem(key); event.newValue = newValue; event.isInternal = false; (_a = this.externalChanges) === null || _a === void 0 ? void 0 : _a.next(event); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdG9yZS9zcmMvbGliL3V0aWxpdHkvc3RvcmFnZS9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLHVEQUF1RDtBQUN2RCxNQUFNLE9BQWdCLFVBQVU7SUFBaEM7UUFHUyxvQkFBZSxHQUE4QixJQUFJLE9BQU8sRUFBRSxDQUFDO0lBZ0JwRSxDQUFDO0lBUFcsU0FBUyxDQUFDLEdBQVcsRUFBRSxRQUFhLEVBQUUsUUFBYzs7UUFDNUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3hTdG9yYWdlRXZlbnQgfSBmcm9tICcuL3N0b3JhZ2UtZXZlbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmFnZU5hbWUgfSBmcm9tICcuLi93ZWJzdG9yYWdlLnV0aWxpdHknO1xuXG4vLyBUT0RPOiBpbiB0aGUgZnV0dXJlIHVzZSBFUzYgUHJveHkgdG8gaGFuZGxlIGluZGV4ZXJzXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd4U3RvcmFnZSBpbXBsZW1lbnRzIFN0b3JhZ2Uge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIFtpbmRleDogbnVtYmVyXTogc3RyaW5nO1xuICBwdWJsaWMgZXh0ZXJuYWxDaGFuZ2VzPzogU3ViamVjdDxOZ3hTdG9yYWdlRXZlbnQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIGFic3RyYWN0IHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRJdGVtKGtleTogc3RyaW5nKTogYW55O1xuICBwdWJsaWMgYWJzdHJhY3Qga2V5KGluZGV4OiBudW1iZXIpOiBhbnk7XG4gIHB1YmxpYyBhYnN0cmFjdCBjbGVhcigpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IGxlbmd0aCgpOiBudW1iZXI7XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgdHlwZSgpOiBTdG9yYWdlTmFtZTtcblxuICBwcm90ZWN0ZWQgZW1pdEV2ZW50KGtleTogc3RyaW5nLCBuZXdWYWx1ZTogYW55LCBvbGRWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IE5neFN0b3JhZ2VFdmVudCh0aGlzLnR5cGUsIGtleSwgdGhpcyk7XG4gICAgZXZlbnQub2xkVmFsdWUgPSAob2xkVmFsdWUgIT09IHVuZGVmaW5lZCkgPyBvbGRWYWx1ZSA6IHRoaXMuZ2V0SXRlbShrZXkpO1xuICAgIGV2ZW50Lm5ld1ZhbHVlID0gbmV3VmFsdWU7XG4gICAgZXZlbnQuaXNJbnRlcm5hbCA9IGZhbHNlO1xuICAgIHRoaXMuZXh0ZXJuYWxDaGFuZ2VzPy5uZXh0KGV2ZW50KTtcbiAgfVxufVxuIl19