UNPKG

@spartacus/core

Version:

Spartacus - the core framework

39 lines 5.5 kB
import { Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { CURRENCY_CONTEXT_ID } from '../providers/context-ids'; import * as i0 from "@angular/core"; import * as i1 from "../../state/services/state-persistence.service"; import * as i2 from "../facade/currency.service"; import * as i3 from "../config/site-context-config"; export class CurrencyStatePersistenceService { constructor(statePersistenceService, currencyService, config) { this.statePersistenceService = statePersistenceService; this.currencyService = currencyService; this.config = config; this.initialized$ = new ReplaySubject(1); } initSync() { this.statePersistenceService.syncWithStorage({ key: CURRENCY_CONTEXT_ID, state$: this.currencyService.getActive(), onRead: (state) => this.onRead(state), }); return this.initialized$; } onRead(valueFromStorage) { if (!this.currencyService.isInitialized() && valueFromStorage) { this.currencyService.setActive(valueFromStorage); } if (!this.initialized$.closed) { this.initialized$.next(); this.initialized$.complete(); } } } CurrencyStatePersistenceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CurrencyStatePersistenceService, deps: [{ token: i1.StatePersistenceService }, { token: i2.CurrencyService }, { token: i3.SiteContextConfig }], target: i0.ɵɵFactoryTarget.Injectable }); CurrencyStatePersistenceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CurrencyStatePersistenceService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CurrencyStatePersistenceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.StatePersistenceService }, { type: i2.CurrencyService }, { type: i3.SiteContextConfig }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktc3RhdGUtcGVyc2lzdGVuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NpdGUtY29udGV4dC9zZXJ2aWNlcy9jdXJyZW5jeS1zdGF0ZS1wZXJzaXN0ZW5jZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFHL0QsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUNZLHVCQUFnRCxFQUNoRCxlQUFnQyxFQUNoQyxNQUF5QjtRQUZ6Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUczQixpQkFBWSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO0lBRnBELENBQUM7SUFJRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztZQUMzQyxHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRTtZQUN4QyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRVMsTUFBTSxDQUFDLGdCQUF3QjtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRTtZQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7OzRIQTNCVSwrQkFBK0I7Z0lBQS9CLCtCQUErQixjQURsQixNQUFNOzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdGF0ZS9zZXJ2aWNlcy9zdGF0ZS1wZXJzaXN0ZW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNpdGVDb250ZXh0Q29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3NpdGUtY29udGV4dC1jb25maWcnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZmFjYWRlL2N1cnJlbmN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ1VSUkVOQ1lfQ09OVEVYVF9JRCB9IGZyb20gJy4uL3Byb3ZpZGVycy9jb250ZXh0LWlkcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lTdGF0ZVBlcnNpc3RlbmNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdGF0ZVBlcnNpc3RlbmNlU2VydmljZTogU3RhdGVQZXJzaXN0ZW5jZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb25maWc6IFNpdGVDb250ZXh0Q29uZmlnXG4gICkge31cblxuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8dW5rbm93bj4oMSk7XG5cbiAgcHVibGljIGluaXRTeW5jKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHRoaXMuc3RhdGVQZXJzaXN0ZW5jZVNlcnZpY2Uuc3luY1dpdGhTdG9yYWdlKHtcbiAgICAgIGtleTogQ1VSUkVOQ1lfQ09OVEVYVF9JRCxcbiAgICAgIHN0YXRlJDogdGhpcy5jdXJyZW5jeVNlcnZpY2UuZ2V0QWN0aXZlKCksXG4gICAgICBvblJlYWQ6IChzdGF0ZSkgPT4gdGhpcy5vblJlYWQoc3RhdGUpLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkJDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblJlYWQodmFsdWVGcm9tU3RvcmFnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbmN5U2VydmljZS5pc0luaXRpYWxpemVkKCkgJiYgdmFsdWVGcm9tU3RvcmFnZSkge1xuICAgICAgdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc2V0QWN0aXZlKHZhbHVlRnJvbVN0b3JhZ2UpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pbml0aWFsaXplZCQuY2xvc2VkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVkJC5uZXh0KCk7XG4gICAgICB0aGlzLmluaXRpYWxpemVkJC5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuIl19