UNPKG

27.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["modules/router-store/router-store.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ngrx","routerStore","tslib","ng","core","router","rxjs","operators","this","tslib_1","store","NavigationActionTiming","ROUTER_ERROR","RouterStateSerializer","DefaultRouterStateSerializer","prototype","serialize","routerState","root","serializeRoute","url","route","_this","children","map","c","params","paramMap","data","outlet","routeConfig","component","path","pathMatch","redirectTo","queryParams","queryParamMap","fragment","undefined","parent","firstChild","pathFromRoot","MinimalRouterStateSerializer","RouterTrigger","_ROUTER_CONFIG","InjectionToken","ROUTER_CONFIG","DEFAULT_ROUTER_FEATURENAME","_createRouterConfig","config","__assign","stateKey","serializer","navigationActionTiming","PreActivation","StoreRouterConnectingModule","errorHandler","lastEvent","trigger","NONE","setUpStoreStateListener","setUpRouterEventsListener","StoreRouterConnectingModule_1","forRoot","ngModule","providers","provide","useValue","useFactory","deps","useClass","pipe","select","withLatestFrom","subscribe","_a","_b","__read","navigateIfNeeded","routerStoreState","storeState","state","ROUTER","NavigationStart","STORE","navigateByUrl","catch","error","handleError","routesRecognized","dispatchNavLate","PostActivation","events","event","snapshot","dispatchRouterRequest","RoutesRecognized","dispatchRouterNavigation","NavigationCancel","dispatchRouterCancel","reset","NavigationError","dispatchRouterError","NavigationEnd","dispatchRouterNavigated","dispatchRouterAction","lastRoutesRecognized","nextRouterState","id","urlAfterRedirects","type","payload","dispatch","__decorate","NgModule","__param","Inject","__metadata","Store","Router","ErrorHandler","Object","ɵngrx_modules_router_store_router_store_a","ɵngrx_modules_router_store_router_store_b","ROUTER_CANCEL","ROUTER_NAVIGATION","ROUTER_NAVIGATED","ROUTER_REQUEST","routerReducer","action","routerAction","navigationId","getSelectors","selectState","selectRouterState","createSelector","selectCurrentRoute","selectQueryParams","selectRouteParams","selectRouteData","selectUrl","selectQueryParam","param","selectRouteParam","defineProperty","value"],"mappings":"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","sourcesContent":["/**\n * @license NgRx 8.5.2\n * (c) 2015-2018 Brandon Roberts, Mike Ryan, Rob Wormald, Victor Savkin\n * License: MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('tslib'), require('@angular/core'), require('@angular/router'), require('@ngrx/store'), require('rxjs/operators')) :\n typeof define === 'function' && define.amd ? define('@ngrx/router-store', ['exports', 'tslib', '@angular/core', '@angular/router', '@ngrx/store', 'rxjs/operators'], factory) :\n (global = global || self, factory((global.ngrx = global.ngrx || {}, global.ngrx.routerStore = {}), global.tslib, global.ng.core, global.ng.router, global['@ngrx/store'], global.rxjs.operators));\n}(this, function (exports, tslib_1, core, router, store, operators) { 'use strict';\n\n /**\n * An action dispatched when a router navigation request is fired.\n */\n var ROUTER_REQUEST = '@ngrx/router-store/request';\n /**\n * An action dispatched when the router navigates.\n */\n var ROUTER_NAVIGATION = '@ngrx/router-store/navigation';\n /**\n * An action dispatched when the router cancels navigation.\n */\n var ROUTER_CANCEL = '@ngrx/router-store/cancel';\n /**\n * An action dispatched when the router errors.\n */\n var ROUTER_ERROR = '@ngrx/router-store/error';\n /**\n * An action dispatched after navigation has ended and new route is active.\n */\n var ROUTER_NAVIGATED = '@ngrx/router-store/navigated';\n\n function routerReducer(state, action) {\n // Allow compilation with strictFunctionTypes - ref: #1344\n var routerAction = action;\n switch (routerAction.type) {\n case ROUTER_NAVIGATION:\n case ROUTER_ERROR:\n case ROUTER_CANCEL:\n return {\n state: routerAction.payload.routerState,\n navigationId: routerAction.payload.event.id,\n };\n default:\n return state;\n }\n }\n\n var RouterStateSerializer = /** @class */ (function () {\n function RouterStateSerializer() {\n }\n return RouterStateSerializer;\n }());\n\n var DefaultRouterStateSerializer = /** @class */ (function () {\n function DefaultRouterStateSerializer() {\n }\n DefaultRouterStateSerializer.prototype.serialize = function (routerState) {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url,\n };\n };\n DefaultRouterStateSerializer.prototype.serializeRoute = function (route) {\n var _this = this;\n var children = route.children.map(function (c) { return _this.serializeRoute(c); });\n return {\n params: route.params,\n paramMap: route.paramMap,\n data: route.data,\n url: route.url,\n outlet: route.outlet,\n routeConfig: route.routeConfig\n ? {\n component: route.routeConfig.component,\n path: route.routeConfig.path,\n pathMatch: route.routeConfig.pathMatch,\n redirectTo: route.routeConfig.redirectTo,\n outlet: route.routeConfig.outlet,\n }\n : null,\n queryParams: route.queryParams,\n queryParamMap: route.queryParamMap,\n fragment: route.fragment,\n component: (route.routeConfig\n ? route.routeConfig.component\n : undefined),\n root: undefined,\n parent: undefined,\n firstChild: children[0],\n pathFromRoot: undefined,\n children: children,\n };\n };\n return DefaultRouterStateSerializer;\n }());\n\n var MinimalRouterStateSerializer = /** @class */ (function () {\n function MinimalRouterStateSerializer() {\n }\n MinimalRouterStateSerializer.prototype.serialize = function (routerState) {\n return {\n root: this.serializeRoute(routerState.root),\n url: routerState.url,\n };\n };\n MinimalRouterStateSerializer.prototype.serializeRoute = function (route) {\n var _this = this;\n var children = route.children.map(function (c) { return _this.serializeRoute(c); });\n return {\n params: route.params,\n data: route.data,\n url: route.url,\n outlet: route.outlet,\n routeConfig: route.routeConfig\n ? {\n path: route.routeConfig.path,\n pathMatch: route.routeConfig.pathMatch,\n redirectTo: route.routeConfig.redirectTo,\n outlet: route.routeConfig.outlet,\n }\n : null,\n queryParams: route.queryParams,\n fragment: route.fragment,\n firstChild: children[0],\n children: children,\n };\n };\n return MinimalRouterStateSerializer;\n }());\n\n (function (NavigationActionTiming) {\n NavigationActionTiming[NavigationActionTiming[\"PreActivation\"] = 1] = \"PreActivation\";\n NavigationActionTiming[NavigationActionTiming[\"PostActivation\"] = 2] = \"PostActivation\";\n })(exports.NavigationActionTiming || (exports.NavigationActionTiming = {}));\n var _ROUTER_CONFIG = new core.InjectionToken('@ngrx/router-store Internal Configuration');\n var ROUTER_CONFIG = new core.InjectionToken('@ngrx/router-store Configuration');\n var DEFAULT_ROUTER_FEATURENAME = 'router';\n function _createRouterConfig(config) {\n return tslib_1.__assign({ stateKey: DEFAULT_ROUTER_FEATURENAME, serializer: DefaultRouterStateSerializer, navigationActionTiming: exports.NavigationActionTiming.PreActivation }, config);\n }\n var RouterTrigger;\n (function (RouterTrigger) {\n RouterTrigger[RouterTrigger[\"NONE\"] = 1] = \"NONE\";\n RouterTrigger[RouterTrigger[\"ROUTER\"] = 2] = \"ROUTER\";\n RouterTrigger[RouterTrigger[\"STORE\"] = 3] = \"STORE\";\n })(RouterTrigger || (RouterTrigger = {}));\n /**\n * Connects RouterModule with StoreModule.\n *\n * During the navigation, before any guards or resolvers run, the router will dispatch\n * a ROUTER_NAVIGATION action, which has the following signature:\n *\n * ```\n * export type RouterNavigationPayload = {\n * routerState: SerializedRouterStateSnapshot,\n * event: RoutesRecognized\n * }\n * ```\n *\n * Either a reducer or an effect can be invoked in response to this action.\n * If the invoked reducer throws, the navigation will be canceled.\n *\n * If navigation gets canceled because of a guard, a ROUTER_CANCEL action will be\n * dispatched. If navigation results in an error, a ROUTER_ERROR action will be dispatched.\n *\n * Both ROUTER_CANCEL and ROUTER_ERROR contain the store state before the navigation\n * which can be used to restore the consistency of the store.\n *\n * Usage:\n *\n * ```typescript\n * @NgModule({\n * declarations: [AppCmp, SimpleCmp],\n * imports: [\n * BrowserModule,\n * StoreModule.forRoot(mapOfReducers),\n * RouterModule.forRoot([\n * { path: '', component: SimpleCmp },\n * { path: 'next', component: SimpleCmp }\n * ]),\n * StoreRouterConnectingModule.forRoot()\n * ],\n * bootstrap: [AppCmp]\n * })\n * export class AppModule {\n * }\n * ```\n */\n var StoreRouterConnectingModule = /** @class */ (function () {\n function StoreRouterConnectingModule(store, router, serializer, errorHandler, config) {\n this.store = store;\n this.router = router;\n this.serializer = serializer;\n this.errorHandler = errorHandler;\n this.config = config;\n this.lastEvent = null;\n this.trigger = RouterTrigger.NONE;\n this.stateKey = this.config.stateKey;\n this.setUpStoreStateListener();\n this.setUpRouterEventsListener();\n }\n StoreRouterConnectingModule_1 = StoreRouterConnectingModule;\n StoreRouterConnectingModule.forRoot = function (config) {\n if (config === void 0) { config = {}; }\n return {\n ngModule: StoreRouterConnectingModule_1,\n providers: [\n { provide: _ROUTER_CONFIG, useValue: config },\n {\n provide: ROUTER_CONFIG,\n useFactory: _createRouterConfig,\n deps: [_ROUTER_CONFIG],\n },\n {\n provide: RouterStateSerializer,\n useClass: config.serializer\n ? config.serializer\n : config.routerState === 1 /* Minimal */\n ? MinimalRouterStateSerializer\n : DefaultRouterStateSerializer,\n },\n ],\n };\n };\n StoreRouterConnectingModule.prototype.setUpStoreStateListener = function () {\n var _this = this;\n this.store\n .pipe(store.select(this.stateKey), operators.withLatestFrom(this.store))\n .subscribe(function (_a) {\n var _b = tslib_1.__read(_a, 2), routerStoreState = _b[0], storeState = _b[1];\n _this.navigateIfNeeded(routerStoreState, storeState);\n });\n };\n StoreRouterConnectingModule.prototype.navigateIfNeeded = function (routerStoreState, storeState) {\n var _this = this;\n if (!routerStoreState || !routerStoreState.state) {\n return;\n }\n if (this.trigger === RouterTrigger.ROUTER) {\n return;\n }\n if (this.lastEvent instanceof router.NavigationStart) {\n return;\n }\n var url = routerStoreState.state.url;\n if (this.router.url !== url) {\n this.storeState = storeState;\n this.trigger = RouterTrigger.STORE;\n this.router.navigateByUrl(url).catch(function (error) {\n _this.errorHandler.handleError(error);\n });\n }\n };\n StoreRouterConnectingModule.prototype.setUpRouterEventsListener = function () {\n var _this = this;\n var dispatchNavLate = this.config.navigationActionTiming ===\n exports.NavigationActionTiming.PostActivation;\n var routesRecognized;\n this.router.events\n .pipe(operators.withLatestFrom(this.store))\n .subscribe(function (_a) {\n var _b = tslib_1.__read(_a, 2), event = _b[0], storeState = _b[1];\n _this.lastEvent = event;\n if (event instanceof router.NavigationStart) {\n _this.routerState = _this.serializer.serialize(_this.router.routerState.snapshot);\n if (_this.trigger !== RouterTrigger.STORE) {\n _this.storeState = storeState;\n _this.dispatchRouterRequest(event);\n }\n }\n else if (event instanceof router.RoutesRecognized) {\n routesRecognized = event;\n if (!dispatchNavLate && _this.trigger !== RouterTrigger.STORE) {\n _this.dispatchRouterNavigation(event);\n }\n }\n else if (event instanceof router.NavigationCancel) {\n _this.dispatchRouterCancel(event);\n _this.reset();\n }\n else if (event instanceof router.NavigationError) {\n _this.dispatchRouterError(event);\n _this.reset();\n }\n else if (event instanceof router.NavigationEnd) {\n if (_this.trigger !== RouterTrigger.STORE) {\n if (dispatchNavLate) {\n _this.dispatchRouterNavigation(routesRecognized);\n }\n _this.dispatchRouterNavigated(event);\n }\n _this.reset();\n }\n });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterRequest = function (event) {\n this.dispatchRouterAction(ROUTER_REQUEST, { event: event });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterNavigation = function (lastRoutesRecognized) {\n var nextRouterState = this.serializer.serialize(lastRoutesRecognized.state);\n this.dispatchRouterAction(ROUTER_NAVIGATION, {\n routerState: nextRouterState,\n event: new router.RoutesRecognized(lastRoutesRecognized.id, lastRoutesRecognized.url, lastRoutesRecognized.urlAfterRedirects, nextRouterState),\n });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterCancel = function (event) {\n this.dispatchRouterAction(ROUTER_CANCEL, {\n storeState: this.storeState,\n event: event,\n });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterError = function (event) {\n this.dispatchRouterAction(ROUTER_ERROR, {\n storeState: this.storeState,\n event: new router.NavigationError(event.id, event.url, \"\" + event),\n });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterNavigated = function (event) {\n var routerState = this.serializer.serialize(this.router.routerState.snapshot);\n this.dispatchRouterAction(ROUTER_NAVIGATED, { event: event, routerState: routerState });\n };\n StoreRouterConnectingModule.prototype.dispatchRouterAction = function (type, payload) {\n this.trigger = RouterTrigger.ROUTER;\n try {\n this.store.dispatch({\n type: type,\n payload: tslib_1.__assign({ routerState: this.routerState }, payload, { event: this.config.routerState === 1 /* Minimal */\n ? { id: payload.event.id, url: payload.event.url }\n : payload.event }),\n });\n }\n finally {\n this.trigger = RouterTrigger.NONE;\n }\n };\n StoreRouterConnectingModule.prototype.reset = function () {\n this.trigger = RouterTrigger.NONE;\n this.storeState = null;\n this.routerState = null;\n };\n var StoreRouterConnectingModule_1;\n StoreRouterConnectingModule = StoreRouterConnectingModule_1 = tslib_1.__decorate([\n core.NgModule({}),\n tslib_1.__param(4, core.Inject(ROUTER_CONFIG)),\n tslib_1.__metadata(\"design:paramtypes\", [store.Store,\n router.Router,\n RouterStateSerializer,\n core.ErrorHandler, Object])\n ], StoreRouterConnectingModule);\n return StoreRouterConnectingModule;\n }());\n\n function getSelectors(selectState) {\n var selectRouterState = store.createSelector(selectState, function (router) { return router && router.state; });\n var selectCurrentRoute = store.createSelector(selectRouterState, function (routerState) {\n if (!routerState) {\n return undefined;\n }\n var route = routerState.root;\n while (route.firstChild) {\n route = route.firstChild;\n }\n return route;\n });\n var selectQueryParams = store.createSelector(selectCurrentRoute, function (route) { return route && route.queryParams; });\n var selectQueryParam = function (param) {\n return store.createSelector(selectQueryParams, function (params) { return params && params[param]; });\n };\n var selectRouteParams = store.createSelector(selectCurrentRoute, function (route) { return route && route.params; });\n var selectRouteParam = function (param) {\n return store.createSelector(selectRouteParams, function (params) { return params && params[param]; });\n };\n var selectRouteData = store.createSelector(selectCurrentRoute, function (route) { return route && route.data; });\n var selectUrl = store.createSelector(selectRouterState, function (routerState) { return routerState && routerState.url; });\n return {\n selectCurrentRoute: selectCurrentRoute,\n selectQueryParams: selectQueryParams,\n selectQueryParam: selectQueryParam,\n selectRouteParams: selectRouteParams,\n selectRouteParam: selectRouteParam,\n selectRouteData: selectRouteData,\n selectUrl: selectUrl,\n };\n }\n\n /**\n * DO NOT EDIT\n *\n * This file is automatically generated at build\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.ɵngrx_modules_router_store_router_store_a = _ROUTER_CONFIG;\n exports.ɵngrx_modules_router_store_router_store_b = _createRouterConfig;\n exports.ROUTER_ERROR = ROUTER_ERROR;\n exports.ROUTER_CANCEL = ROUTER_CANCEL;\n exports.ROUTER_NAVIGATION = ROUTER_NAVIGATION;\n exports.ROUTER_NAVIGATED = ROUTER_NAVIGATED;\n exports.ROUTER_REQUEST = ROUTER_REQUEST;\n exports.routerReducer = routerReducer;\n exports.StoreRouterConnectingModule = StoreRouterConnectingModule;\n exports.ROUTER_CONFIG = ROUTER_CONFIG;\n exports.DEFAULT_ROUTER_FEATURENAME = DEFAULT_ROUTER_FEATURENAME;\n exports.RouterStateSerializer = RouterStateSerializer;\n exports.DefaultRouterStateSerializer = DefaultRouterStateSerializer;\n exports.MinimalRouterStateSerializer = MinimalRouterStateSerializer;\n exports.getSelectors = getSelectors;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=router-store.umd.js.map\n"]}
\No newline at end of file