@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
JavaScript
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==