@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
JavaScript
/*
* 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