UNPKG

@spartacus/core

Version:

Spartacus - the core framework

35 lines 4.88 kB
import { Injectable } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { filter, map, shareReplay, startWith } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; /** * Helper service to expose all activated routes */ export class ActivatedRoutesService { constructor(router) { this.router = router; /** * Array of currently activated routes (from the root route to the leaf route). */ this.routes$ = this.router.events.pipe(filter((event) => event instanceof NavigationEnd), // eslint-disable-next-line import/no-deprecated startWith(undefined), // emit value for consumer who subscribed lately after NavigationEnd event map(() => { let route = this.router.routerState.snapshot.root; const routes = [route]; // traverse to the leaf route: while ((route = route.firstChild)) { routes.push(route); } return routes; }), shareReplay({ bufferSize: 1, refCount: true })); } } ActivatedRoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ActivatedRoutesService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); ActivatedRoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ActivatedRoutesService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: ActivatedRoutesService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i1.Router }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGVkLXJvdXRlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvcm91dGluZy9zZXJ2aWNlcy9hY3RpdmF0ZWQtcm91dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQTBCLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXJFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVwQzs7V0FFRztRQUNNLFlBQU8sR0FDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JCLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQztRQUNqRCxnREFBZ0Q7UUFDaEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLDBFQUEwRTtRQUNoRyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNsRCxNQUFNLE1BQU0sR0FBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVqRCw4QkFBOEI7WUFDOUIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEI7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0lBdEJtQyxDQUFDOzttSEFEN0Isc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FEVCxNQUFNOzJGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEhlbHBlciBzZXJ2aWNlIHRvIGV4cG9zZSBhbGwgYWN0aXZhdGVkIHJvdXRlc1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFjdGl2YXRlZFJvdXRlc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIpIHt9XG5cbiAgLyoqXG4gICAqIEFycmF5IG9mIGN1cnJlbnRseSBhY3RpdmF0ZWQgcm91dGVzIChmcm9tIHRoZSByb290IHJvdXRlIHRvIHRoZSBsZWFmIHJvdXRlKS5cbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlcyQ6IE9ic2VydmFibGU8QWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdPiA9XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1kZXByZWNhdGVkXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSwgLy8gZW1pdCB2YWx1ZSBmb3IgY29uc3VtZXIgd2hvIHN1YnNjcmliZWQgbGF0ZWx5IGFmdGVyIE5hdmlnYXRpb25FbmQgZXZlbnRcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGxldCByb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgICAgIGNvbnN0IHJvdXRlczogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW3JvdXRlXTtcblxuICAgICAgICAvLyB0cmF2ZXJzZSB0byB0aGUgbGVhZiByb3V0ZTpcbiAgICAgICAgd2hpbGUgKChyb3V0ZSA9IHJvdXRlLmZpcnN0Q2hpbGQpKSB7XG4gICAgICAgICAgcm91dGVzLnB1c2gocm91dGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgICk7XG59XG4iXX0=