@ngxs/router-plugin 18.1.5 → 18.1.6-dev.master-a9e7ff3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngxs-router-plugin-internals.mjs +2 -3
- package/fesm2022/ngxs-router-plugin-internals.mjs.map +1 -1
- package/fesm2022/ngxs-router-plugin.mjs +35 -29
- package/fesm2022/ngxs-router-plugin.mjs.map +1 -1
- package/index.d.ts +18 -18
- package/package.json +5 -9
- package/esm2022/index.mjs +0 -5
- package/esm2022/internals/index.mjs +0 -2
- package/esm2022/internals/ngxs-router-plugin-internals.mjs +0 -5
- package/esm2022/internals/symbols.mjs +0 -10
- package/esm2022/ngxs-router-plugin.mjs +0 -5
- package/esm2022/src/public_api.mjs +0 -5
- package/esm2022/src/router.actions.mjs +0 -85
- package/esm2022/src/router.module.mjs +0 -45
- package/esm2022/src/router.state.mjs +0 -217
- package/esm2022/src/serializer.mjs +0 -33
- package/internals/package.json +0 -3
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const ɵ
|
|
5
|
-
const ɵNGXS_ROUTER_PLUGIN_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_ROUTER_PLUGIN_OPTIONS' : '', { providedIn: 'root', factory: () => ({}) });
|
|
3
|
+
const ɵUSER_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'USER_OPTIONS' : '', { providedIn: 'root', factory: () => undefined });
|
|
4
|
+
const ɵNGXS_ROUTER_PLUGIN_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_ROUTER_PLUGIN_OPTIONS' : '', { providedIn: 'root', factory: () => ({}) });
|
|
6
5
|
function ɵcreateRouterPluginOptions(options) {
|
|
7
6
|
return {
|
|
8
7
|
navigationActionTiming: (options && options.navigationActionTiming) || 1 /* NavigationActionTiming.PreActivation */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-router-plugin-internals.mjs","sources":["../../../packages/router-plugin/internals/src/symbols.ts","../../../packages/router-plugin/internals/src/ngxs-router-plugin-internals.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\
|
|
1
|
+
{"version":3,"file":"ngxs-router-plugin-internals.mjs","sources":["../../../packages/router-plugin/internals/src/symbols.ts","../../../packages/router-plugin/internals/src/ngxs-router-plugin-internals.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\ndeclare const ngDevMode: boolean;\n\nexport const enum NavigationActionTiming {\n PreActivation = 1,\n PostActivation = 2\n}\n\nexport interface NgxsRouterPluginOptions {\n navigationActionTiming?: NavigationActionTiming;\n}\n\nexport const ɵUSER_OPTIONS = new InjectionToken<NgxsRouterPluginOptions | undefined>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'USER_OPTIONS' : '',\n { providedIn: 'root', factory: () => undefined }\n);\n\nexport const ɵNGXS_ROUTER_PLUGIN_OPTIONS = new InjectionToken<NgxsRouterPluginOptions>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'NGXS_ROUTER_PLUGIN_OPTIONS' : '',\n { providedIn: 'root', factory: () => ({}) }\n);\n\nexport function ɵcreateRouterPluginOptions(\n options: NgxsRouterPluginOptions | undefined\n): NgxsRouterPluginOptions {\n return {\n navigationActionTiming:\n (options && options.navigationActionTiming) || NavigationActionTiming.PreActivation\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,GAAG,IAAI,cAAc,CAC7C,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,cAAc,GAAG,EAAE,EACnE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,EAAE;AAGrC,MAAA,2BAA2B,GAAG,IAAI,cAAc,CAC3D,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,GAAG,4BAA4B,GAAG,EAAE,EACjF,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;AAGvC,SAAU,0BAA0B,CACxC,OAA4C,EAAA;IAE5C,OAAO;QACL,sBAAsB,EACpB,CAAC,OAAO,IAAI,OAAO,CAAC,sBAAsB,KAAyC,CAAA;KACtF;AACH;;AC9BA;;AAEG;;;;"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { inject, NgZone, Injectable, NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
3
3
|
import * as i1 from '@ngxs/store';
|
|
4
|
-
import { StateToken,
|
|
4
|
+
import { StateToken, Store, Action, Selector, State, NgxsModule, provideStates } from '@ngxs/store';
|
|
5
5
|
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS as _NGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS as _USER_OPTIONS, ɵcreateRouterPluginOptions as _createRouterPluginOptions } from '@ngxs/router-plugin/internals';
|
|
6
6
|
import { __decorate, __metadata } from 'tslib';
|
|
7
|
-
import
|
|
8
|
-
import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router } from '@angular/router';
|
|
7
|
+
import { Router, NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd } from '@angular/router';
|
|
9
8
|
import { ReplaySubject } from 'rxjs';
|
|
10
9
|
import { takeUntil } from 'rxjs/operators';
|
|
11
10
|
|
|
@@ -132,17 +131,19 @@ class DefaultRouterStateSerializer {
|
|
|
132
131
|
// the following state token must replace `RouterState`.
|
|
133
132
|
const ROUTER_STATE_TOKEN = new StateToken('router');
|
|
134
133
|
let RouterState = class RouterState {
|
|
135
|
-
static
|
|
134
|
+
static state(state) {
|
|
136
135
|
// The `state` is optional if the selector is invoked before the router
|
|
137
136
|
// state is registered in NGXS.
|
|
138
137
|
return state?.state;
|
|
139
|
-
}
|
|
140
|
-
static
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
this.
|
|
145
|
-
this.
|
|
138
|
+
}
|
|
139
|
+
static url(state) {
|
|
140
|
+
return state?.state?.url;
|
|
141
|
+
}
|
|
142
|
+
constructor() {
|
|
143
|
+
this._store = inject(Store);
|
|
144
|
+
this._router = inject(Router);
|
|
145
|
+
this._serializer = inject(RouterStateSerializer);
|
|
146
|
+
this._ngZone = inject(NgZone);
|
|
146
147
|
/**
|
|
147
148
|
* Determines how navigation was performed by the `RouterState` itself
|
|
148
149
|
* or outside via `new Navigate(...)`
|
|
@@ -157,11 +158,8 @@ let RouterState = class RouterState {
|
|
|
157
158
|
*/
|
|
158
159
|
this._storeState = null;
|
|
159
160
|
this._lastEvent = null;
|
|
160
|
-
this._options =
|
|
161
|
+
this._options = inject(_NGXS_ROUTER_PLUGIN_OPTIONS);
|
|
161
162
|
this._destroy$ = new ReplaySubject(1);
|
|
162
|
-
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
163
|
-
// integration, it cannot resolve the token provider.
|
|
164
|
-
this._options = injector.get(_NGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
165
163
|
this._setUpStoreListener();
|
|
166
164
|
this._setUpRouterEventsListener();
|
|
167
165
|
}
|
|
@@ -289,8 +287,8 @@ let RouterState = class RouterState {
|
|
|
289
287
|
this._storeState = null;
|
|
290
288
|
this._routerState = null;
|
|
291
289
|
}
|
|
292
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
293
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
290
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RouterState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
291
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RouterState }); }
|
|
294
292
|
};
|
|
295
293
|
__decorate([
|
|
296
294
|
Action(Navigate),
|
|
@@ -311,6 +309,18 @@ __decorate([
|
|
|
311
309
|
__metadata("design:paramtypes", [Object, Object]),
|
|
312
310
|
__metadata("design:returntype", void 0)
|
|
313
311
|
], RouterState.prototype, "angularRouterAction", null);
|
|
312
|
+
__decorate([
|
|
313
|
+
Selector(),
|
|
314
|
+
__metadata("design:type", Function),
|
|
315
|
+
__metadata("design:paramtypes", [Object]),
|
|
316
|
+
__metadata("design:returntype", void 0)
|
|
317
|
+
], RouterState, "state", null);
|
|
318
|
+
__decorate([
|
|
319
|
+
Selector(),
|
|
320
|
+
__metadata("design:type", Function),
|
|
321
|
+
__metadata("design:paramtypes", [Object]),
|
|
322
|
+
__metadata("design:returntype", Object)
|
|
323
|
+
], RouterState, "url", null);
|
|
314
324
|
RouterState = __decorate([
|
|
315
325
|
State({
|
|
316
326
|
name: ROUTER_STATE_TOKEN,
|
|
@@ -320,15 +330,11 @@ RouterState = __decorate([
|
|
|
320
330
|
trigger: 'none'
|
|
321
331
|
}
|
|
322
332
|
}),
|
|
323
|
-
__metadata("design:paramtypes", [
|
|
324
|
-
Router,
|
|
325
|
-
RouterStateSerializer,
|
|
326
|
-
NgZone,
|
|
327
|
-
Injector])
|
|
333
|
+
__metadata("design:paramtypes", [])
|
|
328
334
|
], RouterState);
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RouterState, decorators: [{
|
|
330
336
|
type: Injectable
|
|
331
|
-
}], ctorParameters: () => [
|
|
337
|
+
}], ctorParameters: () => [], propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
332
338
|
|
|
333
339
|
class NgxsRouterPluginModule {
|
|
334
340
|
static forRoot(options) {
|
|
@@ -345,11 +351,11 @@ class NgxsRouterPluginModule {
|
|
|
345
351
|
]
|
|
346
352
|
};
|
|
347
353
|
}
|
|
348
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
349
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
350
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
354
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsRouterPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
355
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] }); }
|
|
356
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] }); }
|
|
351
357
|
}
|
|
352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
353
359
|
type: NgModule,
|
|
354
360
|
args: [{
|
|
355
361
|
imports: [NgxsModule.forFeature([RouterState])]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, Injector } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, createSelector, State, StateContext, StateToken, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n NgxsRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n// NGXS doesn't permit untyped selectors, such as `select(RouterState)`,\n// as the `RouterState` class itself lacks type information. Therefore,\n// the following state token must replace `RouterState`.\nexport const ROUTER_STATE_TOKEN = new StateToken<RouterStateModel>('router');\n\n@State<RouterStateModel>({\n name: ROUTER_STATE_TOKEN,\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _options: NgxsRouterPluginOptions | null = null;\n\n private _destroy$ = new ReplaySubject<void>(1);\n\n static state = /* @__PURE__ */ createSelector(\n [ROUTER_STATE_TOKEN],\n (state: RouterStateModel<RouterStateSnapshot>) => {\n // The `state` is optional if the selector is invoked before the router\n // state is registered in NGXS.\n return state?.state;\n }\n );\n\n static url = /* @__PURE__ */ createSelector(\n [ROUTER_STATE_TOKEN],\n state => state?.state?.url\n );\n\n constructor(\n private _store: Store,\n private _router: Router,\n private _serializer: RouterStateSerializer<RouterStateSnapshot>,\n private _ngZone: NgZone,\n injector: Injector\n ) {\n // Note: do not use `@Inject` since it fails on lower versions of Angular with Jest\n // integration, it cannot resolve the token provider.\n this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest<RouterStateSnapshot>,\n RouterNavigation<RouterStateSnapshot>,\n RouterError<RouterStateModel, RouterStateSnapshot>,\n RouterCancel<RouterStateModel, RouterStateSnapshot>,\n RouterDataResolved<RouterStateSnapshot>,\n RouterNavigated<RouterStateSnapshot>\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const routerState$ = this._store\n .select(ROUTER_STATE_TOKEN)\n .pipe(takeUntil(this._destroy$));\n routerState$.subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const events$ = this._router.events.pipe(takeUntil(this._destroy$));\n events$.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ɵNGXS_ROUTER_PLUGIN_OPTIONS","i3.RouterStateSerializer","ɵUSER_OPTIONS","ɵcreateRouterPluginOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngxs-router-plugin.mjs","sources":["../../../packages/router-plugin/src/router.actions.ts","../../../packages/router-plugin/src/serializer.ts","../../../packages/router-plugin/src/router.state.ts","../../../packages/router-plugin/src/router.module.ts","../../../packages/router-plugin/index.ts","../../../packages/router-plugin/ngxs-router-plugin.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\n\nimport { RouterTrigger } from './router.state';\n\n/**\n * Public event api of the router\n */\nexport class Navigate {\n static readonly type = '[Router] Navigate';\n\n constructor(\n public path: any[],\n public queryParams?: Params,\n public extras?: NavigationExtras\n ) {}\n}\n\n/**\n *\n * Angular Routers internal state events\n *\n */\n\n/**\n * An action dispatched when the router starts the navigation.\n */\nexport class RouterRequest<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterRequest';\n\n constructor(\n public routerState: T,\n public event: NavigationStart,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigation';\n\n constructor(\n public routerState: T,\n public event: RoutesRecognized,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router cancel navigation.\n */\nexport class RouterCancel<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterCancel';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationCancel,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router errors.\n */\nexport class RouterError<T, V = RouterStateSnapshot> {\n static readonly type = '[Router] RouterError';\n\n constructor(\n public routerState: V,\n public storeState: T,\n public event: NavigationError,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the `ResolveEnd` event is triggered.\n */\nexport class RouterDataResolved<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterDataResolved';\n\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An action dispatched when the router navigation has been finished successfully.\n */\nexport class RouterNavigated<T = RouterStateSnapshot> {\n static readonly type = '[Router] RouterNavigated';\n\n constructor(\n public routerState: T,\n public event: NavigationEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterRequest<V>\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<V>\n | RouterNavigated<V>;\n","import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nexport abstract class RouterStateSerializer<T> {\n abstract serialize(routerState: RouterStateSnapshot): T;\n}\n\nexport interface SerializedRouterStateSnapshot {\n root: ActivatedRouteSnapshot;\n url: string;\n}\n\nexport class DefaultRouterStateSerializer\n implements RouterStateSerializer<SerializedRouterStateSnapshot>\n{\n serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url\n };\n }\n\n private serializeRoute(route: ActivatedRouteSnapshot): ActivatedRouteSnapshot {\n const children = route.children.map(c => this.serializeRoute(c));\n return {\n url: route.url,\n title: route.title,\n params: route.params,\n queryParams: route.queryParams,\n fragment: route.fragment!,\n data: route.data,\n outlet: route.outlet,\n component: null,\n routeConfig: null,\n root: null as any,\n parent: null,\n firstChild: children[0],\n children: children,\n pathFromRoot: null as any,\n paramMap: route.paramMap,\n queryParamMap: route.queryParamMap,\n toString: route.toString\n };\n }\n}\n","import { NgZone, Injectable, OnDestroy, inject } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd,\n Event\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, StateToken, Store } from '@ngxs/store';\nimport {\n NavigationActionTiming,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS\n} from '@ngxs/router-plugin/internals';\nimport { ReplaySubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved,\n RouterRequest,\n RouterNavigated\n} from './router.actions';\nimport { RouterStateSerializer } from './serializer';\n\nexport interface RouterStateModel<T = RouterStateSnapshot> {\n state?: T;\n navigationId?: number;\n trigger: RouterTrigger;\n}\n\nexport type RouterTrigger =\n | 'none'\n | 'router'\n | 'store'\n // The `devtools` trigger means that the state change has been triggered by Redux DevTools (e.g. when the time-traveling is used).\n | 'devtools';\n\n// NGXS doesn't permit untyped selectors, such as `select(RouterState)`,\n// as the `RouterState` class itself lacks type information. Therefore,\n// the following state token must replace `RouterState`.\nexport const ROUTER_STATE_TOKEN = new StateToken<RouterStateModel>('router');\n\n@State<RouterStateModel>({\n name: ROUTER_STATE_TOKEN,\n defaults: {\n state: undefined,\n navigationId: undefined,\n trigger: 'none'\n }\n})\n@Injectable()\nexport class RouterState implements OnDestroy {\n private _store = inject(Store);\n private _router = inject(Router);\n private _serializer: RouterStateSerializer<RouterStateSnapshot> =\n inject(RouterStateSerializer);\n private _ngZone = inject(NgZone);\n\n /**\n * Determines how navigation was performed by the `RouterState` itself\n * or outside via `new Navigate(...)`\n */\n private _trigger: RouterTrigger = 'none';\n\n /**\n * That's the serialized state from the `Router` class\n */\n private _routerState: RouterStateSnapshot | null = null;\n\n /**\n * That's the value of the `RouterState` state\n */\n private _storeState: RouterStateModel | null = null;\n\n private _lastEvent: Event | null = null;\n\n private _options = inject(ɵNGXS_ROUTER_PLUGIN_OPTIONS);\n\n private _destroy$ = new ReplaySubject<void>(1);\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n // The `state` is optional if the selector is invoked before the router\n // state is registered in NGXS.\n return state?.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state?.state?.url;\n }\n\n constructor() {\n this._setUpStoreListener();\n this._setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n @Action(Navigate)\n navigate(_: StateContext<RouterStateModel>, action: Navigate) {\n return this._ngZone.run(() =>\n this._router.navigate(action.path, {\n queryParams: action.queryParams,\n ...action.extras\n })\n );\n }\n\n @Action([\n RouterRequest<RouterStateSnapshot>,\n RouterNavigation<RouterStateSnapshot>,\n RouterError<RouterStateModel, RouterStateSnapshot>,\n RouterCancel<RouterStateModel, RouterStateSnapshot>,\n RouterDataResolved<RouterStateSnapshot>,\n RouterNavigated<RouterStateSnapshot>\n ])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private _setUpStoreListener(): void {\n const routerState$ = this._store\n .select(ROUTER_STATE_TOKEN)\n .pipe(takeUntil(this._destroy$));\n routerState$.subscribe((state: RouterStateModel | undefined) => {\n this._navigateIfNeeded(state);\n });\n }\n\n private _navigateIfNeeded(routerState: RouterStateModel | undefined): void {\n if (routerState && routerState.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !routerState ||\n routerState.trigger === 'router' ||\n this._router.url === this._storeState.state.url ||\n this._lastEvent instanceof NavigationStart;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n this._trigger = 'store';\n this._ngZone.run(() => this._router.navigateByUrl(this._storeState!.state!.url));\n }\n\n private _setUpRouterEventsListener(): void {\n const dispatchRouterNavigationLate =\n this._options != null &&\n this._options.navigationActionTiming === NavigationActionTiming.PostActivation;\n\n let lastRoutesRecognized: RoutesRecognized;\n\n const events$ = this._router.events.pipe(takeUntil(this._destroy$));\n events$.subscribe(event => {\n this._lastEvent = event;\n\n if (event instanceof NavigationStart) {\n this._navigationStart(event);\n } else if (event instanceof RoutesRecognized) {\n lastRoutesRecognized = event;\n if (!dispatchRouterNavigationLate && this._trigger !== 'store') {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n } else if (event instanceof ResolveEnd) {\n this._dispatchRouterDataResolved(event);\n } else if (event instanceof NavigationCancel) {\n this._dispatchRouterCancel(event);\n this._reset();\n } else if (event instanceof NavigationError) {\n this._dispatchRouterError(event);\n this._reset();\n } else if (event instanceof NavigationEnd) {\n if (this._trigger !== 'store') {\n if (dispatchRouterNavigationLate) {\n this._dispatchRouterNavigation(lastRoutesRecognized);\n }\n this._dispatchRouterNavigated(event);\n }\n this._reset();\n }\n });\n }\n\n /** Reacts to `NavigationStart`. */\n private _navigationStart(event: NavigationStart): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);\n this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));\n }\n }\n\n /** Reacts to `ResolveEnd`. */\n private _dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n /** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */\n private _dispatchRouterNavigation(lastRoutesRecognized: RoutesRecognized): void {\n const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);\n\n this._dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n lastRoutesRecognized.id,\n lastRoutesRecognized.url,\n lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationCancel`. */\n private _dispatchRouterCancel(event: NavigationCancel): void {\n this._dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterError(event: NavigationError): void {\n this._dispatchRouterAction(\n new RouterError(\n this._routerState!,\n this._storeState,\n new NavigationError(event.id, event.url, `${event}`),\n this._trigger\n )\n );\n }\n\n /** Reacts to `NavigationEnd`. */\n private _dispatchRouterNavigated(event: NavigationEnd): void {\n const routerState = this._serializer.serialize(this._router.routerState.snapshot);\n this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));\n }\n\n private _dispatchRouterAction<T>(action: RouterAction<T>): void {\n this._trigger = 'router';\n\n try {\n this._store.dispatch(action);\n } finally {\n this._trigger = 'none';\n }\n }\n\n private _reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import {\n EnvironmentProviders,\n ModuleWithProviders,\n NgModule,\n makeEnvironmentProviders\n} from '@angular/core';\nimport { NgxsModule, provideStates } from '@ngxs/store';\nimport {\n NgxsRouterPluginOptions,\n ɵcreateRouterPluginOptions,\n ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n ɵUSER_OPTIONS\n} from '@ngxs/router-plugin/internals';\n\nimport { RouterState } from './router.state';\nimport { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';\n\n@NgModule({\n imports: [NgxsModule.forFeature([RouterState])]\n})\nexport class NgxsRouterPluginModule {\n static forRoot(\n options?: NgxsRouterPluginOptions\n ): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]\n };\n }\n}\n\nexport function withNgxsRouterPlugin(options?: NgxsRouterPluginOptions): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideStates([RouterState]),\n { provide: ɵUSER_OPTIONS, useValue: options },\n {\n provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,\n useFactory: ɵcreateRouterPluginOptions,\n deps: [ɵUSER_OPTIONS]\n },\n { provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }\n ]);\n}\n","/**\n * The public api for consumers of @ngxs/router-plugin\n */\nexport * from './src/public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ɵNGXS_ROUTER_PLUGIN_OPTIONS","ɵUSER_OPTIONS","ɵcreateRouterPluginOptions"],"mappings":";;;;;;;;;;AAcA;;AAEG;MACU,QAAQ,CAAA;aACH,IAAI,CAAA,IAAA,GAAG,mBAAmB,CAAC;AAE3C,IAAA,WAAA,CACS,IAAW,EACX,WAAoB,EACpB,MAAyB,EAAA;QAFzB,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAM,CAAA,MAAA,GAAN,MAAM;;;AAIjB;;;;AAIG;AAEH;;AAEG;MACU,aAAa,CAAA;aACR,IAAI,CAAA,IAAA,GAAG,wBAAwB,CAAC;AAEhD,IAAA,WAAA,CACS,WAAc,EACd,KAAsB,EACtB,UAAyB,MAAM,EAAA;QAF/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;AAIlB;;AAEG;MACU,gBAAgB,CAAA;aACX,IAAI,CAAA,IAAA,GAAG,2BAA2B,CAAC;AAEnD,IAAA,WAAA,CACS,WAAc,EACd,KAAuB,EACvB,UAAyB,MAAM,EAAA;QAF/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;AAIlB;;AAEG;MACU,YAAY,CAAA;aACP,IAAI,CAAA,IAAA,GAAG,uBAAuB,CAAC;AAE/C,IAAA,WAAA,CACS,WAAc,EACd,UAAa,EACb,KAAuB,EACvB,UAAyB,MAAM,EAAA;QAH/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;AAIlB;;AAEG;MACU,WAAW,CAAA;aACN,IAAI,CAAA,IAAA,GAAG,sBAAsB,CAAC;AAE9C,IAAA,WAAA,CACS,WAAc,EACd,UAAa,EACb,KAAsB,EACtB,UAAyB,MAAM,EAAA;QAH/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;AAIlB;;AAEG;MACU,kBAAkB,CAAA;aACb,IAAI,CAAA,IAAA,GAAG,6BAA6B,CAAC;AAErD,IAAA,WAAA,CACS,WAAc,EACd,KAAiB,EACjB,UAAyB,MAAM,EAAA;QAF/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;AAIlB;;AAEG;MACU,eAAe,CAAA;aACV,IAAI,CAAA,IAAA,GAAG,0BAA0B,CAAC;AAElD,IAAA,WAAA,CACS,WAAc,EACd,KAAoB,EACpB,UAAyB,MAAM,EAAA;QAF/B,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;;;;MC3GI,qBAAqB,CAAA;AAE1C;MAOY,4BAA4B,CAAA;AAGvC,IAAA,SAAS,CAAC,WAAgC,EAAA;QACxC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC;YAC3C,GAAG,EAAE,WAAW,CAAC;SAClB;;AAGK,IAAA,cAAc,CAAC,KAA6B,EAAA;AAClD,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAS;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,IAAI,EAAE,IAAW;AACjB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,YAAY,EAAE,IAAW;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,QAAQ,EAAE,KAAK,CAAC;SACjB;;AAEJ;;ACED;AACA;AACA;MACa,kBAAkB,GAAG,IAAI,UAAU,CAAmB,QAAQ;AAW9D,IAAA,WAAW,GAAjB,MAAM,WAAW,CAAA;AA8Bf,IAAP,OAAO,KAAK,CAA0B,KAA0B,EAAA;;;QAG9D,OAAO,KAAK,EAAE,KAAK;;AAId,IAAP,OAAO,GAAG,CAAC,KAAuB,EAAA;AAChC,QAAA,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG;;AAG1B,IAAA,WAAA,GAAA;AAxCQ,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;AACtB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AACxB,QAAA,IAAA,CAAA,WAAW,GACjB,MAAM,CAAC,qBAAqB,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;AAEhC;;;AAGG;QACK,IAAQ,CAAA,QAAA,GAAkB,MAAM;AAExC;;AAEG;QACK,IAAY,CAAA,YAAA,GAA+B,IAAI;AAEvD;;AAEG;QACK,IAAW,CAAA,WAAA,GAA4B,IAAI;QAE3C,IAAU,CAAA,UAAA,GAAiB,IAAI;AAE/B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAACA,2BAA2B,CAAC;AAE9C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC;QAe5C,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,0BAA0B,EAAE;;IAGnC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;IAIvB,QAAQ,CAAC,CAAiC,EAAE,MAAgB,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,GAAG,MAAM,CAAC;AACX,SAAA,CAAC,CACH;;IAWH,mBAAmB,CACjB,GAAmC,EACnC,MAA2D,EAAA;QAE3D,GAAG,CAAC,QAAQ,CAAC;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,WAAW;AACzB,YAAA,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC;AAC5B,SAAA,CAAC;;IAGI,mBAAmB,GAAA;AACzB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC;aACvB,MAAM,CAAC,kBAAkB;aACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClC,QAAA,YAAY,CAAC,SAAS,CAAC,CAAC,KAAmC,KAAI;AAC7D,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC/B,SAAC,CAAC;;AAGI,IAAA,iBAAiB,CAAC,WAAyC,EAAA;QACjE,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,EAAE;YACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;;AAGnE,QAAA,MAAM,iBAAiB,GACrB,CAAC,IAAI,CAAC,WAAW;AACjB,YAAA,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;AACvB,YAAA,CAAC,WAAW;YACZ,WAAW,CAAC,OAAO,KAAK,QAAQ;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG;AAC/C,YAAA,IAAI,CAAC,UAAU,YAAY,eAAe;QAE5C,IAAI,iBAAiB,EAAE;YACrB;;QAGF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;AACjE,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAY,CAAC,KAAM,CAAC,GAAG,CAAC,CAAC;;IAG1E,0BAA0B,GAAA;AAChC,QAAA,MAAM,4BAA4B,GAChC,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,sBAAsB;AAEtC,QAAA,IAAI,oBAAsC;AAE1C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnE,QAAA,OAAO,CAAC,SAAS,CAAC,KAAK,IAAG;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AAEvB,YAAA,IAAI,KAAK,YAAY,eAAe,EAAE;AACpC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;;AACvB,iBAAA,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBAC5C,oBAAoB,GAAG,KAAK;gBAC5B,IAAI,CAAC,4BAA4B,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC9D,oBAAA,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;;;AAEjD,iBAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AACtC,gBAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;;AAClC,iBAAA,IAAI,KAAK,YAAY,gBAAgB,EAAE;AAC5C,gBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE;;AACR,iBAAA,IAAI,KAAK,YAAY,eAAe,EAAE;AAC3C,gBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,MAAM,EAAE;;AACR,iBAAA,IAAI,KAAK,YAAY,aAAa,EAAE;AACzC,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;oBAC7B,IAAI,4BAA4B,EAAE;AAChC,wBAAA,IAAI,CAAC,yBAAyB,CAAC,oBAAoB,CAAC;;AAEtD,oBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;;gBAEtC,IAAI,CAAC,MAAM,EAAE;;AAEjB,SAAC,CAAC;;;AAII,IAAA,gBAAgB,CAAC,KAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;AAEjF,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC;AACjE,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;;;AAKlF,IAAA,2BAA2B,CAAC,KAAiB,EAAA;AACnD,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;;AAI/E,IAAA,yBAAyB,CAAC,oBAAsC,EAAA;AACtE,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC;AAE9E,QAAA,IAAI,CAAC,qBAAqB,CACxB,IAAI,gBAAgB,CAClB,eAAe,EACf,IAAI,gBAAgB,CAClB,oBAAoB,CAAC,EAAE,EACvB,oBAAoB,CAAC,GAAG,EACxB,oBAAoB,CAAC,iBAAiB,EACtC,eAAe,CAChB,EACD,IAAI,CAAC,QAAQ,CACd,CACF;;;AAIK,IAAA,qBAAqB,CAAC,KAAuB,EAAA;QACnD,IAAI,CAAC,qBAAqB,CACxB,IAAI,YAAY,CAAC,IAAI,CAAC,YAAa,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC7E;;;AAIK,IAAA,oBAAoB,CAAC,KAAsB,EAAA;AACjD,QAAA,IAAI,CAAC,qBAAqB,CACxB,IAAI,WAAW,CACb,IAAI,CAAC,YAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,CAAG,EAAA,KAAK,CAAE,CAAA,CAAC,EACpD,IAAI,CAAC,QAAQ,CACd,CACF;;;AAIK,IAAA,wBAAwB,CAAC,KAAoB,EAAA;AACnD,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;AACjF,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAG5E,IAAA,qBAAqB,CAAI,MAAuB,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAExB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;;gBACpB;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;;;IAIlB,MAAM,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;iIA5Nf,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAAX,WAAW,EAAA,CAAA,CAAA;;AAmDtB,UAAA,CAAA;IADC,MAAM,CAAC,QAAQ,CAAC;;6CACmC,QAAQ,CAAA,CAAA;;AAO3D,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA;AAUD,UAAA,CAAA;AARC,IAAA,MAAM,CAAC;AACN,SAAA,aAAkC;AAClC,SAAA,gBAAqC;AACrC,SAAA,WAAkD;AAClD,SAAA,YAAmD;AACnD,SAAA,kBAAuC;AACvC,SAAA,eAAoC;KACrC,CAAC;;;;AAUD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA;AA/CM,UAAA,CAAA;AADN,IAAA,QAAQ,EAAE;;;;AAKV,CAAA,EAAA,WAAA,EAAA,OAAA,EAAA,IAAA,CAAA;AAGM,UAAA,CAAA;AADN,IAAA,QAAQ,EAAE;;;;AAGV,CAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,CAAA;AAvCU,WAAW,GAAA,UAAA,CAAA;AATvB,IAAA,KAAK,CAAmB;AACvB,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,OAAO,EAAE;AACV;KACF,CAAC;;AAEW,CAAA,EAAA,WAAW,CA8NvB;2FA9NY,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;AAoDC,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,QAAQ,MAiBR,mBAAmB,EAAA,EAAA,EAAA,EAAA,CAAA;;MC3GR,sBAAsB,CAAA;IACjC,OAAO,OAAO,CACZ,OAAiC,EAAA;QAEjC,OAAO;AACL,YAAA,QAAQ,EAAE,sBAAsB;AAChC,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAEC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC7C,gBAAA;AACE,oBAAA,OAAO,EAAED,2BAA2B;AACpC,oBAAA,UAAU,EAAEE,0BAA0B;oBACtC,IAAI,EAAE,CAACD,aAAa;AACrB,iBAAA;AACD,gBAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B;AACzE;SACF;;iIAfQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAtB,sBAAsB,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;kIAAtB,sBAAsB,EAAA,OAAA,EAAA,CAFvB,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAEnC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;AAC/C,iBAAA;;AAoBK,SAAU,oBAAoB,CAAC,OAAiC,EAAA;AACpE,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC;AAC5B,QAAA,EAAE,OAAO,EAAEA,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC7C,QAAA;AACE,YAAA,OAAO,EAAED,2BAA2B;AACpC,YAAA,UAAU,EAAEE,0BAA0B;YACtC,IAAI,EAAE,CAACD,aAAa;AACrB,SAAA;AACD,QAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B;AACzE,KAAA,CAAC;AACJ;;AClDA;;AAEG;;ACFH;;AAEG;;;;"}
|
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ModuleWithProviders, EnvironmentProviders, OnDestroy
|
|
2
|
+
import { ModuleWithProviders, EnvironmentProviders, OnDestroy } from '@angular/core';
|
|
3
3
|
import { NgxsRouterPluginOptions } from '@ngxs/router-plugin/internals';
|
|
4
4
|
export { NavigationActionTiming, NgxsRouterPluginOptions } from '@ngxs/router-plugin/internals';
|
|
5
5
|
import * as i1 from '@ngxs/store';
|
|
6
|
-
import { StateToken,
|
|
7
|
-
import { Params, NavigationExtras, RouterStateSnapshot, NavigationStart, RoutesRecognized, NavigationCancel, NavigationError, ResolveEnd, NavigationEnd, ActivatedRouteSnapshot
|
|
6
|
+
import { StateToken, StateContext } from '@ngxs/store';
|
|
7
|
+
import { Params, NavigationExtras, RouterStateSnapshot, NavigationStart, RoutesRecognized, NavigationCancel, NavigationError, ResolveEnd, NavigationEnd, ActivatedRouteSnapshot } from '@angular/router';
|
|
8
8
|
|
|
9
9
|
declare class NgxsRouterPluginModule {
|
|
10
10
|
static forRoot(options?: NgxsRouterPluginOptions): ModuleWithProviders<NgxsRouterPluginModule>;
|
|
@@ -96,18 +96,6 @@ declare class RouterNavigated<T = RouterStateSnapshot> {
|
|
|
96
96
|
*/
|
|
97
97
|
type RouterAction<T, V = RouterStateSnapshot> = RouterRequest<V> | RouterNavigation<V> | RouterCancel<T, V> | RouterError<T, V> | RouterDataResolved<V> | RouterNavigated<V>;
|
|
98
98
|
|
|
99
|
-
declare abstract class RouterStateSerializer<T> {
|
|
100
|
-
abstract serialize(routerState: RouterStateSnapshot): T;
|
|
101
|
-
}
|
|
102
|
-
interface SerializedRouterStateSnapshot {
|
|
103
|
-
root: ActivatedRouteSnapshot;
|
|
104
|
-
url: string;
|
|
105
|
-
}
|
|
106
|
-
declare class DefaultRouterStateSerializer implements RouterStateSerializer<SerializedRouterStateSnapshot> {
|
|
107
|
-
serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot;
|
|
108
|
-
private serializeRoute;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
99
|
interface RouterStateModel<T = RouterStateSnapshot> {
|
|
112
100
|
state?: T;
|
|
113
101
|
navigationId?: number;
|
|
@@ -136,9 +124,9 @@ declare class RouterState implements OnDestroy {
|
|
|
136
124
|
private _lastEvent;
|
|
137
125
|
private _options;
|
|
138
126
|
private _destroy$;
|
|
139
|
-
static state
|
|
140
|
-
static url
|
|
141
|
-
constructor(
|
|
127
|
+
static state<T = RouterStateSnapshot>(state: RouterStateModel<T>): T | undefined;
|
|
128
|
+
static url(state: RouterStateModel): string | undefined;
|
|
129
|
+
constructor();
|
|
142
130
|
ngOnDestroy(): void;
|
|
143
131
|
navigate(_: StateContext<RouterStateModel>, action: Navigate): Promise<boolean>;
|
|
144
132
|
angularRouterAction(ctx: StateContext<RouterStateModel>, action: RouterAction<RouterStateModel, RouterStateSnapshot>): void;
|
|
@@ -163,4 +151,16 @@ declare class RouterState implements OnDestroy {
|
|
|
163
151
|
static ɵprov: i0.ɵɵInjectableDeclaration<RouterState>;
|
|
164
152
|
}
|
|
165
153
|
|
|
154
|
+
declare abstract class RouterStateSerializer<T> {
|
|
155
|
+
abstract serialize(routerState: RouterStateSnapshot): T;
|
|
156
|
+
}
|
|
157
|
+
interface SerializedRouterStateSnapshot {
|
|
158
|
+
root: ActivatedRouteSnapshot;
|
|
159
|
+
url: string;
|
|
160
|
+
}
|
|
161
|
+
declare class DefaultRouterStateSerializer implements RouterStateSerializer<SerializedRouterStateSnapshot> {
|
|
162
|
+
serialize(routerState: RouterStateSnapshot): SerializedRouterStateSnapshot;
|
|
163
|
+
private serializeRoute;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
166
|
export { DefaultRouterStateSerializer, Navigate, NgxsRouterPluginModule, ROUTER_STATE_TOKEN, type RouterAction, RouterCancel, RouterDataResolved, RouterError, RouterNavigated, RouterNavigation, RouterRequest, RouterState, type RouterStateModel, RouterStateSerializer, type SerializedRouterStateSnapshot, withNgxsRouterPlugin };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngxs/router-plugin",
|
|
3
3
|
"description": "router plugin for @ngxs/store",
|
|
4
|
-
"version": "18.1.
|
|
4
|
+
"version": "18.1.6-dev.master-a9e7ff3",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"peerDependencies": {
|
|
7
|
-
"@
|
|
8
|
-
"@angular/
|
|
9
|
-
"@
|
|
7
|
+
"@angular/core": ">=19.0.0 <20.0.0",
|
|
8
|
+
"@angular/router": ">=19.0.0 <20.0.0",
|
|
9
|
+
"@ngxs/store": "^18.1.6 || ^18.1.6-dev",
|
|
10
10
|
"rxjs": ">=6.5.5"
|
|
11
11
|
},
|
|
12
12
|
"module": "fesm2022/ngxs-router-plugin.mjs",
|
|
@@ -17,14 +17,10 @@
|
|
|
17
17
|
},
|
|
18
18
|
".": {
|
|
19
19
|
"types": "./index.d.ts",
|
|
20
|
-
"esm2022": "./esm2022/ngxs-router-plugin.mjs",
|
|
21
|
-
"esm": "./esm2022/ngxs-router-plugin.mjs",
|
|
22
20
|
"default": "./fesm2022/ngxs-router-plugin.mjs"
|
|
23
21
|
},
|
|
24
22
|
"./internals": {
|
|
25
23
|
"types": "./internals/index.d.ts",
|
|
26
|
-
"esm2022": "./esm2022/internals/ngxs-router-plugin-internals.mjs",
|
|
27
|
-
"esm": "./esm2022/internals/ngxs-router-plugin-internals.mjs",
|
|
28
24
|
"default": "./fesm2022/ngxs-router-plugin-internals.mjs"
|
|
29
25
|
}
|
|
30
26
|
},
|
|
@@ -75,4 +71,4 @@
|
|
|
75
71
|
"type": "opencollective",
|
|
76
72
|
"url": "https://opencollective.com/ngxs"
|
|
77
73
|
}
|
|
78
|
-
}
|
|
74
|
+
}
|
package/esm2022/index.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The public api for consumers of @ngxs/router-plugin
|
|
3
|
-
*/
|
|
4
|
-
export * from './src/public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXItcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHB1YmxpYyBhcGkgZm9yIGNvbnN1bWVycyBvZiBAbmd4cy9yb3V0ZXItcGx1Z2luXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './symbols';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXItcGx1Z2luL2ludGVybmFscy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N5bWJvbHMnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1yb3V0ZXItcGx1Z2luLWludGVybmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vaW50ZXJuYWxzL3NyYy9uZ3hzLXJvdXRlci1wbHVnaW4taW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
|
|
3
|
-
export const ɵUSER_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'USER_OPTIONS' : '', { providedIn: 'root', factory: () => undefined });
|
|
4
|
-
export const ɵNGXS_ROUTER_PLUGIN_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_ROUTER_PLUGIN_OPTIONS' : '', { providedIn: 'root', factory: () => ({}) });
|
|
5
|
-
export function ɵcreateRouterPluginOptions(options) {
|
|
6
|
-
return {
|
|
7
|
-
navigationActionTiming: (options && options.navigationActionTiming) || 1 /* NavigationActionTiming.PreActivation */
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vaW50ZXJuYWxzL3NyYy9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0MsTUFBTSxXQUFXLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQztBQVdsRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQzdDLFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2pDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQ2pELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsV0FBVyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUMvQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDNUMsQ0FBQztBQUVGLE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsT0FBNEM7SUFFNUMsT0FBTztRQUNMLHNCQUFzQixFQUNwQixDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsZ0RBQXdDO0tBQ3RGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZGVjbGFyZSBjb25zdCBuZ0Rldk1vZGU6IGJvb2xlYW47XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG5leHBvcnQgY29uc3QgZW51bSBOYXZpZ2F0aW9uQWN0aW9uVGltaW5nIHtcbiAgUHJlQWN0aXZhdGlvbiA9IDEsXG4gIFBvc3RBY3RpdmF0aW9uID0gMlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zIHtcbiAgbmF2aWdhdGlvbkFjdGlvblRpbWluZz86IE5hdmlnYXRpb25BY3Rpb25UaW1pbmc7XG59XG5cbmV4cG9ydCBjb25zdCDJtVVTRVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB8IHVuZGVmaW5lZD4oXG4gIE5HX0RFVl9NT0RFID8gJ1VTRVJfT1BUSU9OUycgOiAnJyxcbiAgeyBwcm92aWRlZEluOiAncm9vdCcsIGZhY3Rvcnk6ICgpID0+IHVuZGVmaW5lZCB9XG4pO1xuXG5leHBvcnQgY29uc3QgybVOR1hTX1JPVVRFUl9QTFVHSU5fT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucz4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TJyA6ICcnLFxuICB7IHByb3ZpZGVkSW46ICdyb290JywgZmFjdG9yeTogKCkgPT4gKHt9KSB9XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zKFxuICBvcHRpb25zOiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB8IHVuZGVmaW5lZFxuKTogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMge1xuICByZXR1cm4ge1xuICAgIG5hdmlnYXRpb25BY3Rpb25UaW1pbmc6XG4gICAgICAob3B0aW9ucyAmJiBvcHRpb25zLm5hdmlnYXRpb25BY3Rpb25UaW1pbmcpIHx8IE5hdmlnYXRpb25BY3Rpb25UaW1pbmcuUHJlQWN0aXZhdGlvblxuICB9O1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1yb3V0ZXItcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9uZ3hzLXJvdXRlci1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { NgxsRouterPluginModule, withNgxsRouterPlugin } from './router.module';
|
|
2
|
-
export { ROUTER_STATE_TOKEN, RouterState } from './router.state';
|
|
3
|
-
export { RouterStateSerializer, DefaultRouterStateSerializer } from './serializer';
|
|
4
|
-
export * from './router.actions';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLDRCQUE0QixFQUU3QixNQUFNLGNBQWMsQ0FBQztBQUN0QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSwgd2l0aE5neHNSb3V0ZXJQbHVnaW4gfSBmcm9tICcuL3JvdXRlci5tb2R1bGUnO1xuZXhwb3J0IHsgUk9VVEVSX1NUQVRFX1RPS0VOLCBSb3V0ZXJTdGF0ZSwgUm91dGVyU3RhdGVNb2RlbCB9IGZyb20gJy4vcm91dGVyLnN0YXRlJztcbmV4cG9ydCB7XG4gIFJvdXRlclN0YXRlU2VyaWFsaXplcixcbiAgRGVmYXVsdFJvdXRlclN0YXRlU2VyaWFsaXplcixcbiAgU2VyaWFsaXplZFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSAnLi9zZXJpYWxpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyLmFjdGlvbnMnO1xuZXhwb3J0IHtcbiAgTmF2aWdhdGlvbkFjdGlvblRpbWluZyxcbiAgTmd4c1JvdXRlclBsdWdpbk9wdGlvbnNcbn0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbi9pbnRlcm5hbHMnO1xuIl19
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public event api of the router
|
|
3
|
-
*/
|
|
4
|
-
export class Navigate {
|
|
5
|
-
static { this.type = '[Router] Navigate'; }
|
|
6
|
-
constructor(path, queryParams, extras) {
|
|
7
|
-
this.path = path;
|
|
8
|
-
this.queryParams = queryParams;
|
|
9
|
-
this.extras = extras;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* Angular Routers internal state events
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* An action dispatched when the router starts the navigation.
|
|
19
|
-
*/
|
|
20
|
-
export class RouterRequest {
|
|
21
|
-
static { this.type = '[Router] RouterRequest'; }
|
|
22
|
-
constructor(routerState, event, trigger = 'none') {
|
|
23
|
-
this.routerState = routerState;
|
|
24
|
-
this.event = event;
|
|
25
|
-
this.trigger = trigger;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* An action dispatched when the router navigates.
|
|
30
|
-
*/
|
|
31
|
-
export class RouterNavigation {
|
|
32
|
-
static { this.type = '[Router] RouterNavigation'; }
|
|
33
|
-
constructor(routerState, event, trigger = 'none') {
|
|
34
|
-
this.routerState = routerState;
|
|
35
|
-
this.event = event;
|
|
36
|
-
this.trigger = trigger;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* An action dispatched when the router cancel navigation.
|
|
41
|
-
*/
|
|
42
|
-
export class RouterCancel {
|
|
43
|
-
static { this.type = '[Router] RouterCancel'; }
|
|
44
|
-
constructor(routerState, storeState, event, trigger = 'none') {
|
|
45
|
-
this.routerState = routerState;
|
|
46
|
-
this.storeState = storeState;
|
|
47
|
-
this.event = event;
|
|
48
|
-
this.trigger = trigger;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* An action dispatched when the router errors.
|
|
53
|
-
*/
|
|
54
|
-
export class RouterError {
|
|
55
|
-
static { this.type = '[Router] RouterError'; }
|
|
56
|
-
constructor(routerState, storeState, event, trigger = 'none') {
|
|
57
|
-
this.routerState = routerState;
|
|
58
|
-
this.storeState = storeState;
|
|
59
|
-
this.event = event;
|
|
60
|
-
this.trigger = trigger;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* An action dispatched when the `ResolveEnd` event is triggered.
|
|
65
|
-
*/
|
|
66
|
-
export class RouterDataResolved {
|
|
67
|
-
static { this.type = '[Router] RouterDataResolved'; }
|
|
68
|
-
constructor(routerState, event, trigger = 'none') {
|
|
69
|
-
this.routerState = routerState;
|
|
70
|
-
this.event = event;
|
|
71
|
-
this.trigger = trigger;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* An action dispatched when the router navigation has been finished successfully.
|
|
76
|
-
*/
|
|
77
|
-
export class RouterNavigated {
|
|
78
|
-
static { this.type = '[Router] RouterNavigated'; }
|
|
79
|
-
constructor(routerState, event, trigger = 'none') {
|
|
80
|
-
this.routerState = routerState;
|
|
81
|
-
this.event = event;
|
|
82
|
-
this.trigger = trigger;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXItcGx1Z2luL3NyYy9yb3V0ZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO2FBQ0gsU0FBSSxHQUFHLG1CQUFtQixDQUFDO0lBRTNDLFlBQ1MsSUFBVyxFQUNYLFdBQW9CLEVBQ3BCLE1BQXlCO1FBRnpCLFNBQUksR0FBSixJQUFJLENBQU87UUFDWCxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUMvQixDQUFDOztBQUdOOzs7O0dBSUc7QUFFSDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO2FBQ1IsU0FBSSxHQUFHLHdCQUF3QixDQUFDO0lBRWhELFlBQ1MsV0FBYyxFQUNkLEtBQXNCLEVBQ3RCLFVBQXlCLE1BQU07UUFGL0IsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjthQUNYLFNBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVuRCxZQUNTLFdBQWMsRUFDZCxLQUF1QixFQUN2QixVQUF5QixNQUFNO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFDckMsQ0FBQzs7QUFHTjs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO2FBQ1AsU0FBSSxHQUFHLHVCQUF1QixDQUFDO0lBRS9DLFlBQ1MsV0FBYyxFQUNkLFVBQWEsRUFDYixLQUF1QixFQUN2QixVQUF5QixNQUFNO1FBSC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBRztRQUNiLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQXdCO0lBQ3JDLENBQUM7O0FBR047O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVzthQUNOLFNBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUU5QyxZQUNTLFdBQWMsRUFDZCxVQUFhLEVBQ2IsS0FBc0IsRUFDdEIsVUFBeUIsTUFBTTtRQUgvQixnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUNkLGVBQVUsR0FBVixVQUFVLENBQUc7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjthQUNiLFNBQUksR0FBRyw2QkFBNkIsQ0FBQztJQUVyRCxZQUNTLFdBQWMsRUFDZCxLQUFpQixFQUNqQixVQUF5QixNQUFNO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7YUFDVixTQUFJLEdBQUcsMEJBQTBCLENBQUM7SUFFbEQsWUFDUyxXQUFjLEVBQ2QsS0FBb0IsRUFDcEIsVUFBeUIsTUFBTTtRQUYvQixnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUNkLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgUGFyYW1zLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBSb3V0ZXNSZWNvZ25pemVkLFxuICBSZXNvbHZlRW5kLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIE5hdmlnYXRpb25FbmRcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgUm91dGVyVHJpZ2dlciB9IGZyb20gJy4vcm91dGVyLnN0YXRlJztcblxuLyoqXG4gKiBQdWJsaWMgZXZlbnQgYXBpIG9mIHRoZSByb3V0ZXJcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gTmF2aWdhdGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXRoOiBhbnlbXSxcbiAgICBwdWJsaWMgcXVlcnlQYXJhbXM/OiBQYXJhbXMsXG4gICAgcHVibGljIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXNcbiAgKSB7fVxufVxuXG4vKipcbiAqXG4gKiBBbmd1bGFyIFJvdXRlcnMgaW50ZXJuYWwgc3RhdGUgZXZlbnRzXG4gKlxuICovXG5cbi8qKlxuICogQW4gYWN0aW9uIGRpc3BhdGNoZWQgd2hlbiB0aGUgcm91dGVyIHN0YXJ0cyB0aGUgbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlclJlcXVlc3Q8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyUmVxdWVzdCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJvdXRlclN0YXRlOiBULFxuICAgIHB1YmxpYyBldmVudDogTmF2aWdhdGlvblN0YXJ0LFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgbmF2aWdhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyTmF2aWdhdGlvbjxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJOYXZpZ2F0aW9uJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyU3RhdGU6IFQsXG4gICAgcHVibGljIGV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkLFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgY2FuY2VsIG5hdmlnYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJDYW5jZWw8VCwgViA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyQ2FuY2VsJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyU3RhdGU6IFYsXG4gICAgcHVibGljIHN0b3JlU3RhdGU6IFQsXG4gICAgcHVibGljIGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsLFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgZXJyb3JzLlxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyRXJyb3I8VCwgViA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyRXJyb3InO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVixcbiAgICBwdWJsaWMgc3RvcmVTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IE5hdmlnYXRpb25FcnJvcixcbiAgICBwdWJsaWMgdHJpZ2dlcjogUm91dGVyVHJpZ2dlciA9ICdub25lJ1xuICApIHt9XG59XG5cbi8qKlxuICogQW4gYWN0aW9uIGRpc3BhdGNoZWQgd2hlbiB0aGUgYFJlc29sdmVFbmRgIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlckRhdGFSZXNvbHZlZDxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJEYXRhUmVzb2x2ZWQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IFJlc29sdmVFbmQsXG4gICAgcHVibGljIHRyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIGFjdGlvbiBkaXNwYXRjaGVkIHdoZW4gdGhlIHJvdXRlciBuYXZpZ2F0aW9uIGhhcyBiZWVuIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlck5hdmlnYXRlZDxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJOYXZpZ2F0ZWQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IE5hdmlnYXRpb25FbmQsXG4gICAgcHVibGljIHRyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIHVuaW9uIHR5cGUgb2Ygcm91dGVyIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckFjdGlvbjxULCBWID0gUm91dGVyU3RhdGVTbmFwc2hvdD4gPVxuICB8IFJvdXRlclJlcXVlc3Q8Vj5cbiAgfCBSb3V0ZXJOYXZpZ2F0aW9uPFY+XG4gIHwgUm91dGVyQ2FuY2VsPFQsIFY+XG4gIHwgUm91dGVyRXJyb3I8VCwgVj5cbiAgfCBSb3V0ZXJEYXRhUmVzb2x2ZWQ8Vj5cbiAgfCBSb3V0ZXJOYXZpZ2F0ZWQ8Vj47XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { NgxsModule, provideStates } from '@ngxs/store';
|
|
3
|
-
import { ɵcreateRouterPluginOptions, ɵNGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS } from '@ngxs/router-plugin/internals';
|
|
4
|
-
import { RouterState } from './router.state';
|
|
5
|
-
import { DefaultRouterStateSerializer, RouterStateSerializer } from './serializer';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngxs/store";
|
|
8
|
-
export class NgxsRouterPluginModule {
|
|
9
|
-
static forRoot(options) {
|
|
10
|
-
return {
|
|
11
|
-
ngModule: NgxsRouterPluginModule,
|
|
12
|
-
providers: [
|
|
13
|
-
{ provide: ɵUSER_OPTIONS, useValue: options },
|
|
14
|
-
{
|
|
15
|
-
provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,
|
|
16
|
-
useFactory: ɵcreateRouterPluginOptions,
|
|
17
|
-
deps: [ɵUSER_OPTIONS]
|
|
18
|
-
},
|
|
19
|
-
{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }
|
|
20
|
-
]
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRouterPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] }); }
|
|
25
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
imports: [NgxsModule.forFeature([RouterState])]
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
export function withNgxsRouterPlugin(options) {
|
|
34
|
-
return makeEnvironmentProviders([
|
|
35
|
-
provideStates([RouterState]),
|
|
36
|
-
{ provide: ɵUSER_OPTIONS, useValue: options },
|
|
37
|
-
{
|
|
38
|
-
provide: ɵNGXS_ROUTER_PLUGIN_OPTIONS,
|
|
39
|
-
useFactory: ɵcreateRouterPluginOptions,
|
|
40
|
-
deps: [ɵUSER_OPTIONS]
|
|
41
|
-
},
|
|
42
|
-
{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }
|
|
43
|
-
]);
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3JvdXRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFFBQVEsRUFDUix3QkFBd0IsRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUVMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNkLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS25GLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQzdDO29CQUNFLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFVBQVUsRUFBRSwwQkFBMEI7b0JBQ3RDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDdEI7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO2FBQzNFO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBaEJVLHNCQUFzQjtrSUFBdEIsc0JBQXNCO2tJQUF0QixzQkFBc0IsWUFGdkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzsyRkFFbkMsc0JBQXNCO2tCQUhsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2lCQUNoRDs7QUFvQkQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWlDO0lBQ3BFLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDN0M7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFVBQVUsRUFBRSwwQkFBMEI7WUFDdEMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO0tBQzNFLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVyc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUsIHByb3ZpZGVTdGF0ZXMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQge1xuICBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyxcbiAgybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLFxuICDJtVVTRVJfT1BUSU9OU1xufSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luL2ludGVybmFscyc7XG5cbmltcG9ydCB7IFJvdXRlclN0YXRlIH0gZnJvbSAnLi9yb3V0ZXIuc3RhdGUnO1xuaW1wb3J0IHsgRGVmYXVsdFJvdXRlclN0YXRlU2VyaWFsaXplciwgUm91dGVyU3RhdGVTZXJpYWxpemVyIH0gZnJvbSAnLi9zZXJpYWxpemVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW05neHNNb2R1bGUuZm9yRmVhdHVyZShbUm91dGVyU3RhdGVdKV1cbn0pXG5leHBvcnQgY2xhc3MgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIG9wdGlvbnM/OiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiDJtVVTRVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IMm1TkdYU19ST1VURVJfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlRmFjdG9yeTogybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICAgICAgICAgIGRlcHM6IFvJtVVTRVJfT1BUSU9OU11cbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIsIHVzZUNsYXNzOiBEZWZhdWx0Um91dGVyU3RhdGVTZXJpYWxpemVyIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTmd4c1JvdXRlclBsdWdpbihvcHRpb25zPzogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHByb3ZpZGVTdGF0ZXMoW1JvdXRlclN0YXRlXSksXG4gICAgeyBwcm92aWRlOiDJtVVTRVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLFxuICAgICAgdXNlRmFjdG9yeTogybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICAgICAgZGVwczogW8m1VVNFUl9PUFRJT05TXVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIsIHVzZUNsYXNzOiBEZWZhdWx0Um91dGVyU3RhdGVTZXJpYWxpemVyIH1cbiAgXSk7XG59XG4iXX0=
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { NgZone, Injectable, Injector } from '@angular/core';
|
|
3
|
-
import { NavigationCancel, NavigationError, Router, RoutesRecognized, ResolveEnd, NavigationStart, NavigationEnd } from '@angular/router';
|
|
4
|
-
import { Action, createSelector, State, StateToken, Store } from '@ngxs/store';
|
|
5
|
-
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS } from '@ngxs/router-plugin/internals';
|
|
6
|
-
import { ReplaySubject } from 'rxjs';
|
|
7
|
-
import { takeUntil } from 'rxjs/operators';
|
|
8
|
-
import { Navigate, RouterCancel, RouterError, RouterNavigation, RouterDataResolved, RouterRequest, RouterNavigated } from './router.actions';
|
|
9
|
-
import { RouterStateSerializer } from './serializer';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@ngxs/store";
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "./serializer";
|
|
14
|
-
// NGXS doesn't permit untyped selectors, such as `select(RouterState)`,
|
|
15
|
-
// as the `RouterState` class itself lacks type information. Therefore,
|
|
16
|
-
// the following state token must replace `RouterState`.
|
|
17
|
-
export const ROUTER_STATE_TOKEN = new StateToken('router');
|
|
18
|
-
let RouterState = class RouterState {
|
|
19
|
-
static { this.state = createSelector([ROUTER_STATE_TOKEN], (state) => {
|
|
20
|
-
// The `state` is optional if the selector is invoked before the router
|
|
21
|
-
// state is registered in NGXS.
|
|
22
|
-
return state?.state;
|
|
23
|
-
}); }
|
|
24
|
-
static { this.url = createSelector([ROUTER_STATE_TOKEN], state => state?.state?.url); }
|
|
25
|
-
constructor(_store, _router, _serializer, _ngZone, injector) {
|
|
26
|
-
this._store = _store;
|
|
27
|
-
this._router = _router;
|
|
28
|
-
this._serializer = _serializer;
|
|
29
|
-
this._ngZone = _ngZone;
|
|
30
|
-
/**
|
|
31
|
-
* Determines how navigation was performed by the `RouterState` itself
|
|
32
|
-
* or outside via `new Navigate(...)`
|
|
33
|
-
*/
|
|
34
|
-
this._trigger = 'none';
|
|
35
|
-
/**
|
|
36
|
-
* That's the serialized state from the `Router` class
|
|
37
|
-
*/
|
|
38
|
-
this._routerState = null;
|
|
39
|
-
/**
|
|
40
|
-
* That's the value of the `RouterState` state
|
|
41
|
-
*/
|
|
42
|
-
this._storeState = null;
|
|
43
|
-
this._lastEvent = null;
|
|
44
|
-
this._options = null;
|
|
45
|
-
this._destroy$ = new ReplaySubject(1);
|
|
46
|
-
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
47
|
-
// integration, it cannot resolve the token provider.
|
|
48
|
-
this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
49
|
-
this._setUpStoreListener();
|
|
50
|
-
this._setUpRouterEventsListener();
|
|
51
|
-
}
|
|
52
|
-
ngOnDestroy() {
|
|
53
|
-
this._destroy$.next();
|
|
54
|
-
}
|
|
55
|
-
navigate(_, action) {
|
|
56
|
-
return this._ngZone.run(() => this._router.navigate(action.path, {
|
|
57
|
-
queryParams: action.queryParams,
|
|
58
|
-
...action.extras
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
angularRouterAction(ctx, action) {
|
|
62
|
-
ctx.setState({
|
|
63
|
-
trigger: action.trigger,
|
|
64
|
-
state: action.routerState,
|
|
65
|
-
navigationId: action.event.id
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
_setUpStoreListener() {
|
|
69
|
-
const routerState$ = this._store
|
|
70
|
-
.select(ROUTER_STATE_TOKEN)
|
|
71
|
-
.pipe(takeUntil(this._destroy$));
|
|
72
|
-
routerState$.subscribe((state) => {
|
|
73
|
-
this._navigateIfNeeded(state);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
_navigateIfNeeded(routerState) {
|
|
77
|
-
if (routerState && routerState.trigger === 'devtools') {
|
|
78
|
-
this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);
|
|
79
|
-
}
|
|
80
|
-
const canSkipNavigation = !this._storeState ||
|
|
81
|
-
!this._storeState.state ||
|
|
82
|
-
!routerState ||
|
|
83
|
-
routerState.trigger === 'router' ||
|
|
84
|
-
this._router.url === this._storeState.state.url ||
|
|
85
|
-
this._lastEvent instanceof NavigationStart;
|
|
86
|
-
if (canSkipNavigation) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);
|
|
90
|
-
this._trigger = 'store';
|
|
91
|
-
this._ngZone.run(() => this._router.navigateByUrl(this._storeState.state.url));
|
|
92
|
-
}
|
|
93
|
-
_setUpRouterEventsListener() {
|
|
94
|
-
const dispatchRouterNavigationLate = this._options != null &&
|
|
95
|
-
this._options.navigationActionTiming === 2 /* NavigationActionTiming.PostActivation */;
|
|
96
|
-
let lastRoutesRecognized;
|
|
97
|
-
const events$ = this._router.events.pipe(takeUntil(this._destroy$));
|
|
98
|
-
events$.subscribe(event => {
|
|
99
|
-
this._lastEvent = event;
|
|
100
|
-
if (event instanceof NavigationStart) {
|
|
101
|
-
this._navigationStart(event);
|
|
102
|
-
}
|
|
103
|
-
else if (event instanceof RoutesRecognized) {
|
|
104
|
-
lastRoutesRecognized = event;
|
|
105
|
-
if (!dispatchRouterNavigationLate && this._trigger !== 'store') {
|
|
106
|
-
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else if (event instanceof ResolveEnd) {
|
|
110
|
-
this._dispatchRouterDataResolved(event);
|
|
111
|
-
}
|
|
112
|
-
else if (event instanceof NavigationCancel) {
|
|
113
|
-
this._dispatchRouterCancel(event);
|
|
114
|
-
this._reset();
|
|
115
|
-
}
|
|
116
|
-
else if (event instanceof NavigationError) {
|
|
117
|
-
this._dispatchRouterError(event);
|
|
118
|
-
this._reset();
|
|
119
|
-
}
|
|
120
|
-
else if (event instanceof NavigationEnd) {
|
|
121
|
-
if (this._trigger !== 'store') {
|
|
122
|
-
if (dispatchRouterNavigationLate) {
|
|
123
|
-
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
124
|
-
}
|
|
125
|
-
this._dispatchRouterNavigated(event);
|
|
126
|
-
}
|
|
127
|
-
this._reset();
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
/** Reacts to `NavigationStart`. */
|
|
132
|
-
_navigationStart(event) {
|
|
133
|
-
this._routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
134
|
-
if (this._trigger !== 'none') {
|
|
135
|
-
this._storeState = this._store.selectSnapshot(ROUTER_STATE_TOKEN);
|
|
136
|
-
this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/** Reacts to `ResolveEnd`. */
|
|
140
|
-
_dispatchRouterDataResolved(event) {
|
|
141
|
-
const routerState = this._serializer.serialize(event.state);
|
|
142
|
-
this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));
|
|
143
|
-
}
|
|
144
|
-
/** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */
|
|
145
|
-
_dispatchRouterNavigation(lastRoutesRecognized) {
|
|
146
|
-
const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);
|
|
147
|
-
this._dispatchRouterAction(new RouterNavigation(nextRouterState, new RoutesRecognized(lastRoutesRecognized.id, lastRoutesRecognized.url, lastRoutesRecognized.urlAfterRedirects, nextRouterState), this._trigger));
|
|
148
|
-
}
|
|
149
|
-
/** Reacts to `NavigationCancel`. */
|
|
150
|
-
_dispatchRouterCancel(event) {
|
|
151
|
-
this._dispatchRouterAction(new RouterCancel(this._routerState, this._storeState, event, this._trigger));
|
|
152
|
-
}
|
|
153
|
-
/** Reacts to `NavigationEnd`. */
|
|
154
|
-
_dispatchRouterError(event) {
|
|
155
|
-
this._dispatchRouterAction(new RouterError(this._routerState, this._storeState, new NavigationError(event.id, event.url, `${event}`), this._trigger));
|
|
156
|
-
}
|
|
157
|
-
/** Reacts to `NavigationEnd`. */
|
|
158
|
-
_dispatchRouterNavigated(event) {
|
|
159
|
-
const routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
160
|
-
this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));
|
|
161
|
-
}
|
|
162
|
-
_dispatchRouterAction(action) {
|
|
163
|
-
this._trigger = 'router';
|
|
164
|
-
try {
|
|
165
|
-
this._store.dispatch(action);
|
|
166
|
-
}
|
|
167
|
-
finally {
|
|
168
|
-
this._trigger = 'none';
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
_reset() {
|
|
172
|
-
this._trigger = 'none';
|
|
173
|
-
this._storeState = null;
|
|
174
|
-
this._routerState = null;
|
|
175
|
-
}
|
|
176
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RouterState, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.RouterStateSerializer }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
177
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RouterState }); }
|
|
178
|
-
};
|
|
179
|
-
__decorate([
|
|
180
|
-
Action(Navigate),
|
|
181
|
-
__metadata("design:type", Function),
|
|
182
|
-
__metadata("design:paramtypes", [Object, Navigate]),
|
|
183
|
-
__metadata("design:returntype", void 0)
|
|
184
|
-
], RouterState.prototype, "navigate", null);
|
|
185
|
-
__decorate([
|
|
186
|
-
Action([
|
|
187
|
-
(RouterRequest),
|
|
188
|
-
(RouterNavigation),
|
|
189
|
-
(RouterError),
|
|
190
|
-
(RouterCancel),
|
|
191
|
-
(RouterDataResolved),
|
|
192
|
-
(RouterNavigated)
|
|
193
|
-
]),
|
|
194
|
-
__metadata("design:type", Function),
|
|
195
|
-
__metadata("design:paramtypes", [Object, Object]),
|
|
196
|
-
__metadata("design:returntype", void 0)
|
|
197
|
-
], RouterState.prototype, "angularRouterAction", null);
|
|
198
|
-
RouterState = __decorate([
|
|
199
|
-
State({
|
|
200
|
-
name: ROUTER_STATE_TOKEN,
|
|
201
|
-
defaults: {
|
|
202
|
-
state: undefined,
|
|
203
|
-
navigationId: undefined,
|
|
204
|
-
trigger: 'none'
|
|
205
|
-
}
|
|
206
|
-
}),
|
|
207
|
-
__metadata("design:paramtypes", [Store,
|
|
208
|
-
Router,
|
|
209
|
-
RouterStateSerializer,
|
|
210
|
-
NgZone,
|
|
211
|
-
Injector])
|
|
212
|
-
], RouterState);
|
|
213
|
-
export { RouterState };
|
|
214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RouterState, decorators: [{
|
|
215
|
-
type: Injectable
|
|
216
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i3.RouterStateSerializer }, { type: i0.NgZone }, { type: i0.Injector }], propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9zcmMvcm91dGVyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsTUFBTSxFQUVOLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZUFBZSxFQUNmLGFBQWEsRUFFZCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBZ0IsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RixPQUFPLEVBR0wsMkJBQTJCLEVBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNMLFFBQVEsRUFFUixZQUFZLEVBQ1osV0FBVyxFQUNYLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBZXJELHdFQUF3RTtBQUN4RSx1RUFBdUU7QUFDdkUsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksVUFBVSxDQUFtQixRQUFRLENBQUMsQ0FBQztBQVd0RSxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO2FBdUJmLFVBQUssR0FBbUIsY0FBYyxDQUMzQyxDQUFDLGtCQUFrQixDQUFDLEVBQ3BCLENBQUMsS0FBNEMsRUFBRSxFQUFFO1FBQy9DLHVF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QUFBLGFBQWtDLENBQUE7UUFDbEMsQ0FBQSxnQkFBcUMsQ0FBQTtRQUNyQyxDQUFBLFdBQWtELENBQUE7UUFDbEQsQ0FBQSxZQUFtRCxDQUFBO1FBQ25ELENBQUEsa0JBQXVDLENBQUE7UUFDdkMsQ0FBQSxlQUFvQyxDQUFBO0tBQ3JDLENBQUM7Ozs7c0RBVUQ7QUFsRlUsV0FBVztJQVR2QixLQUFLLENBQW1CO1FBQ3ZCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsT0FBTyxFQUFFLE1BQU07U0FDaEI7S0FDRixDQUFDO3FDQXdDa0IsS0FBSztRQUNKLE1BQU07UUFDRixxQkFBcUI7UUFDekIsTUFBTTtRQUNiLFFBQVE7R0ExQ1QsV0FBVyxDQW1PdkI7OzJGQW5PWSxXQUFXO2tCQUR2QixVQUFVOytLQXlEVCxRQUFRLE1BaUJSLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVycm9yLFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFJvdXRlc1JlY29nbml6ZWQsXG4gIFJlc29sdmVFbmQsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgRXZlbnRcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbiwgY3JlYXRlU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQsIFN0YXRlVG9rZW4sIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkFjdGlvblRpbWluZyxcbiAgTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMsXG4gIMm1TkdYU19ST1VURVJfUExVR0lOX09QVElPTlNcbn0gZnJvbSAnQG5neHMvcm91dGVyLXBsdWdpbi9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBOYXZpZ2F0ZSxcbiAgUm91dGVyQWN0aW9uLFxuICBSb3V0ZXJDYW5jZWwsXG4gIFJvdXRlckVycm9yLFxuICBSb3V0ZXJOYXZpZ2F0aW9uLFxuICBSb3V0ZXJEYXRhUmVzb2x2ZWQsXG4gIFJvdXRlclJlcXVlc3QsXG4gIFJvdXRlck5hdmlnYXRlZFxufSBmcm9tICcuL3JvdXRlci5hY3Rpb25zJztcbmltcG9ydCB7IFJvdXRlclN0YXRlU2VyaWFsaXplciB9IGZyb20gJy4vc2VyaWFsaXplcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyU3RhdGVNb2RlbDxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0ZT86IFQ7XG4gIG5hdmlnYXRpb25JZD86IG51bWJlcjtcbiAgdHJpZ2dlcjogUm91dGVyVHJpZ2dlcjtcbn1cblxuZXhwb3J0IHR5cGUgUm91dGVyVHJpZ2dlciA9XG4gIHwgJ25vbmUnXG4gIHwgJ3JvdXRlcidcbiAgfCAnc3RvcmUnXG4gIC8vIFRoZSBgZGV2dG9vbHNgIHRyaWdnZXIgbWVhbnMgdGhhdCB0aGUgc3RhdGUgY2hhbmdlIGhhcyBiZWVuIHRyaWdnZXJlZCBieSBSZWR1eCBEZXZUb29scyAoZS5nLiB3aGVuIHRoZSB0aW1lLXRyYXZlbGluZyBpcyB1c2VkKS5cbiAgfCAnZGV2dG9vbHMnO1xuXG4vLyBOR1hTIGRvZXNuJ3QgcGVybWl0IHVudHlwZWQgc2VsZWN0b3JzLCBzdWNoIGFzIGBzZWxlY3QoUm91dGVyU3RhdGUpYCxcbi8vIGFzIHRoZSBgUm91dGVyU3RhdGVgIGNsYXNzIGl0c2VsZiBsYWNrcyB0eXBlIGluZm9ybWF0aW9uLiBUaGVyZWZvcmUsXG4vLyB0aGUgZm9sbG93aW5nIHN0YXRlIHRva2VuIG11c3QgcmVwbGFjZSBgUm91dGVyU3RhdGVgLlxuZXhwb3J0IGNvbnN0IFJPVVRFUl9TVEFURV9UT0tFTiA9IG5ldyBTdGF0ZVRva2VuPFJvdXRlclN0YXRlTW9kZWw+KCdyb3V0ZXInKTtcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogUk9VVEVSX1NUQVRFX1RPS0VOLFxuICBkZWZhdWx0czoge1xuICAgIHN0YXRlOiB1bmRlZmluZWQsXG4gICAgbmF2aWdhdGlvbklkOiB1bmRlZmluZWQsXG4gICAgdHJpZ2dlcjogJ25vbmUnXG4gIH1cbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUm91dGVyU3RhdGUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyBob3cgbmF2aWdhdGlvbiB3YXMgcGVyZm9ybWVkIGJ5IHRoZSBgUm91dGVyU3RhdGVgIGl0c2VsZlxuICAgKiBvciBvdXRzaWRlIHZpYSBgbmV3IE5hdmlnYXRlKC4uLilgXG4gICAqL1xuICBwcml2YXRlIF90cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnO1xuXG4gIC8qKlxuICAgKiBUaGF0J3MgdGhlIHNlcmlhbGl6ZWQgc3RhdGUgZnJvbSB0aGUgYFJvdXRlcmAgY2xhc3NcbiAgICovXG4gIHByaXZhdGUgX3JvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgdmFsdWUgb2YgdGhlIGBSb3V0ZXJTdGF0ZWAgc3RhdGVcbiAgICovXG4gIHByaXZhdGUgX3N0b3JlU3RhdGU6IFJvdXRlclN0YXRlTW9kZWwgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYXN0RXZlbnQ6IEV2ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfb3B0aW9uczogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuXG4gIHN0YXRpYyBzdGF0ZSA9IC8qIEBfX1BVUkVfXyAqLyBjcmVhdGVTZWxlY3RvcihcbiAgICBbUk9VVEVSX1NUQVRFX1RPS0VOXSxcbiAgICAoc3RhdGU6IFJvdXRlclN0YXRlTW9kZWw8Um91dGVyU3RhdGVTbmFwc2hvdD4pID0+IHtcbiAgICAgIC8vIFRoZSBgc3RhdGVgIGlzIG9wdGlvbmFsIGlmIHRoZSBzZWxlY3RvciBpcyBpbnZva2VkIGJlZm9yZSB0aGUgcm91dGVyXG4gICAgICAvLyBzdGF0ZSBpcyByZWdpc3RlcmVkIGluIE5HWFMuXG4gICAgICByZXR1cm4gc3RhdGU/LnN0YXRlO1xuICAgIH1cbiAgKTtcblxuICBzdGF0aWMgdXJsID0gLyogQF9fUFVSRV9fICovIGNyZWF0ZVNlbGVjdG9yKFxuICAgIFtST1VURVJfU1RBVEVfVE9LRU5dLFxuICAgIHN0YXRlID0+IHN0YXRlPy5zdGF0ZT8udXJsXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX3NlcmlhbGl6ZXI6IFJvdXRlclN0YXRlU2VyaWFsaXplcjxSb3V0ZXJTdGF0ZVNuYXBzaG90PixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgLy8gTm90ZTogZG8gbm90IHVzZSBgQEluamVjdGAgc2luY2UgaXQgZmFpbHMgb24gbG93ZXIgdmVyc2lvbnMgb2YgQW5ndWxhciB3aXRoIEplc3RcbiAgICAvLyBpbnRlZ3JhdGlvbiwgaXQgY2Fubm90IHJlc29sdmUgdGhlIHRva2VuIHByb3ZpZGVyLlxuICAgIHRoaXMuX29wdGlvbnMgPSBpbmplY3Rvci5nZXQoybVOR1hTX1JPVVRFUl9QTFVHSU5fT1BUSU9OUywgbnVsbCk7XG4gICAgdGhpcy5fc2V0VXBTdG9yZUxpc3RlbmVyKCk7XG4gICAgdGhpcy5fc2V0VXBSb3V0ZXJFdmVudHNMaXN0ZW5lcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgQEFjdGlvbihOYXZpZ2F0ZSlcbiAgbmF2aWdhdGUoXzogU3RhdGVDb250ZXh0PFJvdXRlclN0YXRlTW9kZWw+LCBhY3Rpb246IE5hdmlnYXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oKCkgPT5cbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShhY3Rpb24ucGF0aCwge1xuICAgICAgICBxdWVyeVBhcmFtczogYWN0aW9uLnF1ZXJ5UGFyYW1zLFxuICAgICAgICAuLi5hY3Rpb24uZXh0cmFzXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBAQWN0aW9uKFtcbiAgICBSb3V0ZXJSZXF1ZXN0PFJvdXRlclN0YXRlU25hcHNob3Q+LFxuICAgIFJvdXRlck5hdmlnYXRpb248Um91dGVyU3RhdGVTbmFwc2hvdD4sXG4gICAgUm91dGVyRXJyb3I8Um91dGVyU3RhdGVNb2RlbCwgUm91dGVyU3RhdGVTbmFwc2hvdD4sXG4gICAgUm91dGVyQ2FuY2VsPFJvdXRlclN0YXRlTW9kZWwsIFJvdXRlclN0YXRlU25hcHNob3Q+LFxuICAgIFJvdXRlckRhdGFSZXNvbHZlZDxSb3V0ZXJTdGF0ZVNuYXBzaG90PixcbiAgICBSb3V0ZXJOYXZpZ2F0ZWQ8Um91dGVyU3RhdGVTbmFwc2hvdD5cbiAgXSlcbiAgYW5ndWxhclJvdXRlckFjdGlvbihcbiAgICBjdHg6IFN0YXRlQ29udGV4dDxSb3V0ZXJTdGF0ZU1vZGVsPixcbiAgICBhY3Rpb246IFJvdXRlckFjdGlvbjxSb3V0ZXJTdGF0ZU1vZGVsLCBSb3V0ZXJTdGF0ZVNuYXBzaG90PlxuICApOiB2b2lkIHtcbiAgICBjdHguc2V0U3RhdGUoe1xuICAgICAgdHJpZ2dlcjogYWN0aW9uLnRyaWdnZXIsXG4gICAgICBzdGF0ZTogYWN0aW9uLnJvdXRlclN0YXRlLFxuICAgICAgbmF2aWdhdGlvbklkOiBhY3Rpb24uZXZlbnQuaWRcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFVwU3RvcmVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSQgPSB0aGlzLl9zdG9yZVxuICAgICAgLnNlbGVjdChST1VURVJfU1RBVEVfVE9LRU4pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKTtcbiAgICByb3V0ZXJTdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgdGhpcy5fbmF2aWdhdGVJZk5lZWRlZChzdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0ZUlmTmVlZGVkKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHJvdXRlclN0YXRlICYmIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdkZXZ0b29scycpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChST1VURVJfU1RBVEVfVE9LRU4pO1xuICAgIH1cblxuICAgIGNvbnN0IGNhblNraXBOYXZpZ2F0aW9uID1cbiAgICAgICF0aGlzLl9zdG9yZVN0YXRlIHx8XG4gICAgICAhdGhpcy5fc3RvcmVTdGF0ZS5zdGF0ZSB8fFxuICAgICAgIXJvdXRlclN0YXRlIHx8XG4gICAgICByb3V0ZXJTdGF0ZS50cmlnZ2VyID09PSAncm91dGVyJyB8fFxuICAgICAgdGhpcy5fcm91dGVyLnVybCA9PT0gdGhpcy5fc3RvcmVTdGF0ZS5zdGF0ZS51cmwgfHxcbiAgICAgIHRoaXMuX2xhc3RFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDtcblxuICAgIGlmIChjYW5Ta2lwTmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChST1VURVJfU1RBVEVfVE9LRU4pO1xuICAgIHRoaXMuX3RyaWdnZXIgPSAnc3RvcmUnO1xuICAgIHRoaXMuX25nWm9uZS5ydW4oKCkgPT4gdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fc3RvcmVTdGF0ZSEuc3RhdGUhLnVybCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VXBSb3V0ZXJFdmVudHNMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBjb25zdCBkaXNwYXRjaFJvdXRlck5hdmlnYXRpb25MYXRlID1cbiAgICAgIHRoaXMuX29wdGlvbnMgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5fb3B0aW9ucy5uYXZpZ2F0aW9uQWN0aW9uVGltaW5nID09PSBOYXZpZ2F0aW9uQWN0aW9uVGltaW5nLlBvc3RBY3RpdmF0aW9uO1xuXG4gICAgbGV0IGxhc3RSb3V0ZXNSZWNvZ25pemVkOiBSb3V0ZXNSZWNvZ25pemVkO1xuXG4gICAgY29uc3QgZXZlbnRzJCA9IHRoaXMuX3JvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKTtcbiAgICBldmVudHMkLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICB0aGlzLl9sYXN0RXZlbnQgPSBldmVudDtcblxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TdGFydChldmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgUm91dGVzUmVjb2duaXplZCkge1xuICAgICAgICBsYXN0Um91dGVzUmVjb2duaXplZCA9IGV2ZW50O1xuICAgICAgICBpZiAoIWRpc3BhdGNoUm91dGVyTmF2aWdhdGlvbkxhdGUgJiYgdGhpcy5fdHJpZ2dlciAhPT0gJ3N0b3JlJykge1xuICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSZXNvbHZlRW5kKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyRGF0YVJlc29sdmVkKGV2ZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQ2FuY2VsKGV2ZW50KTtcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudCk7XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICBpZiAodGhpcy5fdHJpZ2dlciAhPT0gJ3N0b3JlJykge1xuICAgICAgICAgIGlmIChkaXNwYXRjaFJvdXRlck5hdmlnYXRpb25MYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRpb24obGFzdFJvdXRlc1JlY29nbml6ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRlZChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25TdGFydGAuICovXG4gIHByaXZhdGUgX25hdmlnYXRpb25TdGFydChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZSh0aGlzLl9yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QpO1xuXG4gICAgaWYgKHRoaXMuX3RyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJPVVRFUl9TVEFURV9UT0tFTik7XG4gICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyUmVxdWVzdCh0aGlzLl9yb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBSZXNvbHZlRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJEYXRhUmVzb2x2ZWQoZXZlbnQ6IFJlc29sdmVFbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGV2ZW50LnN0YXRlKTtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyRGF0YVJlc29sdmVkKHJvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgUm91dGVzUmVjb2duaXplZGAgb3IgYE5hdmlnYXRpb25FbmRgLCBkZXBlbmRzIG9uIHRoZSBgbmF2aWdhdGlvbkFjdGlvblRpbWluZ2AuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRSb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGxhc3RSb3V0ZXNSZWNvZ25pemVkLnN0YXRlKTtcblxuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlck5hdmlnYXRpb24oXG4gICAgICAgIG5leHRSb3V0ZXJTdGF0ZSxcbiAgICAgICAgbmV3IFJvdXRlc1JlY29nbml6ZWQoXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQuaWQsXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQudXJsLFxuICAgICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkLnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgIG5leHRSb3V0ZXJTdGF0ZVxuICAgICAgICApLFxuICAgICAgICB0aGlzLl90cmlnZ2VyXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25DYW5jZWxgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlckNhbmNlbCh0aGlzLl9yb3V0ZXJTdGF0ZSEsIHRoaXMuX3N0b3JlU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyRXJyb3IoXG4gICAgICAgIHRoaXMuX3JvdXRlclN0YXRlISxcbiAgICAgICAgdGhpcy5fc3RvcmVTdGF0ZSxcbiAgICAgICAgbmV3IE5hdmlnYXRpb25FcnJvcihldmVudC5pZCwgZXZlbnQudXJsLCBgJHtldmVudH1gKSxcbiAgICAgICAgdGhpcy5fdHJpZ2dlclxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0ZWQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMuX3JvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24obmV3IFJvdXRlck5hdmlnYXRlZChyb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyQWN0aW9uPFQ+KGFjdGlvbjogUm91dGVyQWN0aW9uPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdyb3V0ZXInO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3RyaWdnZXIgPSAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdub25lJztcbiAgICB0aGlzLl9zdG9yZVN0YXRlID0gbnVsbDtcbiAgICB0aGlzLl9yb3V0ZXJTdGF0ZSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export class RouterStateSerializer {
|
|
2
|
-
}
|
|
3
|
-
export class DefaultRouterStateSerializer {
|
|
4
|
-
serialize(routerState) {
|
|
5
|
-
return {
|
|
6
|
-
root: this.serializeRoute(routerState.root),
|
|
7
|
-
url: routerState.url
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
serializeRoute(route) {
|
|
11
|
-
const children = route.children.map(c => this.serializeRoute(c));
|
|
12
|
-
return {
|
|
13
|
-
url: route.url,
|
|
14
|
-
title: route.title,
|
|
15
|
-
params: route.params,
|
|
16
|
-
queryParams: route.queryParams,
|
|
17
|
-
fragment: route.fragment,
|
|
18
|
-
data: route.data,
|
|
19
|
-
outlet: route.outlet,
|
|
20
|
-
component: null,
|
|
21
|
-
routeConfig: null,
|
|
22
|
-
root: null,
|
|
23
|
-
parent: null,
|
|
24
|
-
firstChild: children[0],
|
|
25
|
-
children: children,
|
|
26
|
-
pathFromRoot: null,
|
|
27
|
-
paramMap: route.paramMap,
|
|
28
|
-
queryParamMap: route.queryParamMap,
|
|
29
|
-
toString: route.toString
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3NlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixxQkFBcUI7Q0FFMUM7QUFPRCxNQUFNLE9BQU8sNEJBQTRCO0lBR3ZDLFNBQVMsQ0FBQyxXQUFnQztRQUN4QyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUMzQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBNkI7UUFDbEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTztZQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUztZQUN6QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUk7WUFDakIsSUFBSSxFQUFFLElBQVc7WUFDakIsTUFBTSxFQUFFLElBQUk7WUFDWixVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN2QixRQUFRLEVBQUUsUUFBUTtZQUNsQixZQUFZLEVBQUUsSUFBVztZQUN6QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXI8VD4ge1xuICBhYnN0cmFjdCBzZXJpYWxpemUocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcmlhbGl6ZWRSb3V0ZXJTdGF0ZVNuYXBzaG90IHtcbiAgcm9vdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0Um91dGVyU3RhdGVTZXJpYWxpemVyXG4gIGltcGxlbWVudHMgUm91dGVyU3RhdGVTZXJpYWxpemVyPFNlcmlhbGl6ZWRSb3V0ZXJTdGF0ZVNuYXBzaG90Plxue1xuICBzZXJpYWxpemUocm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBTZXJpYWxpemVkUm91dGVyU3RhdGVTbmFwc2hvdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvb3Q6IHRoaXMuc2VyaWFsaXplUm91dGUocm91dGVyU3RhdGUucm9vdCksXG4gICAgICB1cmw6IHJvdXRlclN0YXRlLnVybFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNlcmlhbGl6ZVJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByb3V0ZS5jaGlsZHJlbi5tYXAoYyA9PiB0aGlzLnNlcmlhbGl6ZVJvdXRlKGMpKTtcbiAgICByZXR1cm4ge1xuICAgICAgdXJsOiByb3V0ZS51cmwsXG4gICAgICB0aXRsZTogcm91dGUudGl0bGUsXG4gICAgICBwYXJhbXM6IHJvdXRlLnBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiByb3V0ZS5xdWVyeVBhcmFtcyxcbiAgICAgIGZyYWdtZW50OiByb3V0ZS5mcmFnbWVudCEsXG4gICAgICBkYXRhOiByb3V0ZS5kYXRhLFxuICAgICAgb3V0bGV0OiByb3V0ZS5vdXRsZXQsXG4gICAgICBjb21wb25lbnQ6IG51bGwsXG4gICAgICByb3V0ZUNvbmZpZzogbnVsbCxcbiAgICAgIHJvb3Q6IG51bGwgYXMgYW55LFxuICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgZmlyc3RDaGlsZDogY2hpbGRyZW5bMF0sXG4gICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXG4gICAgICBwYXRoRnJvbVJvb3Q6IG51bGwgYXMgYW55LFxuICAgICAgcGFyYW1NYXA6IHJvdXRlLnBhcmFtTWFwLFxuICAgICAgcXVlcnlQYXJhbU1hcDogcm91dGUucXVlcnlQYXJhbU1hcCxcbiAgICAgIHRvU3RyaW5nOiByb3V0ZS50b1N0cmluZ1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
package/internals/package.json
DELETED