UNPKG

ngx-webstorage

Version:

This library provides an easy to use service to manage the web storages (local and session) from your Angular application. It provides also two decorators to synchronize the component attributes and the web storages.

38 lines 4.61 kB
import { of, Subject } from 'rxjs'; import { StrategyCacheService } from '../core/strategyCache'; import { StorageStrategies } from '../constants/strategy'; import { Inject, Injectable } from '@angular/core'; export class InMemoryStorageStrategy { constructor(cache) { this.cache = cache; this.keyChanges = new Subject(); this.isAvailable = true; this.name = InMemoryStorageStrategy.strategyName; } get(key) { return of(this.cache.get(this.name, key)); } set(key, value) { this.cache.set(this.name, key, value); this.keyChanges.next(key); return of(value); } del(key) { this.cache.del(this.name, key); this.keyChanges.next(key); return of(null); } clear() { this.cache.clear(this.name); this.keyChanges.next(null); return of(null); } } InMemoryStorageStrategy.strategyName = StorageStrategies.InMemory; InMemoryStorageStrategy.decorators = [ { type: Injectable } ]; InMemoryStorageStrategy.ctorParameters = () => [ { type: StrategyCacheService, decorators: [{ type: Inject, args: [StrategyCacheService,] }] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtd2Vic3RvcmFnZS9zcmMvbGliL3N0cmF0ZWdpZXMvaW5NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFhLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHakQsTUFBTSxPQUFPLHVCQUF1QjtJQU1uQyxZQUFvRCxLQUEyQjtRQUEzQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUp0RSxlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckQsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDbkIsU0FBSSxHQUFXLHVCQUF1QixDQUFDLFlBQVksQ0FBQztJQUVxQixDQUFDO0lBRW5GLEdBQUcsQ0FBQyxHQUFXO1FBQ2QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQixDQUFDOztBQTNCZSxvQ0FBWSxHQUFXLGlCQUFpQixDQUFDLFFBQVEsQ0FBQzs7WUFGbEUsVUFBVTs7O1lBSkgsb0JBQW9CLHVCQVdkLE1BQU0sU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0b3JhZ2VTdHJhdGVneX0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzL3N0b3JhZ2VTdHJhdGVneSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U3RyYXRlZ3lDYWNoZVNlcnZpY2V9IGZyb20gJy4uL2NvcmUvc3RyYXRlZ3lDYWNoZSc7XG5pbXBvcnQge1N0b3JhZ2VTdHJhdGVnaWVzfSBmcm9tICcuLi9jb25zdGFudHMvc3RyYXRlZ3knO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlTdG9yYWdlU3RyYXRlZ3kgaW1wbGVtZW50cyBTdG9yYWdlU3RyYXRlZ3k8YW55PiB7XG5cdHN0YXRpYyByZWFkb25seSBzdHJhdGVneU5hbWU6IHN0cmluZyA9IFN0b3JhZ2VTdHJhdGVnaWVzLkluTWVtb3J5O1xuXHRyZWFkb25seSBrZXlDaGFuZ2VzOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuXHRpc0F2YWlsYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZyA9IEluTWVtb3J5U3RvcmFnZVN0cmF0ZWd5LnN0cmF0ZWd5TmFtZTtcblxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFN0cmF0ZWd5Q2FjaGVTZXJ2aWNlKSBwcm90ZWN0ZWQgY2FjaGU6IFN0cmF0ZWd5Q2FjaGVTZXJ2aWNlKSB7fVxuXG5cdGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0cmV0dXJuIG9mKHRoaXMuY2FjaGUuZ2V0KHRoaXMubmFtZSwga2V5KSk7XG5cdH1cblxuXHRzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuXHRcdHRoaXMuY2FjaGUuc2V0KHRoaXMubmFtZSwga2V5LCB2YWx1ZSk7XG5cdFx0dGhpcy5rZXlDaGFuZ2VzLm5leHQoa2V5KTtcblx0XHRyZXR1cm4gb2YodmFsdWUpO1xuXHR9XG5cblx0ZGVsKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG5cdFx0dGhpcy5jYWNoZS5kZWwodGhpcy5uYW1lLCBrZXkpO1xuXHRcdHRoaXMua2V5Q2hhbmdlcy5uZXh0KGtleSk7XG5cdFx0cmV0dXJuIG9mKG51bGwpO1xuXHR9XG5cblx0Y2xlYXIoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG5cdFx0dGhpcy5jYWNoZS5jbGVhcih0aGlzLm5hbWUpO1xuXHRcdHRoaXMua2V5Q2hhbmdlcy5uZXh0KG51bGwpO1xuXHRcdHJldHVybiBvZihudWxsKTtcblx0fVxuXG59XG4iXX0=