UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

31 lines 3.85 kB
import { Injectable } from '@angular/core'; import { distinctUntilChanged, shareReplay } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "./routing-context.service"; /** * Generic service for resolving the context for the UI components. */ export class ContextService { constructor(routingContextService) { this.routingContextService = routingContextService; } /** * Returns the context for the given token. */ get(contextToken) { return this.resolveContext(contextToken).pipe(distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 })); } /** * Resolves the context for the given token. */ resolveContext(contextToken) { return this.routingContextService.get(contextToken); } } ContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ContextService, deps: [{ token: i1.RoutingContextService }], target: i0.ɵɵFactoryTarget.Injectable }); ContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ContextService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ContextService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.RoutingContextService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RvcmVmcm9udGxpYi9jb250ZXh0L2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSW5FOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBc0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFBRyxDQUFDO0lBRXRFOztPQUVHO0lBQ0gsR0FBRyxDQUFJLFlBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBSSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzlDLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQy9DLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjLENBQ3RCLFlBQTBCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RCxDQUFDOzsyR0FwQlUsY0FBYzsrR0FBZCxjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0VG9rZW4gfSBmcm9tICcuL2NvbnRleHQubW9kZWwnO1xuaW1wb3J0IHsgUm91dGluZ0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9yb3V0aW5nLWNvbnRleHQuc2VydmljZSc7XG5cbi8qKlxuICogR2VuZXJpYyBzZXJ2aWNlIGZvciByZXNvbHZpbmcgdGhlIGNvbnRleHQgZm9yIHRoZSBVSSBjb21wb25lbnRzLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbnRleHRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRpbmdDb250ZXh0U2VydmljZTogUm91dGluZ0NvbnRleHRTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb250ZXh0IGZvciB0aGUgZ2l2ZW4gdG9rZW4uXG4gICAqL1xuICBnZXQ8VD4oY29udGV4dFRva2VuOiBDb250ZXh0VG9rZW4pOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlQ29udGV4dDxUPihjb250ZXh0VG9rZW4pLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIGNvbnRleHQgZm9yIHRoZSBnaXZlbiB0b2tlbi5cbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlQ29udGV4dDxUPihcbiAgICBjb250ZXh0VG9rZW46IENvbnRleHRUb2tlblxuICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5yb3V0aW5nQ29udGV4dFNlcnZpY2UuZ2V0KGNvbnRleHRUb2tlbik7XG4gIH1cbn1cbiJdfQ==