UNPKG

@versatiledatakit/shared

Version:

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

71 lines 7.08 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { Directive, Injectable } from '@angular/core'; import { map } from 'rxjs/operators'; import { TaurusObject } from '../../../common'; import { STORE_ROUTER } from '../../ngrx'; import { RouterState } from '../model'; import * as i0 from "@angular/core"; import * as i1 from "@ngrx/store"; /** * ** Router Service. */ // eslint-disable-next-line @angular-eslint/directive-class-suffix export class RouterService extends TaurusObject { /** * ** Will return current Router. */ static get() { return RouterService._routerState; } /** * ** Will return current Route State. */ static getState() { return RouterService._routerState.state; } } RouterService._routerState = RouterState.empty(); RouterService.ɵfac = /*@__PURE__*/ function () { let ɵRouterService_BaseFactory; return function RouterService_Factory(t) { returnRouterService_BaseFactory || (ɵRouterService_BaseFactory = i0.ɵɵgetInheritedFactory(RouterService)))(t || RouterService); }; }(); RouterService.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: RouterService, features: [i0.ɵɵInheritDefinitionFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouterService, [{ type: Directive }], null, null); })(); /** * @inheritDoc */ export class RouterServiceImpl extends RouterService { constructor(store$) { super(); this.store$ = store$; } /** * @inheritDoc */ get() { return this.store$.select(STORE_ROUTER); } /** * @inheritDoc */ getState() { return this.get().pipe(map((data) => data.state)); } /** * @inheritDoc */ initialize() { this.cleanSubscriptions(); this.subscriptions.push(this.get().subscribe((state) => { RouterService._routerState = state; })); } } RouterServiceImpl.ɵfac = function RouterServiceImpl_Factory(t) { return new (t || RouterServiceImpl)(i0.ɵɵinject(i1.Store)); }; RouterServiceImpl.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RouterServiceImpl, factory: RouterServiceImpl.ɵfac }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouterServiceImpl, [{ type: Injectable }], function () { return [{ type: i1.Store }]; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb3JlL3JvdXRlci9zZXJ2aWNlcy9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxZQUFZLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLFVBQVUsQ0FBQzs7O0FBRW5EOztHQUVHO0FBRUgsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0IsYUFBYyxTQUFRLFlBQVk7SUFHcEQ7O09BRUc7SUFDSCxNQUFNLENBQUMsR0FBRztRQUNOLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsUUFBUTtRQUNYLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQzs7QUFkZ0IsMEJBQVksR0FBZ0IsV0FBVyxDQUFDLEtBQUssRUFBRyxDQUFBO3lOQUQvQyxhQUFhLFNBQWIsYUFBYTtnRUFBYixhQUFhO3VGQUFiLGFBQWE7Y0FGbEMsU0FBUzs7QUFtQ1Y7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQUNoRCxZQUE2QixNQUF5QjtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQURpQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUV0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0IsYUFBYSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O2tGQTlCUSxpQkFBaUI7dUVBQWpCLGlCQUFpQixXQUFqQixpQkFBaUI7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IFRhdXJ1c09iamVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbic7XG5cbmltcG9ydCB7IFNUT1JFX1JPVVRFUiwgU3RvcmVTdGF0ZSB9IGZyb20gJy4uLy4uL25ncngnO1xuXG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZSwgUm91dGVTdGF0ZSB9IGZyb20gJy4uL21vZGVsJztcblxuLyoqXG4gKiAqKiBSb3V0ZXIgU2VydmljZS5cbiAqL1xuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3V0ZXJTZXJ2aWNlIGV4dGVuZHMgVGF1cnVzT2JqZWN0IHtcbiAgICBwcm90ZWN0ZWQgc3RhdGljIF9yb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGUgPSBSb3V0ZXJTdGF0ZS5lbXB0eSgpO1xuXG4gICAgLyoqXG4gICAgICogKiogV2lsbCByZXR1cm4gY3VycmVudCBSb3V0ZXIuXG4gICAgICovXG4gICAgc3RhdGljIGdldCgpOiBSb3V0ZXJTdGF0ZSB7XG4gICAgICAgIHJldHVybiBSb3V0ZXJTZXJ2aWNlLl9yb3V0ZXJTdGF0ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAqKiBXaWxsIHJldHVybiBjdXJyZW50IFJvdXRlIFN0YXRlLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRTdGF0ZSgpOiBSb3V0ZVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlclNlcnZpY2UuX3JvdXRlclN0YXRlLnN0YXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICoqIFdpbGwgcmV0dXJuIE9ic2VydmFibGUgd2l0aCBOZ1J4IFJvdXRlIFN0YXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldCgpOiBPYnNlcnZhYmxlPFJvdXRlclN0YXRlPjtcblxuICAgIC8qKlxuICAgICAqICoqIFdpbGwgcmV0dXJuIE9ic2VydmFibGUgd2l0aCBSb3V0ZSBTdGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRTdGF0ZSgpOiBPYnNlcnZhYmxlPFJvdXRlU3RhdGU+O1xuXG4gICAgLyoqXG4gICAgICogKiogV2lsbCBpbml0aWFsaXplIHNlcnZpY2UuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaW5pdGlhbGl6ZSgpOiB2b2lkO1xufVxuXG4vKipcbiAqIEBpbmhlcml0RG9jXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTZXJ2aWNlSW1wbCBleHRlbmRzIFJvdXRlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RvcmUkOiBTdG9yZTxTdG9yZVN0YXRlPikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgZ2V0KCk6IE9ic2VydmFibGU8Um91dGVyU3RhdGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUkLnNlbGVjdChTVE9SRV9ST1VURVIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxSb3V0ZVN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUobWFwKChkYXRhKSA9PiBkYXRhLnN0YXRlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFuU3Vic2NyaXB0aW9ucygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgdGhpcy5nZXQoKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgUm91dGVyU2VydmljZS5fcm91dGVyU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19