@ngxs/router-plugin 3.7.4-dev.master-e8bc76f → 3.7.4-dev.master-79cbc2a

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.
@@ -1,11 +1,8 @@
1
1
  import { NgZone, Injectable, NgModule } from '@angular/core';
2
2
  import { Store, Action, Selector, State, NgxsModule } from '@ngxs/store';
3
3
  import { __assign, __decorate, __metadata } from 'tslib';
4
- import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router, UrlSerializer } from '@angular/router';
5
- import { LocationStrategy, Location } from '@angular/common';
6
- import { isAngularInTestMode } from '@ngxs/store/internals';
4
+ import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router } from '@angular/router';
7
5
  import { Subscription } from 'rxjs';
8
- import { first } from 'rxjs/operators';
9
6
 
10
7
  /**
11
8
  * @fileoverview added by tsickle
@@ -315,14 +312,11 @@ if (false) {
315
312
  RouterStateModel.prototype.trigger;
316
313
  }
317
314
  var RouterState = /** @class */ (function () {
318
- function RouterState(_store, _router, _serializer, _ngZone, _urlSerializer, _locationStrategy, _location) {
315
+ function RouterState(_store, _router, _serializer, _ngZone) {
319
316
  this._store = _store;
320
317
  this._router = _router;
321
318
  this._serializer = _serializer;
322
319
  this._ngZone = _ngZone;
323
- this._urlSerializer = _urlSerializer;
324
- this._locationStrategy = _locationStrategy;
325
- this._location = _location;
326
320
  /**
327
321
  * Determines how navigation was performed by the `RouterState` itself
328
322
  * or outside via `new Navigate(...)`
@@ -340,7 +334,6 @@ var RouterState = /** @class */ (function () {
340
334
  this._subscription = new Subscription();
341
335
  this.setUpStoreListener();
342
336
  this.setUpRouterEventsListener();
343
- this.checkInitialNavigationOnce();
344
337
  }
345
338
  RouterState_1 = RouterState;
346
339
  /**
@@ -630,93 +623,12 @@ var RouterState = /** @class */ (function () {
630
623
  this._storeState = null;
631
624
  this._routerState = null;
632
625
  };
633
- /**
634
- * No sense to mess up the `setUpRouterEventsListener` method as we have
635
- * to perform this check only once and unsubscribe after the first event
636
- * is triggered
637
- */
638
- /**
639
- * No sense to mess up the `setUpRouterEventsListener` method as we have
640
- * to perform this check only once and unsubscribe after the first event
641
- * is triggered
642
- * @private
643
- * @return {?}
644
- */
645
- RouterState.prototype.checkInitialNavigationOnce = /**
646
- * No sense to mess up the `setUpRouterEventsListener` method as we have
647
- * to perform this check only once and unsubscribe after the first event
648
- * is triggered
649
- * @private
650
- * @return {?}
651
- */
652
- function () {
653
- var _this = this;
654
- // Caretaker note: we have still left the `typeof` condition in order to avoid
655
- // creating a breaking change for projects that still use the View Engine.
656
- if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
657
- // Angular is running tests in development mode thus we can be sure that this method will be
658
- // skipped in tests.
659
- isAngularInTestMode()) {
660
- return;
661
- }
662
- /** @type {?} */
663
- var subscription = this._router.events
664
- .pipe(first((/**
665
- * @param {?} event
666
- * @return {?}
667
- */
668
- function (event) { return event instanceof RoutesRecognized; })))
669
- .subscribe((/**
670
- * @param {?} __0
671
- * @return {?}
672
- */
673
- function (_a) {
674
- // `location.pathname` always equals manually entered URL in the address bar
675
- // e.g. `location.pathname === '/foo'`, but the `router` state has been initialized
676
- // with another URL (e.g. used in combination with `NgxsStoragePlugin`), thus the
677
- // `RouterNavigation` action will be dispatched and the user will be redirected to the
678
- // previously saved URL. We want to prevent such behavior, so we perform this check
679
- var url = _a.url;
680
- // `location.pathname` always equals manually entered URL in the address bar
681
- // e.g. `location.pathname === '/foo'`, but the `router` state has been initialized
682
- // with another URL (e.g. used in combination with `NgxsStoragePlugin`), thus the
683
- // `RouterNavigation` action will be dispatched and the user will be redirected to the
684
- // previously saved URL. We want to prevent such behavior, so we perform this check
685
- // `url` is a recognized URL by the Angular's router, while `currentUrl` is an actual URL
686
- // entered in the browser's address bar
687
- // `PathLocationStrategy.prototype.path()` returns a concatenation of
688
- // `PlatformLocation.pathname` and normalized `PlatformLocation.search`.
689
- // `Location.prototype.normalize` strips base href from the URL,
690
- // if `baseHref` (declared in angular.json) for example is `/en`
691
- // and the URL is `/test#anchor` - then `_locationStrategy.path(true)` will return `/en/test#anchor`,
692
- // but `/en/test#anchor` is not known to the Angular's router, so we have to strip `/en`
693
- // from the URL
694
- /** @type {?} */
695
- var currentUrl = _this._location.normalize(_this._locationStrategy.path(true));
696
- /** @type {?} */
697
- var currentUrlTree = _this._urlSerializer.parse(currentUrl);
698
- // We need to serialize the URL because in that example `/test/?redirect=https://google.com/`
699
- // Angular will recognize it as `/test?redirect=https:%2F%2Fwww.google.com%2F`
700
- // so we have to run the `currentUrl` via the `UrlSerializer` that will encode characters
701
- /** @type {?} */
702
- var currentSerializedUrl = _this._urlSerializer.serialize(currentUrlTree);
703
- // If URLs differ from each other - we've got to perform a redirect to the manually entered URL
704
- // in the address bar, as it must have a priority
705
- if (currentSerializedUrl !== url) {
706
- _this._router.navigateByUrl(currentUrl);
707
- }
708
- }));
709
- this._subscription.add(subscription);
710
- };
711
626
  var RouterState_1;
712
627
  RouterState.ctorParameters = function () { return [
713
628
  { type: Store },
714
629
  { type: Router },
715
630
  { type: RouterStateSerializer },
716
- { type: NgZone },
717
- { type: UrlSerializer },
718
- { type: LocationStrategy },
719
- { type: Location }
631
+ { type: NgZone }
720
632
  ]; };
721
633
  RouterState.decorators = [
722
634
  { type: Injectable }
@@ -726,10 +638,7 @@ var RouterState = /** @class */ (function () {
726
638
  { type: Store },
727
639
  { type: Router },
728
640
  { type: RouterStateSerializer },
729
- { type: NgZone },
730
- { type: UrlSerializer },
731
- { type: LocationStrategy },
732
- { type: Location }
641
+ { type: NgZone }
733
642
  ]; };
734
643
  __decorate([
735
644
  Action(Navigate),
@@ -767,10 +676,7 @@ var RouterState = /** @class */ (function () {
767
676
  __metadata("design:paramtypes", [Store,
768
677
  Router,
769
678
  RouterStateSerializer,
770
- NgZone,
771
- UrlSerializer,
772
- LocationStrategy,
773
- Location])
679
+ NgZone])
774
680
  ], RouterState);
775
681
  return RouterState;
776
682
  }());
@@ -824,21 +730,6 @@ if (false) {
824
730
  * @private
825
731
  */
826
732
  RouterState.prototype._ngZone;
827
- /**
828
- * @type {?}
829
- * @private
830
- */
831
- RouterState.prototype._urlSerializer;
832
- /**
833
- * @type {?}
834
- * @private
835
- */
836
- RouterState.prototype._locationStrategy;
837
- /**
838
- * @type {?}
839
- * @private
840
- */
841
- RouterState.prototype._location;
842
733
  }
843
734
 
844
735
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-router-plugin.js","sources":["ng://@ngxs/router-plugin/src/router.actions.ts","ng://@ngxs/router-plugin/src/serializer.ts","ng://@ngxs/router-plugin/src/router.state.ts","ng://@ngxs/router-plugin/src/router.module.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd\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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Router] RouterDataResolved';\n }\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<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 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 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 } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n UrlSerializer,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\nimport { LocationStrategy, Location } from '@angular/common';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { isAngularInTestMode } from '@ngxs/store/internals';\nimport { Subscription } from 'rxjs';\nimport { first } from 'rxjs/operators';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved\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/**\n * @description Will be provided through Terser global definitions by Angular CLI\n * during the production build. This is how Angular does tree-shaking internally.\n */\ndeclare const ngDevMode: boolean;\n\n@State<RouterStateModel>({\n name: 'router',\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 _lastRoutesRecognized: RoutesRecognized = null!;\n\n private _subscription = new Subscription();\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.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 private _urlSerializer: UrlSerializer,\n private _locationStrategy: LocationStrategy,\n private _location: Location\n ) {\n this.setUpStoreListener();\n this.setUpRouterEventsListener();\n this.checkInitialNavigationOnce();\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\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([RouterNavigation, RouterError, RouterCancel, RouterDataResolved])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n ...ctx.getState(),\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private setUpStoreListener(): void {\n const subscription = this._store\n .select(RouterState)\n .subscribe((state: RouterStateModel | undefined) => {\n this.navigateIfNeeded(state);\n });\n\n this._subscription.add(subscription);\n }\n\n private setUpRouterEventsListener(): void {\n const subscription = this._router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.navigationStart();\n } else if (event instanceof RoutesRecognized) {\n this._lastRoutesRecognized = event;\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 this.navigationEnd();\n this.reset();\n }\n });\n\n this._subscription.add(subscription);\n }\n\n private navigationStart(): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n }\n\n private navigationEnd(): void {\n if (this.shouldDispatchRouterNavigation()) {\n this.dispatchRouterNavigation();\n }\n }\n\n private shouldDispatchRouterNavigation(): boolean {\n if (!this._storeState) return true;\n return this._trigger !== 'store';\n }\n\n private navigateIfNeeded(state: RouterStateModel | undefined): void {\n if (state && state.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !state ||\n state.trigger === 'router' ||\n this._router.url === this._storeState.state.url;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._trigger = 'store';\n this._ngZone.run(() => {\n this._router.navigateByUrl(this._storeState!.state!.url);\n });\n }\n\n private dispatchRouterNavigation(): void {\n const nextRouterState = this._serializer.serialize(this._lastRoutesRecognized.state);\n\n this.dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n this._lastRoutesRecognized.id,\n this._lastRoutesRecognized.url,\n this._lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n private dispatchRouterCancel(event: NavigationCancel): void {\n this.dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\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 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 dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this.dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n private reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n\n /**\n * No sense to mess up the `setUpRouterEventsListener` method as we have\n * to perform this check only once and unsubscribe after the first event\n * is triggered\n */\n private checkInitialNavigationOnce(): void {\n // Caretaker note: we have still left the `typeof` condition in order to avoid\n // creating a breaking change for projects that still use the View Engine.\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n // Angular is running tests in development mode thus we can be sure that this method will be\n // skipped in tests.\n isAngularInTestMode()\n ) {\n return;\n }\n\n const subscription = this._router.events\n .pipe(first((event): event is RoutesRecognized => event instanceof RoutesRecognized))\n .subscribe(({ url }) => {\n // `location.pathname` always equals manually entered URL in the address bar\n // e.g. `location.pathname === '/foo'`, but the `router` state has been initialized\n // with another URL (e.g. used in combination with `NgxsStoragePlugin`), thus the\n // `RouterNavigation` action will be dispatched and the user will be redirected to the\n // previously saved URL. We want to prevent such behavior, so we perform this check\n\n // `url` is a recognized URL by the Angular's router, while `currentUrl` is an actual URL\n // entered in the browser's address bar\n // `PathLocationStrategy.prototype.path()` returns a concatenation of\n // `PlatformLocation.pathname` and normalized `PlatformLocation.search`.\n\n // `Location.prototype.normalize` strips base href from the URL,\n // if `baseHref` (declared in angular.json) for example is `/en`\n // and the URL is `/test#anchor` - then `_locationStrategy.path(true)` will return `/en/test#anchor`,\n // but `/en/test#anchor` is not known to the Angular's router, so we have to strip `/en`\n // from the URL\n const currentUrl = this._location.normalize(this._locationStrategy.path(true));\n const currentUrlTree = this._urlSerializer.parse(currentUrl);\n // We need to serialize the URL because in that example `/test/?redirect=https://google.com/`\n // Angular will recognize it as `/test?redirect=https:%2F%2Fwww.google.com%2F`\n // so we have to run the `currentUrl` via the `UrlSerializer` that will encode characters\n const currentSerializedUrl = this._urlSerializer.serialize(currentUrlTree);\n\n // If URLs differ from each other - we've got to perform a redirect to the manually entered URL\n // in the address bar, as it must have a priority\n if (currentSerializedUrl !== url) {\n this._router.navigateByUrl(currentUrl);\n }\n });\n\n this._subscription.add(subscription);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\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(): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }]\n };\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-router-plugin.js","sources":["ng://@ngxs/router-plugin/src/router.actions.ts","ng://@ngxs/router-plugin/src/serializer.ts","ng://@ngxs/router-plugin/src/router.state.ts","ng://@ngxs/router-plugin/src/router.module.ts"],"sourcesContent":["import {\n NavigationCancel,\n NavigationError,\n NavigationExtras,\n Params,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd\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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 navigates.\n */\nexport class RouterNavigation<T = RouterStateSnapshot> {\n static get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[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 get type() {\n // NOTE: Not necessary to declare the type in this way in your code. See https://github.com/ngxs/store/pull/644#issuecomment-436003138\n return '[Router] RouterDataResolved';\n }\n constructor(\n public routerState: T,\n public event: ResolveEnd,\n public trigger: RouterTrigger = 'none'\n ) {}\n}\n\n/**\n * An union type of router actions.\n */\nexport type RouterAction<T, V = RouterStateSnapshot> =\n | RouterNavigation<V>\n | RouterCancel<T, V>\n | RouterError<T, V>\n | RouterDataResolved<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 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 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 } from '@angular/core';\nimport {\n NavigationCancel,\n NavigationError,\n Router,\n RouterStateSnapshot,\n RoutesRecognized,\n ResolveEnd,\n NavigationStart,\n NavigationEnd\n} from '@angular/router';\nimport { Action, Selector, State, StateContext, Store } from '@ngxs/store';\nimport { Subscription } from 'rxjs';\n\nimport {\n Navigate,\n RouterAction,\n RouterCancel,\n RouterError,\n RouterNavigation,\n RouterDataResolved\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@State<RouterStateModel>({\n name: 'router',\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 _lastRoutesRecognized: RoutesRecognized = null!;\n\n private _subscription = new Subscription();\n\n @Selector()\n static state<T = RouterStateSnapshot>(state: RouterStateModel<T>) {\n return state && state.state;\n }\n\n @Selector()\n static url(state: RouterStateModel): string | undefined {\n return state && state.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 ) {\n this.setUpStoreListener();\n this.setUpRouterEventsListener();\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\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([RouterNavigation, RouterError, RouterCancel, RouterDataResolved])\n angularRouterAction(\n ctx: StateContext<RouterStateModel>,\n action: RouterAction<RouterStateModel, RouterStateSnapshot>\n ): void {\n ctx.setState({\n ...ctx.getState(),\n trigger: action.trigger,\n state: action.routerState,\n navigationId: action.event.id\n });\n }\n\n private setUpStoreListener(): void {\n const subscription = this._store\n .select(RouterState)\n .subscribe((state: RouterStateModel | undefined) => {\n this.navigateIfNeeded(state);\n });\n\n this._subscription.add(subscription);\n }\n\n private setUpRouterEventsListener(): void {\n const subscription = this._router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.navigationStart();\n } else if (event instanceof RoutesRecognized) {\n this._lastRoutesRecognized = event;\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 this.navigationEnd();\n this.reset();\n }\n });\n\n this._subscription.add(subscription);\n }\n\n private navigationStart(): void {\n this._routerState = this._serializer.serialize(this._router.routerState.snapshot);\n\n if (this._trigger !== 'none') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n }\n\n private navigationEnd(): void {\n if (this.shouldDispatchRouterNavigation()) {\n this.dispatchRouterNavigation();\n }\n }\n\n private shouldDispatchRouterNavigation(): boolean {\n if (!this._storeState) return true;\n return this._trigger !== 'store';\n }\n\n private navigateIfNeeded(state: RouterStateModel | undefined): void {\n if (state && state.trigger === 'devtools') {\n this._storeState = this._store.selectSnapshot(RouterState);\n }\n\n const canSkipNavigation =\n !this._storeState ||\n !this._storeState.state ||\n !state ||\n state.trigger === 'router' ||\n this._router.url === this._storeState.state.url;\n\n if (canSkipNavigation) {\n return;\n }\n\n this._trigger = 'store';\n this._ngZone.run(() => {\n this._router.navigateByUrl(this._storeState!.state!.url);\n });\n }\n\n private dispatchRouterNavigation(): void {\n const nextRouterState = this._serializer.serialize(this._lastRoutesRecognized.state);\n\n this.dispatchRouterAction(\n new RouterNavigation(\n nextRouterState,\n new RoutesRecognized(\n this._lastRoutesRecognized.id,\n this._lastRoutesRecognized.url,\n this._lastRoutesRecognized.urlAfterRedirects,\n nextRouterState\n ),\n this._trigger\n )\n );\n }\n\n private dispatchRouterCancel(event: NavigationCancel): void {\n this.dispatchRouterAction(\n new RouterCancel(this._routerState!, this._storeState, event, this._trigger)\n );\n }\n\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 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 dispatchRouterDataResolved(event: ResolveEnd): void {\n const routerState = this._serializer.serialize(event.state);\n this.dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));\n }\n\n private reset(): void {\n this._trigger = 'none';\n this._storeState = null;\n this._routerState = null;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxsModule } from '@ngxs/store';\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(): ModuleWithProviders<NgxsRouterPluginModule> {\n return {\n ngModule: NgxsRouterPluginModule,\n providers: [{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }]\n };\n }\n}\n"],"names":["tslib_1.__decorate"],"mappings":";;;;;;;;;;;;;AAeA;;;;IAKE,kBACS,IAAW,EACX,WAAoB,EACpB,MAAyB;QAFzB,SAAI,GAAJ,IAAI,CAAO;QACX,gBAAW,GAAX,WAAW,CAAS;QACpB,WAAM,GAAN,MAAM,CAAmB;KAC9B;IARJ,sBAAW,gBAAI;;;;QAAf;;YAEE,OAAO,mBAAmB,CAAC;SAC5B;;;OAAA;IAMH,eAAC;CAAA,IAAA;;;IAJG,wBAAkB;;IAClB,+BAA2B;;IAC3B,0BAAgC;;;;;;;;;;;AAapC;;;;;;;;;;IAKE,0BACS,WAAc,EACd,KAAuB,EACvB,OAA+B;QAA/B,wBAAA,EAAA,gBAA+B;QAF/B,gBAAW,GAAX,WAAW,CAAG;QACd,UAAK,GAAL,KAAK,CAAkB;QACvB,YAAO,GAAP,OAAO,CAAwB;KACpC;IARJ,sBAAW,wBAAI;;;;QAAf;;YAEE,OAAO,2BAA2B,CAAC;SACpC;;;OAAA;IAMH,uBAAC;CAAA,IAAA;;;IAJG,uCAAqB;;IACrB,iCAA8B;;IAC9B,mCAAsC;;;;;;AAO1C;;;;;IAKE,sBACS,WAAc,EACd,UAAa,EACb,KAAuB,EACvB,OAA+B;QAA/B,wBAAA,EAAA,gBAA+B;QAH/B,gBAAW,GAAX,WAAW,CAAG;QACd,eAAU,GAAV,UAAU,CAAG;QACb,UAAK,GAAL,KAAK,CAAkB;QACvB,YAAO,GAAP,OAAO,CAAwB;KACpC;IATJ,sBAAW,oBAAI;;;;QAAf;;YAEE,OAAO,uBAAuB,CAAC;SAChC;;;OAAA;IAOH,mBAAC;CAAA,IAAA;;;IALG,mCAAqB;;IACrB,kCAAoB;;IACpB,6BAA8B;;IAC9B,+BAAsC;;;;;;AAO1C;;;;;IAKE,qBACS,WAAc,EACd,UAAa,EACb,KAAsB,EACtB,OAA+B;QAA/B,wBAAA,EAAA,gBAA+B;QAH/B,gBAAW,GAAX,WAAW,CAAG;QACd,eAAU,GAAV,UAAU,CAAG;QACb,UAAK,GAAL,KAAK,CAAiB;QACtB,YAAO,GAAP,OAAO,CAAwB;KACpC;IATJ,sBAAW,mBAAI;;;;QAAf;;YAEE,OAAO,sBAAsB,CAAC;SAC/B;;;OAAA;IAOH,kBAAC;CAAA,IAAA;;;IALG,kCAAqB;;IACrB,iCAAoB;;IACpB,4BAA6B;;IAC7B,8BAAsC;;;;;;AAO1C;;;;;IAKE,4BACS,WAAc,EACd,KAAiB,EACjB,OAA+B;QAA/B,wBAAA,EAAA,gBAA+B;QAF/B,gBAAW,GAAX,WAAW,CAAG;QACd,UAAK,GAAL,KAAK,CAAY;QACjB,YAAO,GAAP,OAAO,CAAwB;KACpC;IARJ,sBAAW,0BAAI;;;;QAAf;;YAEE,OAAO,6BAA6B,CAAC;SACtC;;;OAAA;IAMH,yBAAC;CAAA,IAAA;;;IAJG,yCAAqB;;IACrB,mCAAwB;;IACxB,qCAAsC;;;;;;;;;;;ACzF1C;;;;;IAAA;KAEC;IAAD,4BAAC;CAAA,IAAA;;;;;;;IADC,uEAAwD;;;;;AAG1D,4CAGC;;;IAFC,6CAA6B;;IAC7B,4CAAY;;AAGd;IAAA;KA8BC;;;;;IA5BC,gDAAS;;;;IAAT,UAAU,WAAgC;QACxC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC;YAC3C,GAAG,EAAE,WAAW,CAAC,GAAG;SACrB,CAAC;KACH;;;;;;IAEO,qDAAc;;;;;IAAtB,UAAuB,KAA6B;QAApD,iBAoBC;;YAnBO,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG;;;;QAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAA,EAAC;QAChE,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,qBAAE,IAAI,EAAO;YACjB,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACvB,QAAQ,EAAE,QAAQ;YAClB,YAAY,qBAAE,IAAI,EAAO;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;KACH;IACH,mCAAC;CAAA;;;;;;;;;;ACjBD,+BAIC;;;IAHC,iCAAU;;IACV,wCAAsB;;IACtB,mCAAuB;;;IAkDvB,qBACU,MAAa,EACb,OAAe,EACf,WAAuD,EACvD,OAAe;QAHf,WAAM,GAAN,MAAM,CAAO;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAA4C;QACvD,YAAO,GAAP,OAAO,CAAQ;;;;;QA9BjB,aAAQ,GAAkB,MAAM,CAAC;;;;QAKjC,iBAAY,GAA+B,IAAI,CAAC;;;;QAKhD,gBAAW,GAA4B,IAAI,CAAC;QAE5C,0BAAqB,sBAAqB,IAAI,EAAC,CAAC;QAEhD,kBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QAkBzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;oBAvCU,WAAW;;;;;;IAsBf,iBAAK;;;;;IAAZ,UAAsC,KAA0B;QAC9D,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;KAC7B;;;;;IAGM,eAAG;;;;IAAV,UAAW,KAAuB;QAChC,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;KAChD;;;;IAYD,iCAAW;;;IAAX;QACE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KAClC;;;;;;IAGD,8BAAQ;;;;;IAAR,UAAS,CAAiC,EAAE,MAAgB;QAD5D,iBAQC;QANC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG;;;QAAC;YACtB,OAAA,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,aAC/B,WAAW,EAAE,MAAM,CAAC,WAAW,IAC5B,MAAM,CAAC,MAAM,EAChB;SAAA,EACH,CAAC;KACH;;;;;;IAGD,yCAAmB;;;;;IAAnB,UACE,GAAmC,EACnC,MAA2D;QAE3D,GAAG,CAAC,QAAQ,cACP,GAAG,CAAC,QAAQ,EAAE,IACjB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,KAAK,EAAE,MAAM,CAAC,WAAW,EACzB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAC7B,CAAC;KACJ;;;;;IAEO,wCAAkB;;;;IAA1B;QAAA,iBAQC;;YAPO,YAAY,GAAG,IAAI,CAAC,MAAM;aAC7B,MAAM,CAAC,aAAW,CAAC;aACnB,SAAS;;;;QAAC,UAAC,KAAmC;YAC7C,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B,EAAC;QAEJ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACtC;;;;;IAEO,+CAAyB;;;;IAAjC;QAAA,iBAqBC;;YApBO,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS;;;;QAAC,UAAA,KAAK;YACtD,IAAI,KAAK,YAAY,eAAe,EAAE;gBACpC,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB;iBAAM,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBAC5C,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;iBAAM,IAAI,KAAK,YAAY,UAAU,EAAE;gBACtC,KAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;aACxC;iBAAM,IAAI,KAAK,YAAY,gBAAgB,EAAE;gBAC5C,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACjC,KAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,YAAY,eAAe,EAAE;gBAC3C,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChC,KAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM,IAAI,KAAK,YAAY,aAAa,EAAE;gBACzC,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF,EAAC;QAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACtC;;;;;IAEO,qCAAe;;;;IAAvB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAElF,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,aAAW,CAAC,CAAC;SAC5D;KACF;;;;;IAEO,mCAAa;;;;IAArB;QACE,IAAI,IAAI,CAAC,8BAA8B,EAAE,EAAE;YACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;KACF;;;;;IAEO,oDAA8B;;;;IAAtC;QACE,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;KAClC;;;;;;IAEO,sCAAgB;;;;;IAAxB,UAAyB,KAAmC;QAA5D,iBAoBC;QAnBC,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;YACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,aAAW,CAAC,CAAC;SAC5D;;YAEK,iBAAiB,GACrB,CAAC,IAAI,CAAC,WAAW;YACjB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK;YACvB,CAAC,KAAK;YACN,KAAK,CAAC,OAAO,KAAK,QAAQ;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG;QAEjD,IAAI,iBAAiB,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG;;;QAAC;YACf,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAA,mBAAA,KAAI,CAAC,WAAW,GAAE,KAAK,GAAE,GAAG,CAAC,CAAC;SAC1D,EAAC,CAAC;KACJ;;;;;IAEO,8CAAwB;;;;IAAhC;;YACQ,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAEpF,IAAI,CAAC,oBAAoB,CACvB,IAAI,gBAAgB,CAClB,eAAe,EACf,IAAI,gBAAgB,CAClB,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAC7B,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAC9B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAC5C,eAAe,CAChB,EACD,IAAI,CAAC,QAAQ,CACd,CACF,CAAC;KACH;;;;;;IAEO,0CAAoB;;;;;IAA5B,UAA6B,KAAuB;QAClD,IAAI,CAAC,oBAAoB,CACvB,IAAI,YAAY,oBAAC,IAAI,CAAC,YAAY,IAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC7E,CAAC;KACH;;;;;;IAEO,yCAAmB;;;;;IAA3B,UAA4B,KAAsB;QAChD,IAAI,CAAC,oBAAoB,CACvB,IAAI,WAAW,oBACb,IAAI,CAAC,YAAY,IACjB,IAAI,CAAC,WAAW,EAChB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,KAAG,KAAO,CAAC,EACpD,IAAI,CAAC,QAAQ,CACd,CACF,CAAC;KACH;;;;;;;IAEO,0CAAoB;;;;;;IAA5B,UAAgC,MAAuB;QACrD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9B;gBAAS;YACR,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;SACxB;KACF;;;;;;IAEO,gDAA0B;;;;;IAAlC,UAAmC,KAAiB;;YAC5C,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;KACtF;;;;;IAEO,2BAAK;;;;IAAb;QACE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;;;gBAnKiB,KAAK;gBACJ,MAAM;gBACF,qBAAqB;gBACzB,MAAM;;;gBApC1B,UAAU;;;;gBAlCqC,KAAK;gBAPnD,MAAM;gBAkBC,qBAAqB;gBAtBrB,MAAM;;IA4FbA;QADC,MAAM,CAAC,QAAQ,CAAC;;iDACmC,QAAQ;;+CAO3D;IAGDA;QADC,MAAM,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;;;;0DAWzE;IA5CDA;QADC,QAAQ,EAAE;;;;kCAGV;IAGDA;QADC,QAAQ,EAAE;;;;gCAGV;IA7BU,WAAW;QATvB,KAAK,CAAmB;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,SAAS;gBACvB,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;yCAkCkB,KAAK;YACJ,MAAM;YACF,qBAAqB;YACzB,MAAM;OAnCd,WAAW,CAoMvB;IAAD,kBAAC;CAAA,IAAA;;;;;;;;IA/LC,+BAAyC;;;;;;IAKzC,mCAAwD;;;;;;IAKxD,kCAAoD;;;;;IAEpD,4CAAwD;;;;;IAExD,oCAA2C;;;;;IAazC,6BAAqB;;;;;IACrB,8BAAuB;;;;;IACvB,kCAA+D;;;;;IAC/D,8BAAuB;;;;;;;ACjF3B;IAMA;KAUC;;;;IANQ,8BAAO;;;IAAd;QACE,OAAO;YACL,QAAQ,EAAE,sBAAsB;YAChC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;SACxF,CAAC;KACH;;gBATF,QAAQ,SAAC;oBACR,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;iBAChD;;IAQD,6BAAC;CAVD;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"interface"},"NgxsRouterPluginModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":7,"character":12},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"RouterState"}]]}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"NgxsRouterPluginModule"},"providers":[{"provide":{"__symbolic":"reference","name":"RouterStateSerializer"},"useClass":{"__symbolic":"reference","name":"DefaultRouterStateSerializer"}}]}}}},"RouterState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":47,"character":1},"arguments":[{"name":"router","defaults":{"state":{"__symbolic":"reference","name":"undefined"},"navigationId":{"__symbolic":"reference","name":"undefined"},"trigger":"none"}}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":55,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":88,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":89,"character":21},{"__symbolic":"reference","name":"RouterStateSerializer"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":91,"character":21},{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":92,"character":28},{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy","line":93,"character":31},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":94,"character":23}]}],"ngOnDestroy":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":105,"character":3},"arguments":[{"__symbolic":"reference","name":"Navigate"}]}]}],"angularRouterAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":115,"character":3},"arguments":[[{"__symbolic":"reference","name":"RouterNavigation"},{"__symbolic":"reference","name":"RouterError"},{"__symbolic":"reference","name":"RouterCancel"},{"__symbolic":"reference","name":"RouterDataResolved"}]]}]}],"setUpStoreListener":[{"__symbolic":"method"}],"setUpRouterEventsListener":[{"__symbolic":"method"}],"navigationStart":[{"__symbolic":"method"}],"navigationEnd":[{"__symbolic":"method"}],"shouldDispatchRouterNavigation":[{"__symbolic":"method"}],"navigateIfNeeded":[{"__symbolic":"method"}],"dispatchRouterNavigation":[{"__symbolic":"method"}],"dispatchRouterCancel":[{"__symbolic":"method"}],"dispatchRouterError":[{"__symbolic":"method"}],"dispatchRouterAction":[{"__symbolic":"method"}],"dispatchRouterDataResolved":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"checkInitialNavigationOnce":[{"__symbolic":"method"}]},"statics":{"state":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"state"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"}}},"url":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"state"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"}},"right":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"},"member":"url"}}}}},"RouterStateModel":{"__symbolic":"interface"},"RouterStateSerializer":{"__symbolic":"class","arity":1,"members":{"serialize":[{"__symbolic":"method"}]}},"DefaultRouterStateSerializer":{"__symbolic":"class","members":{"serialize":[{"__symbolic":"method"}],"serializeRoute":[{"__symbolic":"method"}]}},"SerializedRouterStateSnapshot":{"__symbolic":"interface"},"Navigate":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/router","name":"Params","line":22,"character":25},{"__symbolic":"reference","module":"@angular/router","name":"NavigationExtras","line":23,"character":20}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":13}}},"RouterNavigation":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":24,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"RoutesRecognized","line":43,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":37,"character":13}}},"RouterCancel":{"__symbolic":"class","arity":2,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":57,"character":24,"context":{"typeName":"V"},"module":"./src/router.actions"},{"__symbolic":"error","message":"Could not resolve type","line":58,"character":23,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"NavigationCancel","line":59,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":52,"character":13}}},"RouterError":{"__symbolic":"class","arity":2,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":73,"character":24,"context":{"typeName":"V"},"module":"./src/router.actions"},{"__symbolic":"error","message":"Could not resolve type","line":74,"character":23,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"NavigationError","line":75,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":68,"character":13}}},"RouterDataResolved":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":89,"character":24,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"ResolveEnd","line":90,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":84,"character":13}}},"RouterAction":{"__symbolic":"interface"}},"origins":{"ɵa":"./src/router.state","NgxsRouterPluginModule":"./src/router.module","RouterState":"./src/router.state","RouterStateModel":"./src/router.state","RouterStateSerializer":"./src/serializer","DefaultRouterStateSerializer":"./src/serializer","SerializedRouterStateSnapshot":"./src/serializer","Navigate":"./src/router.actions","RouterNavigation":"./src/router.actions","RouterCancel":"./src/router.actions","RouterError":"./src/router.actions","RouterDataResolved":"./src/router.actions","RouterAction":"./src/router.actions"},"importAs":"@ngxs/router-plugin"}
1
+ {"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"interface"},"NgxsRouterPluginModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"NgxsModule","line":7,"character":12},"member":"forFeature"},"arguments":[[{"__symbolic":"reference","name":"RouterState"}]]}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"NgxsRouterPluginModule"},"providers":[{"provide":{"__symbolic":"reference","name":"RouterStateSerializer"},"useClass":{"__symbolic":"reference","name":"DefaultRouterStateSerializer"}}]}}}},"RouterState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"State","line":37,"character":1},"arguments":[{"name":"router","defaults":{"state":{"__symbolic":"reference","name":"undefined"},"navigationId":{"__symbolic":"reference","name":"undefined"},"trigger":"none"}}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":45,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngxs/store","name":"Store","line":78,"character":20},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":79,"character":21},{"__symbolic":"reference","name":"RouterStateSerializer"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":81,"character":21}]}],"ngOnDestroy":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":91,"character":3},"arguments":[{"__symbolic":"reference","name":"Navigate"}]}]}],"angularRouterAction":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@ngxs/store","name":"Action","line":101,"character":3},"arguments":[[{"__symbolic":"reference","name":"RouterNavigation"},{"__symbolic":"reference","name":"RouterError"},{"__symbolic":"reference","name":"RouterCancel"},{"__symbolic":"reference","name":"RouterDataResolved"}]]}]}],"setUpStoreListener":[{"__symbolic":"method"}],"setUpRouterEventsListener":[{"__symbolic":"method"}],"navigationStart":[{"__symbolic":"method"}],"navigationEnd":[{"__symbolic":"method"}],"shouldDispatchRouterNavigation":[{"__symbolic":"method"}],"navigateIfNeeded":[{"__symbolic":"method"}],"dispatchRouterNavigation":[{"__symbolic":"method"}],"dispatchRouterCancel":[{"__symbolic":"method"}],"dispatchRouterError":[{"__symbolic":"method"}],"dispatchRouterAction":[{"__symbolic":"method"}],"dispatchRouterDataResolved":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]},"statics":{"state":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"state"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"}}},"url":{"__symbolic":"function","parameters":["state"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"state"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"}},"right":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"state"},"member":"state"},"member":"url"}}}}},"RouterStateModel":{"__symbolic":"interface"},"RouterStateSerializer":{"__symbolic":"class","arity":1,"members":{"serialize":[{"__symbolic":"method"}]}},"DefaultRouterStateSerializer":{"__symbolic":"class","members":{"serialize":[{"__symbolic":"method"}],"serializeRoute":[{"__symbolic":"method"}]}},"SerializedRouterStateSnapshot":{"__symbolic":"interface"},"Navigate":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/router","name":"Params","line":22,"character":25},{"__symbolic":"reference","module":"@angular/router","name":"NavigationExtras","line":23,"character":20}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":16,"character":13}}},"RouterNavigation":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":42,"character":24,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"RoutesRecognized","line":43,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":37,"character":13}}},"RouterCancel":{"__symbolic":"class","arity":2,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":57,"character":24,"context":{"typeName":"V"},"module":"./src/router.actions"},{"__symbolic":"error","message":"Could not resolve type","line":58,"character":23,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"NavigationCancel","line":59,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":52,"character":13}}},"RouterError":{"__symbolic":"class","arity":2,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":73,"character":24,"context":{"typeName":"V"},"module":"./src/router.actions"},{"__symbolic":"error","message":"Could not resolve type","line":74,"character":23,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"NavigationError","line":75,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":68,"character":13}}},"RouterDataResolved":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":89,"character":24,"context":{"typeName":"T"},"module":"./src/router.actions"},{"__symbolic":"reference","module":"@angular/router","name":"ResolveEnd","line":90,"character":18},{"__symbolic":"reference","name":"ɵa"}]}]},"statics":{"type":{"__symbolic":"error","message":"Variable not initialized","line":84,"character":13}}},"RouterAction":{"__symbolic":"interface"}},"origins":{"ɵa":"./src/router.state","NgxsRouterPluginModule":"./src/router.module","RouterState":"./src/router.state","RouterStateModel":"./src/router.state","RouterStateSerializer":"./src/serializer","DefaultRouterStateSerializer":"./src/serializer","SerializedRouterStateSnapshot":"./src/serializer","Navigate":"./src/router.actions","RouterNavigation":"./src/router.actions","RouterCancel":"./src/router.actions","RouterError":"./src/router.actions","RouterDataResolved":"./src/router.actions","RouterAction":"./src/router.actions"},"importAs":"@ngxs/router-plugin"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "../../node_modules/ng-packagr/package.schema.json",
3
3
  "name": "@ngxs/router-plugin",
4
4
  "description": "router plugin for @ngxs/store",
5
- "version": "3.7.4-dev.master-e8bc76f",
5
+ "version": "3.7.4-dev.master-79cbc2a",
6
6
  "sideEffects": true,
7
7
  "peerDependencies": {
8
8
  "@angular/core": ">=6.1.0 <15.0.0",
@@ -1,6 +1,5 @@
1
1
  import { NgZone, OnDestroy } from '@angular/core';
2
- import { Router, RouterStateSnapshot, UrlSerializer } from '@angular/router';
3
- import { LocationStrategy, Location } from '@angular/common';
2
+ import { Router, RouterStateSnapshot } from '@angular/router';
4
3
  import { StateContext, Store } from '@ngxs/store';
5
4
  import { Navigate, RouterAction } from './router.actions';
6
5
  import { RouterStateSerializer } from './serializer';
@@ -15,9 +14,6 @@ export declare class RouterState implements OnDestroy {
15
14
  private _router;
16
15
  private _serializer;
17
16
  private _ngZone;
18
- private _urlSerializer;
19
- private _locationStrategy;
20
- private _location;
21
17
  /**
22
18
  * Determines how navigation was performed by the `RouterState` itself
23
19
  * or outside via `new Navigate(...)`
@@ -35,7 +31,7 @@ export declare class RouterState implements OnDestroy {
35
31
  private _subscription;
36
32
  static state<T = RouterStateSnapshot>(state: RouterStateModel<T>): T | undefined;
37
33
  static url(state: RouterStateModel): string | undefined;
38
- constructor(_store: Store, _router: Router, _serializer: RouterStateSerializer<RouterStateSnapshot>, _ngZone: NgZone, _urlSerializer: UrlSerializer, _locationStrategy: LocationStrategy, _location: Location);
34
+ constructor(_store: Store, _router: Router, _serializer: RouterStateSerializer<RouterStateSnapshot>, _ngZone: NgZone);
39
35
  ngOnDestroy(): void;
40
36
  navigate(_: StateContext<RouterStateModel>, action: Navigate): Promise<boolean>;
41
37
  angularRouterAction(ctx: StateContext<RouterStateModel>, action: RouterAction<RouterStateModel, RouterStateSnapshot>): void;
@@ -51,10 +47,4 @@ export declare class RouterState implements OnDestroy {
51
47
  private dispatchRouterAction;
52
48
  private dispatchRouterDataResolved;
53
49
  private reset;
54
- /**
55
- * No sense to mess up the `setUpRouterEventsListener` method as we have
56
- * to perform this check only once and unsubscribe after the first event
57
- * is triggered
58
- */
59
- private checkInitialNavigationOnce;
60
50
  }