UNPKG

@versatiledatakit/shared

Version:

Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.

34 lines 3.68 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { Injectable } from '@angular/core'; import { RouteStateFactory } from '../../factory'; import * as i0 from "@angular/core"; /** * ** Shared Router Serializer implements NgRx RouterStateSerializer. */ export class SharedRouterSerializer { /** * ** Constructor. */ constructor() { this._routeStateFactory = new RouteStateFactory(); } /** * @inheritDoc */ serialize(routerState) { let routeSnapshot = routerState.root; while (routeSnapshot.firstChild) { routeSnapshot = routeSnapshot.firstChild; } return this._routeStateFactory.create(routeSnapshot, routerState.url); } } SharedRouterSerializer.ɵfac = function SharedRouterSerializer_Factory(t) { return new (t || SharedRouterSerializer)(); }; SharedRouterSerializer.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SharedRouterSerializer, factory: SharedRouterSerializer.ɵfac }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SharedRouterSerializer, [{ type: Injectable }], function () { return []; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXNlcmlhbGl6ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL2NvcmUvcm91dGVyL2ludGVncmF0aW9uL25ncngvcm91dGVyLXNlcmlhbGl6ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFbEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sc0JBQXNCO0lBRy9COztPQUVHO0lBQ0g7UUFDSSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxXQUFnQztRQUN0QyxJQUFJLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXJDLE9BQU8sYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUM3QixhQUFhLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUM1QztRQUVELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OzRGQXJCUSxzQkFBc0I7NEVBQXRCLHNCQUFzQixXQUF0QixzQkFBc0I7dUZBQXRCLHNCQUFzQjtjQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFJvdXRlclN0YXRlU2VyaWFsaXplciB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5cbmltcG9ydCB7IFJvdXRlU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBSb3V0ZVN0YXRlRmFjdG9yeSB9IGZyb20gJy4uLy4uL2ZhY3RvcnknO1xuXG4vKipcbiAqICoqIFNoYXJlZCBSb3V0ZXIgU2VyaWFsaXplciBpbXBsZW1lbnRzIE5nUnggUm91dGVyU3RhdGVTZXJpYWxpemVyLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2hhcmVkUm91dGVyU2VyaWFsaXplciBpbXBsZW1lbnRzIFJvdXRlclN0YXRlU2VyaWFsaXplcjxSb3V0ZVN0YXRlPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVTdGF0ZUZhY3Rvcnk6IFJvdXRlU3RhdGVGYWN0b3J5O1xuXG4gICAgLyoqXG4gICAgICogKiogQ29uc3RydWN0b3IuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuX3JvdXRlU3RhdGVGYWN0b3J5ID0gbmV3IFJvdXRlU3RhdGVGYWN0b3J5KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBzZXJpYWxpemUocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBSb3V0ZVN0YXRlIHtcbiAgICAgICAgbGV0IHJvdXRlU25hcHNob3QgPSByb3V0ZXJTdGF0ZS5yb290O1xuXG4gICAgICAgIHdoaWxlIChyb3V0ZVNuYXBzaG90LmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgIHJvdXRlU25hcHNob3QgPSByb3V0ZVNuYXBzaG90LmZpcnN0Q2hpbGQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fcm91dGVTdGF0ZUZhY3RvcnkuY3JlYXRlKHJvdXRlU25hcHNob3QsIHJvdXRlclN0YXRlLnVybCk7XG4gICAgfVxufVxuIl19