@ngxs/router-plugin 3.7.6 → 3.8.0-dev.master-c341c15
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/bundles/ngxs-router-plugin.umd.js +590 -769
- package/bundles/ngxs-router-plugin.umd.js.map +1 -1
- package/esm2015/index.js +2 -6
- package/esm2015/ngxs-router-plugin.js +2 -6
- package/esm2015/src/public_api.js +2 -6
- package/esm2015/src/router.actions.js +28 -94
- package/esm2015/src/router.module.js +23 -15
- package/esm2015/src/router.state.js +126 -272
- package/esm2015/src/serializer.js +4 -44
- package/esm2015/src/symbols.js +9 -0
- package/fesm2015/ngxs-router-plugin.js +168 -412
- package/fesm2015/ngxs-router-plugin.js.map +1 -1
- package/ngxs-router-plugin.d.ts +1 -1
- package/package.json +5 -8
- package/src/public_api.d.ts +1 -0
- package/src/router.actions.d.ts +27 -7
- package/src/router.module.d.ts +7 -1
- package/src/router.state.d.ts +24 -15
- package/src/symbols.d.ts +11 -0
- package/bundles/ngxs-router-plugin.umd.min.js +0 -16
- package/bundles/ngxs-router-plugin.umd.min.js.map +0 -1
- package/esm5/index.js +0 -9
- package/esm5/ngxs-router-plugin.js +0 -9
- package/esm5/src/public_api.js +0 -9
- package/esm5/src/router.actions.js +0 -227
- package/esm5/src/router.module.js +0 -32
- package/esm5/src/router.state.js +0 -446
- package/esm5/src/serializer.js +0 -98
- package/fesm5/ngxs-router-plugin.js +0 -778
- package/fesm5/ngxs-router-plugin.js.map +0 -1
- package/ngxs-router-plugin.metadata.json +0 -1
|
@@ -1,36 +1,18 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
1
|
var RouterState_1;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { NgZone, Injectable, OnDestroy } from '@angular/core';
|
|
8
|
-
import { NavigationCancel, NavigationError, Router, RouterStateSnapshot, RoutesRecognized, ResolveEnd, NavigationStart, NavigationEnd } from '@angular/router';
|
|
9
|
-
import { Action, Selector, State, StateContext, Store } from '@ngxs/store';
|
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
|
3
|
+
import { NgZone, Injectable, Injector } from '@angular/core';
|
|
4
|
+
import { NavigationCancel, NavigationError, Router, RoutesRecognized, ResolveEnd, NavigationStart, NavigationEnd } from '@angular/router';
|
|
5
|
+
import { Action, Selector, State, Store } from '@ngxs/store';
|
|
10
6
|
import { Subscription } from 'rxjs';
|
|
11
|
-
import { Navigate, RouterCancel, RouterError, RouterNavigation, RouterDataResolved } from './router.actions';
|
|
7
|
+
import { Navigate, RouterCancel, RouterError, RouterNavigation, RouterDataResolved, RouterRequest, RouterNavigated } from './router.actions';
|
|
12
8
|
import { RouterStateSerializer } from './serializer';
|
|
13
|
-
|
|
14
|
-
* @
|
|
15
|
-
* @
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (false) {
|
|
19
|
-
/** @type {?|undefined} */
|
|
20
|
-
RouterStateModel.prototype.state;
|
|
21
|
-
/** @type {?|undefined} */
|
|
22
|
-
RouterStateModel.prototype.navigationId;
|
|
23
|
-
/** @type {?} */
|
|
24
|
-
RouterStateModel.prototype.trigger;
|
|
25
|
-
}
|
|
9
|
+
import { NGXS_ROUTER_PLUGIN_OPTIONS } from './symbols';
|
|
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";
|
|
26
14
|
let RouterState = RouterState_1 = class RouterState {
|
|
27
|
-
|
|
28
|
-
* @param {?} _store
|
|
29
|
-
* @param {?} _router
|
|
30
|
-
* @param {?} _serializer
|
|
31
|
-
* @param {?} _ngZone
|
|
32
|
-
*/
|
|
33
|
-
constructor(_store, _router, _serializer, _ngZone) {
|
|
15
|
+
constructor(_store, _router, _serializer, _ngZone, injector) {
|
|
34
16
|
this._store = _store;
|
|
35
17
|
this._router = _router;
|
|
36
18
|
this._serializer = _serializer;
|
|
@@ -48,189 +30,129 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
48
30
|
* That's the value of the `RouterState` state
|
|
49
31
|
*/
|
|
50
32
|
this._storeState = null;
|
|
51
|
-
this.
|
|
33
|
+
this._lastEvent = null;
|
|
52
34
|
this._subscription = new Subscription();
|
|
53
|
-
this.
|
|
54
|
-
|
|
35
|
+
this._options = null;
|
|
36
|
+
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
37
|
+
// integration, it cannot resolve the token provider.
|
|
38
|
+
this._options = injector.get(NGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
39
|
+
this._setUpStoreListener();
|
|
40
|
+
this._setUpRouterEventsListener();
|
|
55
41
|
}
|
|
56
|
-
/**
|
|
57
|
-
* @template T
|
|
58
|
-
* @param {?} state
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
42
|
static state(state) {
|
|
62
43
|
return state && state.state;
|
|
63
44
|
}
|
|
64
|
-
/**
|
|
65
|
-
* @param {?} state
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
45
|
static url(state) {
|
|
69
46
|
return state && state.state && state.state.url;
|
|
70
47
|
}
|
|
71
|
-
/**
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
48
|
ngOnDestroy() {
|
|
75
49
|
this._subscription.unsubscribe();
|
|
76
50
|
}
|
|
77
|
-
/**
|
|
78
|
-
* @param {?} _
|
|
79
|
-
* @param {?} action
|
|
80
|
-
* @return {?}
|
|
81
|
-
*/
|
|
82
51
|
navigate(_, action) {
|
|
83
|
-
return this._ngZone.run((
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
() => this._router.navigate(action.path, Object.assign({ queryParams: action.queryParams }, action.extras))));
|
|
52
|
+
return this._ngZone.run(() => this._router.navigate(action.path, Object.assign({ queryParams: action.queryParams }, action.extras)));
|
|
87
53
|
}
|
|
88
|
-
/**
|
|
89
|
-
* @param {?} ctx
|
|
90
|
-
* @param {?} action
|
|
91
|
-
* @return {?}
|
|
92
|
-
*/
|
|
93
54
|
angularRouterAction(ctx, action) {
|
|
94
|
-
ctx.setState(
|
|
55
|
+
ctx.setState({
|
|
56
|
+
trigger: action.trigger,
|
|
57
|
+
state: action.routerState,
|
|
58
|
+
navigationId: action.event.id
|
|
59
|
+
});
|
|
95
60
|
}
|
|
96
|
-
|
|
97
|
-
* @private
|
|
98
|
-
* @return {?}
|
|
99
|
-
*/
|
|
100
|
-
setUpStoreListener() {
|
|
101
|
-
/** @type {?} */
|
|
61
|
+
_setUpStoreListener() {
|
|
102
62
|
const subscription = this._store
|
|
103
63
|
.select(RouterState_1)
|
|
104
|
-
.subscribe((
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
*/
|
|
108
|
-
(state) => {
|
|
109
|
-
this.navigateIfNeeded(state);
|
|
110
|
-
}));
|
|
64
|
+
.subscribe((state) => {
|
|
65
|
+
this._navigateIfNeeded(state);
|
|
66
|
+
});
|
|
111
67
|
this._subscription.add(subscription);
|
|
112
68
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
69
|
+
_navigateIfNeeded(routerState) {
|
|
70
|
+
if (routerState && routerState.trigger === 'devtools') {
|
|
71
|
+
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
72
|
+
}
|
|
73
|
+
const canSkipNavigation = !this._storeState ||
|
|
74
|
+
!this._storeState.state ||
|
|
75
|
+
!routerState ||
|
|
76
|
+
routerState.trigger === 'router' ||
|
|
77
|
+
this._router.url === this._storeState.state.url ||
|
|
78
|
+
this._lastEvent instanceof NavigationStart;
|
|
79
|
+
if (canSkipNavigation) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
83
|
+
this._trigger = 'store';
|
|
84
|
+
this._ngZone.run(() => this._router.navigateByUrl(this._storeState.state.url));
|
|
85
|
+
}
|
|
86
|
+
_setUpRouterEventsListener() {
|
|
87
|
+
const dispatchRouterNavigationLate = this._options != null &&
|
|
88
|
+
this._options.navigationActionTiming === 2 /* PostActivation */;
|
|
89
|
+
let lastRoutesRecognized;
|
|
90
|
+
const subscription = this._router.events.subscribe(event => {
|
|
91
|
+
this._lastEvent = event;
|
|
124
92
|
if (event instanceof NavigationStart) {
|
|
125
|
-
this.
|
|
93
|
+
this._navigationStart(event);
|
|
126
94
|
}
|
|
127
95
|
else if (event instanceof RoutesRecognized) {
|
|
128
|
-
|
|
96
|
+
lastRoutesRecognized = event;
|
|
97
|
+
if (!dispatchRouterNavigationLate && this._trigger !== 'store') {
|
|
98
|
+
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
99
|
+
}
|
|
129
100
|
}
|
|
130
101
|
else if (event instanceof ResolveEnd) {
|
|
131
|
-
this.
|
|
102
|
+
this._dispatchRouterDataResolved(event);
|
|
132
103
|
}
|
|
133
104
|
else if (event instanceof NavigationCancel) {
|
|
134
|
-
this.
|
|
135
|
-
this.
|
|
105
|
+
this._dispatchRouterCancel(event);
|
|
106
|
+
this._reset();
|
|
136
107
|
}
|
|
137
108
|
else if (event instanceof NavigationError) {
|
|
138
|
-
this.
|
|
139
|
-
this.
|
|
109
|
+
this._dispatchRouterError(event);
|
|
110
|
+
this._reset();
|
|
140
111
|
}
|
|
141
112
|
else if (event instanceof NavigationEnd) {
|
|
142
|
-
this.
|
|
143
|
-
|
|
113
|
+
if (this._trigger !== 'store') {
|
|
114
|
+
if (dispatchRouterNavigationLate) {
|
|
115
|
+
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
116
|
+
}
|
|
117
|
+
this._dispatchRouterNavigated(event);
|
|
118
|
+
}
|
|
119
|
+
this._reset();
|
|
144
120
|
}
|
|
145
|
-
})
|
|
121
|
+
});
|
|
146
122
|
this._subscription.add(subscription);
|
|
147
123
|
}
|
|
148
|
-
/**
|
|
149
|
-
|
|
150
|
-
* @return {?}
|
|
151
|
-
*/
|
|
152
|
-
navigationStart() {
|
|
124
|
+
/** Reacts to `NavigationStart`. */
|
|
125
|
+
_navigationStart(event) {
|
|
153
126
|
this._routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
154
127
|
if (this._trigger !== 'none') {
|
|
155
128
|
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
129
|
+
this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));
|
|
156
130
|
}
|
|
157
131
|
}
|
|
158
|
-
/**
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
navigationEnd() {
|
|
163
|
-
if (this.shouldDispatchRouterNavigation()) {
|
|
164
|
-
this.dispatchRouterNavigation();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* @private
|
|
169
|
-
* @return {?}
|
|
170
|
-
*/
|
|
171
|
-
shouldDispatchRouterNavigation() {
|
|
172
|
-
if (!this._storeState)
|
|
173
|
-
return true;
|
|
174
|
-
return this._trigger !== 'store';
|
|
132
|
+
/** Reacts to `ResolveEnd`. */
|
|
133
|
+
_dispatchRouterDataResolved(event) {
|
|
134
|
+
const routerState = this._serializer.serialize(event.state);
|
|
135
|
+
this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));
|
|
175
136
|
}
|
|
176
|
-
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
*/
|
|
181
|
-
navigateIfNeeded(state) {
|
|
182
|
-
if (state && state.trigger === 'devtools') {
|
|
183
|
-
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
184
|
-
}
|
|
185
|
-
/** @type {?} */
|
|
186
|
-
const canSkipNavigation = !this._storeState ||
|
|
187
|
-
!this._storeState.state ||
|
|
188
|
-
!state ||
|
|
189
|
-
state.trigger === 'router' ||
|
|
190
|
-
this._router.url === this._storeState.state.url;
|
|
191
|
-
if (canSkipNavigation) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
this._trigger = 'store';
|
|
195
|
-
this._ngZone.run((/**
|
|
196
|
-
* @return {?}
|
|
197
|
-
*/
|
|
198
|
-
() => {
|
|
199
|
-
this._router.navigateByUrl((/** @type {?} */ ((/** @type {?} */ (this._storeState)).state)).url);
|
|
200
|
-
}));
|
|
137
|
+
/** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */
|
|
138
|
+
_dispatchRouterNavigation(lastRoutesRecognized) {
|
|
139
|
+
const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);
|
|
140
|
+
this._dispatchRouterAction(new RouterNavigation(nextRouterState, new RoutesRecognized(lastRoutesRecognized.id, lastRoutesRecognized.url, lastRoutesRecognized.urlAfterRedirects, nextRouterState), this._trigger));
|
|
201
141
|
}
|
|
202
|
-
/**
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
*/
|
|
206
|
-
dispatchRouterNavigation() {
|
|
207
|
-
/** @type {?} */
|
|
208
|
-
const nextRouterState = this._serializer.serialize(this._lastRoutesRecognized.state);
|
|
209
|
-
this.dispatchRouterAction(new RouterNavigation(nextRouterState, new RoutesRecognized(this._lastRoutesRecognized.id, this._lastRoutesRecognized.url, this._lastRoutesRecognized.urlAfterRedirects, nextRouterState), this._trigger));
|
|
142
|
+
/** Reacts to `NavigationCancel`. */
|
|
143
|
+
_dispatchRouterCancel(event) {
|
|
144
|
+
this._dispatchRouterAction(new RouterCancel(this._routerState, this._storeState, event, this._trigger));
|
|
210
145
|
}
|
|
211
|
-
/**
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
* @return {?}
|
|
215
|
-
*/
|
|
216
|
-
dispatchRouterCancel(event) {
|
|
217
|
-
this.dispatchRouterAction(new RouterCancel((/** @type {?} */ (this._routerState)), this._storeState, event, this._trigger));
|
|
146
|
+
/** Reacts to `NavigationEnd`. */
|
|
147
|
+
_dispatchRouterError(event) {
|
|
148
|
+
this._dispatchRouterAction(new RouterError(this._routerState, this._storeState, new NavigationError(event.id, event.url, `${event}`), this._trigger));
|
|
218
149
|
}
|
|
219
|
-
/**
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
*/
|
|
224
|
-
dispatchRouterError(event) {
|
|
225
|
-
this.dispatchRouterAction(new RouterError((/** @type {?} */ (this._routerState)), this._storeState, new NavigationError(event.id, event.url, `${event}`), this._trigger));
|
|
150
|
+
/** Reacts to `NavigationEnd`. */
|
|
151
|
+
_dispatchRouterNavigated(event) {
|
|
152
|
+
const routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
153
|
+
this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));
|
|
226
154
|
}
|
|
227
|
-
|
|
228
|
-
* @private
|
|
229
|
-
* @template T
|
|
230
|
-
* @param {?} action
|
|
231
|
-
* @return {?}
|
|
232
|
-
*/
|
|
233
|
-
dispatchRouterAction(action) {
|
|
155
|
+
_dispatchRouterAction(action) {
|
|
234
156
|
this._trigger = 'router';
|
|
235
157
|
try {
|
|
236
158
|
this._store.dispatch(action);
|
|
@@ -239,67 +161,46 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
239
161
|
this._trigger = 'none';
|
|
240
162
|
}
|
|
241
163
|
}
|
|
242
|
-
|
|
243
|
-
* @private
|
|
244
|
-
* @param {?} event
|
|
245
|
-
* @return {?}
|
|
246
|
-
*/
|
|
247
|
-
dispatchRouterDataResolved(event) {
|
|
248
|
-
/** @type {?} */
|
|
249
|
-
const routerState = this._serializer.serialize(event.state);
|
|
250
|
-
this.dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* @private
|
|
254
|
-
* @return {?}
|
|
255
|
-
*/
|
|
256
|
-
reset() {
|
|
164
|
+
_reset() {
|
|
257
165
|
this._trigger = 'none';
|
|
258
166
|
this._storeState = null;
|
|
259
167
|
this._routerState = null;
|
|
260
168
|
}
|
|
261
169
|
};
|
|
262
|
-
RouterState
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
{ type: RouterStateSerializer },
|
|
266
|
-
{ type: NgZone }
|
|
267
|
-
];
|
|
268
|
-
RouterState.decorators = [
|
|
269
|
-
{ type: Injectable }
|
|
270
|
-
];
|
|
271
|
-
/** @nocollapse */
|
|
272
|
-
RouterState.ctorParameters = () => [
|
|
273
|
-
{ type: Store },
|
|
274
|
-
{ type: Router },
|
|
275
|
-
{ type: RouterStateSerializer },
|
|
276
|
-
{ type: NgZone }
|
|
277
|
-
];
|
|
278
|
-
tslib_1.__decorate([
|
|
170
|
+
/** @nocollapse */ RouterState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RouterState, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.RouterStateSerializer }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
171
|
+
/** @nocollapse */ RouterState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RouterState });
|
|
172
|
+
__decorate([
|
|
279
173
|
Action(Navigate),
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
174
|
+
__metadata("design:type", Function),
|
|
175
|
+
__metadata("design:paramtypes", [Object, Navigate]),
|
|
176
|
+
__metadata("design:returntype", void 0)
|
|
283
177
|
], RouterState.prototype, "navigate", null);
|
|
284
|
-
|
|
285
|
-
Action([
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
178
|
+
__decorate([
|
|
179
|
+
Action([
|
|
180
|
+
RouterRequest,
|
|
181
|
+
RouterNavigation,
|
|
182
|
+
RouterError,
|
|
183
|
+
RouterCancel,
|
|
184
|
+
RouterDataResolved,
|
|
185
|
+
RouterNavigated
|
|
186
|
+
]),
|
|
187
|
+
__metadata("design:type", Function),
|
|
188
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
189
|
+
__metadata("design:returntype", void 0)
|
|
289
190
|
], RouterState.prototype, "angularRouterAction", null);
|
|
290
|
-
|
|
191
|
+
__decorate([
|
|
291
192
|
Selector(),
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
193
|
+
__metadata("design:type", Function),
|
|
194
|
+
__metadata("design:paramtypes", [Object]),
|
|
195
|
+
__metadata("design:returntype", void 0)
|
|
295
196
|
], RouterState, "state", null);
|
|
296
|
-
|
|
197
|
+
__decorate([
|
|
297
198
|
Selector(),
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
199
|
+
__metadata("design:type", Function),
|
|
200
|
+
__metadata("design:paramtypes", [Object]),
|
|
201
|
+
__metadata("design:returntype", Object)
|
|
301
202
|
], RouterState, "url", null);
|
|
302
|
-
RouterState = RouterState_1 =
|
|
203
|
+
RouterState = RouterState_1 = __decorate([
|
|
303
204
|
State({
|
|
304
205
|
name: 'router',
|
|
305
206
|
defaults: {
|
|
@@ -308,61 +209,14 @@ RouterState = RouterState_1 = tslib_1.__decorate([
|
|
|
308
209
|
trigger: 'none'
|
|
309
210
|
}
|
|
310
211
|
}),
|
|
311
|
-
|
|
212
|
+
__metadata("design:paramtypes", [Store,
|
|
312
213
|
Router,
|
|
313
214
|
RouterStateSerializer,
|
|
314
|
-
NgZone
|
|
215
|
+
NgZone,
|
|
216
|
+
Injector])
|
|
315
217
|
], RouterState);
|
|
316
218
|
export { RouterState };
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
* or outside via `new Navigate(...)`
|
|
321
|
-
* @type {?}
|
|
322
|
-
* @private
|
|
323
|
-
*/
|
|
324
|
-
RouterState.prototype._trigger;
|
|
325
|
-
/**
|
|
326
|
-
* That's the serialized state from the `Router` class
|
|
327
|
-
* @type {?}
|
|
328
|
-
* @private
|
|
329
|
-
*/
|
|
330
|
-
RouterState.prototype._routerState;
|
|
331
|
-
/**
|
|
332
|
-
* That's the value of the `RouterState` state
|
|
333
|
-
* @type {?}
|
|
334
|
-
* @private
|
|
335
|
-
*/
|
|
336
|
-
RouterState.prototype._storeState;
|
|
337
|
-
/**
|
|
338
|
-
* @type {?}
|
|
339
|
-
* @private
|
|
340
|
-
*/
|
|
341
|
-
RouterState.prototype._lastRoutesRecognized;
|
|
342
|
-
/**
|
|
343
|
-
* @type {?}
|
|
344
|
-
* @private
|
|
345
|
-
*/
|
|
346
|
-
RouterState.prototype._subscription;
|
|
347
|
-
/**
|
|
348
|
-
* @type {?}
|
|
349
|
-
* @private
|
|
350
|
-
*/
|
|
351
|
-
RouterState.prototype._store;
|
|
352
|
-
/**
|
|
353
|
-
* @type {?}
|
|
354
|
-
* @private
|
|
355
|
-
*/
|
|
356
|
-
RouterState.prototype._router;
|
|
357
|
-
/**
|
|
358
|
-
* @type {?}
|
|
359
|
-
* @private
|
|
360
|
-
*/
|
|
361
|
-
RouterState.prototype._serializer;
|
|
362
|
-
/**
|
|
363
|
-
* @type {?}
|
|
364
|
-
* @private
|
|
365
|
-
*/
|
|
366
|
-
RouterState.prototype._ngZone;
|
|
367
|
-
}
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvcm91dGVyLXBsdWdpbi8iLCJzb3VyY2VzIjpbInNyYy9yb3V0ZXIuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixlQUFlLEVBQ2YsYUFBYSxFQUNkLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQ0wsUUFBUSxFQUVSLFlBQVksRUFDWixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNuQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFFckQsc0NBSUM7OztJQUhDLGlDQUFVOztJQUNWLHdDQUFzQjs7SUFDdEIsbUNBQXVCOztJQW1CWixXQUFXLHlCQUFYLFdBQVc7Ozs7Ozs7SUErQnRCLFlBQ1UsTUFBYSxFQUNiLE9BQWUsRUFDZixXQUF1RCxFQUN2RCxPQUFlO1FBSGYsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBNEM7UUFDdkQsWUFBTyxHQUFQLE9BQU8sQ0FBUTs7Ozs7UUE5QmpCLGFBQVEsR0FBa0IsTUFBTSxDQUFDOzs7O1FBS2pDLGlCQUFZLEdBQStCLElBQUksQ0FBQzs7OztRQUtoRCxnQkFBVyxHQUE0QixJ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bUI7UUFDdkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsU0FBUztZQUNoQixZQUFZLEVBQUUsU0FBUztZQUN2QixPQUFPLEVBQUUsTUFBTTtTQUNoQjtLQUNGLENBQUM7NkNBa0NrQixLQUFLO1FBQ0osTUFBTTtRQUNGLHFCQUFxQjtRQUN6QixNQUFNO0dBbkNkLFdBQVcsQ0FvTXZCO1NBcE1ZLFdBQVc7Ozs7Ozs7O0lBS3RCLCtCQUF5Qzs7Ozs7O0lBS3pDLG1DQUF3RDs7Ozs7O0lBS3hELGtDQUFvRDs7Ozs7SUFFcEQsNENBQXdEOzs7OztJQUV4RCxvQ0FBMkM7Ozs7O0lBYXpDLDZCQUFxQjs7Ozs7SUFDckIsOEJBQXVCOzs7OztJQUN2QixrQ0FBK0Q7Ozs7O0lBQy9ELDhCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgUm91dGVzUmVjb2duaXplZCxcbiAgUmVzb2x2ZUVuZCxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBOYXZpZ2F0aW9uRW5kXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBOYXZpZ2F0ZSxcbiAgUm91dGVyQWN0aW9uLFxuICBSb3V0ZXJDYW5jZWwsXG4gIFJvdXRlckVycm9yLFxuICBSb3V0ZXJOYXZpZ2F0aW9uLFxuICBSb3V0ZXJEYXRhUmVzb2x2ZWRcbn0gZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIgfSBmcm9tICcuL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclN0YXRlTW9kZWw8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGU/OiBUO1xuICBuYXZpZ2F0aW9uSWQ/OiBudW1iZXI7XG4gIHRyaWdnZXI6IFJvdXRlclRyaWdnZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlclRyaWdnZXIgPVxuICB8ICdub25lJ1xuICB8ICdyb3V0ZXInXG4gIHwgJ3N0b3JlJ1xuICAvLyBUaGUgYGRldnRvb2xzYCB0cmlnZ2VyIG1lYW5zIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBoYXMgYmVlbiB0cmlnZ2VyZWQgYnkgUmVkdXggRGV2VG9vbHMgKGUuZy4gd2hlbiB0aGUgdGltZS10cmF2ZWxpbmcgaXMgdXNlZCkuXG4gIHwgJ2RldnRvb2xzJztcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3JvdXRlcicsXG4gIGRlZmF1bHRzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBuYXZpZ2F0aW9uSWQ6IHVuZGVmaW5lZCxcbiAgICB0cmlnZ2VyOiAnbm9uZSdcbiAgfVxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBuYXZpZ2F0aW9uIHdhcyBwZXJmb3JtZWQgYnkgdGhlIGBSb3V0ZXJTdGF0ZWAgaXRzZWxmXG4gICAqIG9yIG91dHNpZGUgdmlhIGBuZXcgTmF2aWdhdGUoLi4uKWBcbiAgICovXG4gIHByaXZhdGUgX3RyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgc2VyaWFsaXplZCBzdGF0ZSBmcm9tIHRoZSBgUm91dGVyYCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBfcm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhhdCdzIHRoZSB2YWx1ZSBvZiB0aGUgYFJvdXRlclN0YXRlYCBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3RvcmVTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhc3RSb3V0ZXNSZWNvZ25pemVkOiBSb3V0ZXNSZWNvZ25pemVkID0gbnVsbCE7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyBzdGF0ZTxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4oc3RhdGU6IFJvdXRlclN0YXRlTW9kZWw8VD4pIHtcbiAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuc3RhdGU7XG4gIH1cblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgdXJsKHN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuc3RhdGUgJiYgc3RhdGUuc3RhdGUudXJsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX3NlcmlhbGl6ZXI6IFJvdXRlclN0YXRlU2VyaWFsaXplcjxSb3V0ZXJTdGF0ZVNuYXBzaG90PixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZVxuICApIHtcbiAgICB0aGlzLnNldFVwU3RvcmVMaXN0ZW5lcigpO1xuICAgIHRoaXMuc2V0VXBSb3V0ZXJFdmVudHNMaXN0ZW5lcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBAQWN0aW9uKE5hdmlnYXRlKVxuICBuYXZpZ2F0ZShfOiBTdGF0ZUNvbnRleHQ8Um91dGVyU3RhdGVNb2RlbD4sIGFjdGlvbjogTmF2aWdhdGUpIHtcbiAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bigoKSA9PlxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGFjdGlvbi5wYXRoLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBhY3Rpb24ucXVlcnlQYXJhbXMsXG4gICAgICAgIC4uLmFjdGlvbi5leHRyYXNcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oW1JvdXRlck5hdmlnYXRpb24sIFJvdXRlckVycm9yLCBSb3V0ZXJDYW5jZWwsIFJvdXRlckRhdGFSZXNvbHZlZF0pXG4gIGFuZ3VsYXJSb3V0ZXJBY3Rpb24oXG4gICAgY3R4OiBTdGF0ZUNvbnRleHQ8Um91dGVyU3RhdGVNb2RlbD4sXG4gICAgYWN0aW9uOiBSb3V0ZXJBY3Rpb248Um91dGVyU3RhdGVNb2RlbCwgUm91dGVyU3RhdGVTbmFwc2hvdD5cbiAgKTogdm9pZCB7XG4gICAgY3R4LnNldFN0YXRlKHtcbiAgICAgIC4uLmN0eC5nZXRTdGF0ZSgpLFxuICAgICAgdHJpZ2dlcjogYWN0aW9uLnRyaWdnZXIsXG4gICAgICBzdGF0ZTogYWN0aW9uLnJvdXRlclN0YXRlLFxuICAgICAgbmF2aWdhdGlvbklkOiBhY3Rpb24uZXZlbnQuaWRcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXBTdG9yZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX3N0b3JlXG4gICAgICAuc2VsZWN0KFJvdXRlclN0YXRlKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFJvdXRlclN0YXRlTW9kZWwgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZUlmTmVlZGVkKHN0YXRlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRVcFJvdXRlckV2ZW50c0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25TdGFydCgpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQpIHtcbiAgICAgICAgdGhpcy5fbGFzdFJvdXRlc1JlY29nbml6ZWQgPSBldmVudDtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSZXNvbHZlRW5kKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hSb3V0ZXJEYXRhUmVzb2x2ZWQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudCk7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaFJvdXRlckVycm9yKGV2ZW50KTtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRW5kKCk7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGlvblN0YXJ0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fcm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcblxuICAgIGlmICh0aGlzLl90cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uRW5kKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3VsZERpc3BhdGNoUm91dGVyTmF2aWdhdGlvbigpKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoUm91dGVyTmF2aWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkRGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5fc3RvcmVTdGF0ZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXIgIT09ICdzdG9yZSc7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlSWZOZWVkZWQoc3RhdGU6IFJvdXRlclN0YXRlTW9kZWwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUgJiYgc3RhdGUudHJpZ2dlciA9PT0gJ2RldnRvb2xzJykge1xuICAgICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5Ta2lwTmF2aWdhdGlvbiA9XG4gICAgICAhdGhpcy5fc3RvcmVTdGF0ZSB8fFxuICAgICAgIXRoaXMuX3N0b3JlU3RhdGUuc3RhdGUgfHxcbiAgICAgICFzdGF0ZSB8fFxuICAgICAgc3RhdGUudHJpZ2dlciA9PT0gJ3JvdXRlcicgfHxcbiAgICAgIHRoaXMuX3JvdXRlci51cmwgPT09IHRoaXMuX3N0b3JlU3RhdGUuc3RhdGUudXJsO1xuXG4gICAgaWYgKGNhblNraXBOYXZpZ2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlciA9ICdzdG9yZSc7XG4gICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9zdG9yZVN0YXRlIS5zdGF0ZSEudXJsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRSb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMuX2xhc3RSb3V0ZXNSZWNvZ25pemVkLnN0YXRlKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyTmF2aWdhdGlvbihcbiAgICAgICAgbmV4dFJvdXRlclN0YXRlLFxuICAgICAgICBuZXcgUm91dGVzUmVjb2duaXplZChcbiAgICAgICAgICB0aGlzLl9sYXN0Um91dGVzUmVjb2duaXplZC5pZCxcbiAgICAgICAgICB0aGlzLl9sYXN0Um91dGVzUmVjb2duaXplZC51cmwsXG4gICAgICAgICAgdGhpcy5fbGFzdFJvdXRlc1JlY29nbml6ZWQudXJsQWZ0ZXJSZWRpcmVjdHMsXG4gICAgICAgICAgbmV4dFJvdXRlclN0YXRlXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuX3RyaWdnZXJcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaFJvdXRlckNhbmNlbChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyQ2FuY2VsKHRoaXMuX3JvdXRlclN0YXRlISwgdGhpcy5fc3RvcmVTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwYXRjaFJvdXRlckFjdGlvbihcbiAgICAgIG5ldyBSb3V0ZXJFcnJvcihcbiAgICAgICAgdGhpcy5fcm91dGVyU3RhdGUhLFxuICAgICAgICB0aGlzLl9zdG9yZVN0YXRlLFxuICAgICAgICBuZXcgTmF2aWdhdGlvbkVycm9yKGV2ZW50LmlkLCBldmVudC51cmwsIGAke2V2ZW50fWApLFxuICAgICAgICB0aGlzLl90cmlnZ2VyXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hSb3V0ZXJBY3Rpb248VD4oYWN0aW9uOiBSb3V0ZXJBY3Rpb248VD4pOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ3JvdXRlcic7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fdHJpZ2dlciA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoUm91dGVyRGF0YVJlc29sdmVkKGV2ZW50OiBSZXNvbHZlRW5kKTogdm9pZCB7XG4gICAgY29uc3Qgcm91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZShldmVudC5zdGF0ZSk7XG4gICAgdGhpcy5kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyRGF0YVJlc29sdmVkKHJvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ25vbmUnO1xuICAgIHRoaXMuX3N0b3JlU3RhdGUgPSBudWxsO1xuICAgIHRoaXMuX3JvdXRlclN0YXRlID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RouterState, decorators: [{
|
|
220
|
+
type: Injectable
|
|
221
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i3.RouterStateSerializer }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9zcmMvcm91dGVyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBRWQsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFDTCxRQUFRLEVBRVIsWUFBWSxFQUNaLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFHTCwwQkFBMEIsRUFDM0IsTUFBTSxXQUFXLENBQUM7Ozs7O0lBd0JOLFdBQVcseUJBQVgsV0FBVztJQWlDdEIsWUFDVSxNQUFhLEVBQ2IsT0FBZSxFQUNmLFdBQXVELEVBQ3ZELE9BQWUsRUFDdkIsUUFBa0I7UUFKVixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUE0QztRQUN2RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBcEN6Qjs7O1dBR0c7UUFDSyxhQUFRLEdBQWtCLE1BQU0sQ0FBQztRQUV6Qzs7V0FFRztRQUNLLGlCQUFZLEdBQStCLElBQUksQ0FBQztRQUV4RDs7V0FFRztRQUNLLGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQUU1QyxlQUFVLEdBQWlCLElBQUksQ0FBQztRQUVoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsYUFBUSxHQUFtQyxJQUFJLENBQUM7UUFtQnRELG1GQUFtRjtRQUNuRixxREFBcUQ7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFyQkQsTUFBTSxDQUFDLEtBQUssQ0FBMEIsS0FBMEI7UUFDOUQsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBR0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUF1QjtRQUNoQyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ2pELENBQUM7SUFnQkQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUdELFFBQVEsQ0FBQyxDQUFpQyxFQUFFLE1BQWdCO1FBQzFELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGtCQUMvQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFDNUIsTUFBTSxDQUFDLE1BQU0sRUFDaEIsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQVVELG1CQUFtQixDQUNqQixHQUFtQyxFQUNuQyxNQUEyRDtRQUUzRCxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ1gsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVztZQUN6QixZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDN0IsTUFBTSxDQUFDLGFBQVcsQ0FBQzthQUNuQixTQUFTLENBQUMsQ0FBQyxLQUFtQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQXlDO1FBQ2pFLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBVyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxNQUFNLGlCQUFpQixHQUNyQixDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2pCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3ZCLENBQUMsV0FBVztZQUNaLFdBQVcsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQy9DLElBQUksQ0FBQyxVQUFVLFlBQVksZUFBZSxDQUFDO1FBRTdDLElBQUksaUJBQWlCLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxhQUFXLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBWSxDQUFDLEtBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsTUFBTSw0QkFBNEIsR0FDaEMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLDJCQUEwQyxDQUFDO1FBRWpGLElBQUksb0JBQXNDLENBQUM7UUFFM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBRXhCLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlCO2lCQUFNLElBQUksS0FBSyxZQUFZLGdCQUFnQixFQUFFO2dCQUM1QyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtvQkFDOUQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7aUJBQU0sSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekM7aUJBQU0sSUFBSSxLQUFLLFlBQVksZ0JBQWdCLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7aUJBQU0sSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUMzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO2lCQUFNLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDekMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtvQkFDN0IsSUFBSSw0QkFBNEIsRUFBRTt3QkFDaEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixDQUFDLENBQUM7cUJBQ3REO29CQUNELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEM7Z0JBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxtQ0FBbUM7SUFDM0IsZ0JBQWdCLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsRixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTSxFQUFFO1lBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBVyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3hGO0lBQ0gsQ0FBQztJQUVELDhCQUE4QjtJQUN0QiwyQkFBMkIsQ0FBQyxLQUFpQjtRQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksa0JBQWtCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsZ0dBQWdHO0lBQ3hGLHlCQUF5QixDQUFDLG9CQUFzQztRQUN0RSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMscUJBQXFCLENBQ3hCLElBQUksZ0JBQWdCLENBQ2xCLGVBQWUsRUFDZixJQUFJLGdCQUFnQixDQUNsQixvQkFBb0IsQ0FBQyxFQUFFLEVBQ3ZCLG9CQUFvQixDQUFDLEdBQUcsRUFDeEIsb0JBQW9CLENBQUMsaUJBQWlCLEVBQ3RDLGVBQWUsQ0FDaEIsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUNkLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxvQ0FBb0M7SUFDNUIscUJBQXFCLENBQUMsS0FBdUI7UUFDbkQsSUFBSSxDQUFDLHFCQUFxQixDQUN4QixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDN0UsQ0FBQztJQUNKLENBQUM7SUFFRCxpQ0FBaUM7SUFDekIsb0JBQW9CLENBQUMsS0FBc0I7UUFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUN4QixJQUFJLFdBQVcsQ0FDYixJQUFJLENBQUMsWUFBYSxFQUNsQixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUNwRCxJQUFJLENBQUMsUUFBUSxDQUNkLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxpQ0FBaUM7SUFDekIsd0JBQXdCLENBQUMsS0FBb0I7UUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksZUFBZSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLHFCQUFxQixDQUFJLE1BQXVCO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLElBQUk7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM5QjtnQkFBUztZQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0NBQ0YsQ0FBQTs0SEFqT1ksV0FBVztnSUFBWCxXQUFXO0FBb0R0QjtJQURDLE1BQU0sQ0FBQyxRQUFRLENBQUM7OzZDQUNtQyxRQUFROzsyQ0FPM0Q7QUFVRDtJQVJDLE1BQU0sQ0FBQztRQUNOLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsZUFBZTtLQUNoQixDQUFDOzs7O3NEQVVEO0FBdEREO0lBREMsUUFBUSxFQUFFOzs7OzhCQUdWO0FBR0Q7SUFEQyxRQUFRLEVBQUU7Ozs7NEJBR1Y7QUEvQlUsV0FBVztJQVR2QixLQUFLLENBQW1CO1FBQ3ZCLElBQUksRUFBRSxRQUFRO1FBQ2QsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsT0FBTyxFQUFFLE1BQU07U0FDaEI7S0FDRixDQUFDO3FDQW9Da0IsS0FBSztRQUNKLE1BQU07UUFDRixxQkFBcUI7UUFDekIsTUFBTTtRQUNiLFFBQVE7R0F0Q1QsV0FBVyxDQWlPdkI7U0FqT1ksV0FBVzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVO2lNQXFEVCxRQUFRLE1BaUJSLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVycm9yLFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFJvdXRlc1JlY29nbml6ZWQsXG4gIFJlc29sdmVFbmQsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgRXZlbnRcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbiwgU2VsZWN0b3IsIFN0YXRlLCBTdGF0ZUNvbnRleHQsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIE5hdmlnYXRlLFxuICBSb3V0ZXJBY3Rpb24sXG4gIFJvdXRlckNhbmNlbCxcbiAgUm91dGVyRXJyb3IsXG4gIFJvdXRlck5hdmlnYXRpb24sXG4gIFJvdXRlckRhdGFSZXNvbHZlZCxcbiAgUm91dGVyUmVxdWVzdCxcbiAgUm91dGVyTmF2aWdhdGVkXG59IGZyb20gJy4vcm91dGVyLmFjdGlvbnMnO1xuaW1wb3J0IHsgUm91dGVyU3RhdGVTZXJpYWxpemVyIH0gZnJvbSAnLi9zZXJpYWxpemVyJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25BY3Rpb25UaW1pbmcsXG4gIE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICBOR1hTX1JPVVRFUl9QTFVHSU5fT1BUSU9OU1xufSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclN0YXRlTW9kZWw8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGU/OiBUO1xuICBuYXZpZ2F0aW9uSWQ/OiBudW1iZXI7XG4gIHRyaWdnZXI6IFJvdXRlclRyaWdnZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlclRyaWdnZXIgPVxuICB8ICdub25lJ1xuICB8ICdyb3V0ZXInXG4gIHwgJ3N0b3JlJ1xuICAvLyBUaGUgYGRldnRvb2xzYCB0cmlnZ2VyIG1lYW5zIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBoYXMgYmVlbiB0cmlnZ2VyZWQgYnkgUmVkdXggRGV2VG9vbHMgKGUuZy4gd2hlbiB0aGUgdGltZS10cmF2ZWxpbmcgaXMgdXNlZCkuXG4gIHwgJ2RldnRvb2xzJztcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3JvdXRlcicsXG4gIGRlZmF1bHRzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBuYXZpZ2F0aW9uSWQ6IHVuZGVmaW5lZCxcbiAgICB0cmlnZ2VyOiAnbm9uZSdcbiAgfVxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBuYXZpZ2F0aW9uIHdhcyBwZXJmb3JtZWQgYnkgdGhlIGBSb3V0ZXJTdGF0ZWAgaXRzZWxmXG4gICAqIG9yIG91dHNpZGUgdmlhIGBuZXcgTmF2aWdhdGUoLi4uKWBcbiAgICovXG4gIHByaXZhdGUgX3RyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgc2VyaWFsaXplZCBzdGF0ZSBmcm9tIHRoZSBgUm91dGVyYCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBfcm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhhdCdzIHRoZSB2YWx1ZSBvZiB0aGUgYFJvdXRlclN0YXRlYCBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3RvcmVTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhc3RFdmVudDogRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJpdmF0ZSBfb3B0aW9uczogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMgfCBudWxsID0gbnVsbDtcblxuICBAU2VsZWN0b3IoKVxuICBzdGF0aWMgc3RhdGU8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+KHN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsPFQ+KSB7XG4gICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLnN0YXRlO1xuICB9XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIHVybChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLnN0YXRlICYmIHN0YXRlLnN0YXRlLnVybDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9zZXJpYWxpemVyOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXI8Um91dGVyU3RhdGVTbmFwc2hvdD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIC8vIE5vdGU6IGRvIG5vdCB1c2UgYEBJbmplY3RgIHNpbmNlIGl0IGZhaWxzIG9uIGxvd2VyIHZlcnNpb25zIG9mIEFuZ3VsYXIgd2l0aCBKZXN0XG4gICAgLy8gaW50ZWdyYXRpb24sIGl0IGNhbm5vdCByZXNvbHZlIHRoZSB0b2tlbiBwcm92aWRlci5cbiAgICB0aGlzLl9vcHRpb25zID0gaW5qZWN0b3IuZ2V0KE5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLCBudWxsKTtcbiAgICB0aGlzLl9zZXRVcFN0b3JlTGlzdGVuZXIoKTtcbiAgICB0aGlzLl9zZXRVcFJvdXRlckV2ZW50c0xpc3RlbmVyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBBY3Rpb24oTmF2aWdhdGUpXG4gIG5hdmlnYXRlKF86IFN0YXRlQ29udGV4dDxSb3V0ZXJTdGF0ZU1vZGVsPiwgYWN0aW9uOiBOYXZpZ2F0ZSkge1xuICAgIHJldHVybiB0aGlzLl9uZ1pvbmUucnVuKCgpID0+XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoYWN0aW9uLnBhdGgsIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IGFjdGlvbi5xdWVyeVBhcmFtcyxcbiAgICAgICAgLi4uYWN0aW9uLmV4dHJhc1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQEFjdGlvbihbXG4gICAgUm91dGVyUmVxdWVzdCxcbiAgICBSb3V0ZXJOYXZpZ2F0aW9uLFxuICAgIFJvdXRlckVycm9yLFxuICAgIFJvdXRlckNhbmNlbCxcbiAgICBSb3V0ZXJEYXRhUmVzb2x2ZWQsXG4gICAgUm91dGVyTmF2aWdhdGVkXG4gIF0pXG4gIGFuZ3VsYXJSb3V0ZXJBY3Rpb24oXG4gICAgY3R4OiBTdGF0ZUNvbnRleHQ8Um91dGVyU3RhdGVNb2RlbD4sXG4gICAgYWN0aW9uOiBSb3V0ZXJBY3Rpb248Um91dGVyU3RhdGVNb2RlbCwgUm91dGVyU3RhdGVTbmFwc2hvdD5cbiAgKTogdm9pZCB7XG4gICAgY3R4LnNldFN0YXRlKHtcbiAgICAgIHRyaWdnZXI6IGFjdGlvbi50cmlnZ2VyLFxuICAgICAgc3RhdGU6IGFjdGlvbi5yb3V0ZXJTdGF0ZSxcbiAgICAgIG5hdmlnYXRpb25JZDogYWN0aW9uLmV2ZW50LmlkXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRVcFN0b3JlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5fc3RvcmVcbiAgICAgIC5zZWxlY3QoUm91dGVyU3RhdGUpXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0ZUlmTmVlZGVkKHN0YXRlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChzdWJzY3JpcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbmF2aWdhdGVJZk5lZWRlZChyb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChyb3V0ZXJTdGF0ZSAmJiByb3V0ZXJTdGF0ZS50cmlnZ2VyID09PSAnZGV2dG9vbHMnKSB7XG4gICAgICB0aGlzLl9zdG9yZVN0YXRlID0gdGhpcy5fc3RvcmUuc2VsZWN0U25hcHNob3QoUm91dGVyU3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhblNraXBOYXZpZ2F0aW9uID1cbiAgICAgICF0aGlzLl9zdG9yZVN0YXRlIHx8XG4gICAgICAhdGhpcy5fc3RvcmVTdGF0ZS5zdGF0ZSB8fFxuICAgICAgIXJvdXRlclN0YXRlIHx8XG4gICAgICByb3V0ZXJTdGF0ZS50cmlnZ2VyID09PSAncm91dGVyJyB8fFxuICAgICAgdGhpcy5fcm91dGVyLnVybCA9PT0gdGhpcy5fc3RvcmVTdGF0ZS5zdGF0ZS51cmwgfHxcbiAgICAgIHRoaXMuX2xhc3RFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDtcblxuICAgIGlmIChjYW5Ta2lwTmF2aWdhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdzdG9yZSc7XG4gICAgdGhpcy5fbmdab25lLnJ1bigoKSA9PiB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9zdG9yZVN0YXRlIS5zdGF0ZSEudXJsKSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRVcFJvdXRlckV2ZW50c0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGRpc3BhdGNoUm91dGVyTmF2aWdhdGlvbkxhdGUgPVxuICAgICAgdGhpcy5fb3B0aW9ucyAhPSBudWxsICYmXG4gICAgICB0aGlzLl9vcHRpb25zLm5hdmlnYXRpb25BY3Rpb25UaW1pbmcgPT09IE5hdmlnYXRpb25BY3Rpb25UaW1pbmcuUG9zdEFjdGl2YXRpb247XG5cbiAgICBsZXQgbGFzdFJvdXRlc1JlY29nbml6ZWQ6IFJvdXRlc1JlY29nbml6ZWQ7XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICB0aGlzLl9sYXN0RXZlbnQgPSBldmVudDtcblxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb25TdGFydChldmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgUm91dGVzUmVjb2duaXplZCkge1xuICAgICAgICBsYXN0Um91dGVzUmVjb2duaXplZCA9IGV2ZW50O1xuICAgICAgICBpZiAoIWRpc3BhdGNoUm91dGVyTmF2aWdhdGlvbkxhdGUgJiYgdGhpcy5fdHJpZ2dlciAhPT0gJ3N0b3JlJykge1xuICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSZXNvbHZlRW5kKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyRGF0YVJlc29sdmVkKGV2ZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQ2FuY2VsKGV2ZW50KTtcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudCk7XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICBpZiAodGhpcy5fdHJpZ2dlciAhPT0gJ3N0b3JlJykge1xuICAgICAgICAgIGlmIChkaXNwYXRjaFJvdXRlck5hdmlnYXRpb25MYXRlKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRpb24obGFzdFJvdXRlc1JlY29nbml6ZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRlZChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25TdGFydGAuICovXG4gIHByaXZhdGUgX25hdmlnYXRpb25TdGFydChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGVyU3RhdGUgPSB0aGlzLl9zZXJpYWxpemVyLnNlcmlhbGl6ZSh0aGlzLl9yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QpO1xuXG4gICAgaWYgKHRoaXMuX3RyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKTtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKG5ldyBSb3V0ZXJSZXF1ZXN0KHRoaXMuX3JvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYFJlc29sdmVFbmRgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckRhdGFSZXNvbHZlZChldmVudDogUmVzb2x2ZUVuZCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUoZXZlbnQuc3RhdGUpO1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKG5ldyBSb3V0ZXJEYXRhUmVzb2x2ZWQocm91dGVyU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKSk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBSb3V0ZXNSZWNvZ25pemVkYCBvciBgTmF2aWdhdGlvbkVuZGAsIGRlcGVuZHMgb24gdGhlIGBuYXZpZ2F0aW9uQWN0aW9uVGltaW5nYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKGxhc3RSb3V0ZXNSZWNvZ25pemVkOiBSb3V0ZXNSZWNvZ25pemVkKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dFJvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUobGFzdFJvdXRlc1JlY29nbml6ZWQuc3RhdGUpO1xuXG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyTmF2aWdhdGlvbihcbiAgICAgICAgbmV4dFJvdXRlclN0YXRlLFxuICAgICAgICBuZXcgUm91dGVzUmVjb2duaXplZChcbiAgICAgICAgICBsYXN0Um91dGVzUmVjb2duaXplZC5pZCxcbiAgICAgICAgICBsYXN0Um91dGVzUmVjb2duaXplZC51cmwsXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQudXJsQWZ0ZXJSZWRpcmVjdHMsXG4gICAgICAgICAgbmV4dFJvdXRlclN0YXRlXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuX3RyaWdnZXJcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgTmF2aWdhdGlvbkNhbmNlbGAuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyQ2FuY2VsKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyQ2FuY2VsKHRoaXMuX3JvdXRlclN0YXRlISwgdGhpcy5fc3RvcmVTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25FbmRgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihcbiAgICAgIG5ldyBSb3V0ZXJFcnJvcihcbiAgICAgICAgdGhpcy5fcm91dGVyU3RhdGUhLFxuICAgICAgICB0aGlzLl9zdG9yZVN0YXRlLFxuICAgICAgICBuZXcgTmF2aWdhdGlvbkVycm9yKGV2ZW50LmlkLCBldmVudC51cmwsIGAke2V2ZW50fWApLFxuICAgICAgICB0aGlzLl90cmlnZ2VyXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25FbmRgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlck5hdmlnYXRlZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fcm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyTmF2aWdhdGVkKHJvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJBY3Rpb248VD4oYWN0aW9uOiBSb3V0ZXJBY3Rpb248VD4pOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ3JvdXRlcic7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5fdHJpZ2dlciA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ25vbmUnO1xuICAgIHRoaXMuX3N0b3JlU3RhdGUgPSBudWxsO1xuICAgIHRoaXMuX3JvdXRlclN0YXRlID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -1,54 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @abstract
|
|
7
|
-
* @template T
|
|
8
|
-
*/
|
|
9
1
|
export class RouterStateSerializer {
|
|
10
2
|
}
|
|
11
|
-
if (false) {
|
|
12
|
-
/**
|
|
13
|
-
* @abstract
|
|
14
|
-
* @param {?} routerState
|
|
15
|
-
* @return {?}
|
|
16
|
-
*/
|
|
17
|
-
RouterStateSerializer.prototype.serialize = function (routerState) { };
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @record
|
|
21
|
-
*/
|
|
22
|
-
export function SerializedRouterStateSnapshot() { }
|
|
23
|
-
if (false) {
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
SerializedRouterStateSnapshot.prototype.root;
|
|
26
|
-
/** @type {?} */
|
|
27
|
-
SerializedRouterStateSnapshot.prototype.url;
|
|
28
|
-
}
|
|
29
3
|
export class DefaultRouterStateSerializer {
|
|
30
|
-
/**
|
|
31
|
-
* @param {?} routerState
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
4
|
serialize(routerState) {
|
|
35
5
|
return {
|
|
36
6
|
root: this.serializeRoute(routerState.root),
|
|
37
7
|
url: routerState.url
|
|
38
8
|
};
|
|
39
9
|
}
|
|
40
|
-
/**
|
|
41
|
-
* @private
|
|
42
|
-
* @param {?} route
|
|
43
|
-
* @return {?}
|
|
44
|
-
*/
|
|
45
10
|
serializeRoute(route) {
|
|
46
|
-
|
|
47
|
-
const children = route.children.map((/**
|
|
48
|
-
* @param {?} c
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
51
|
-
c => this.serializeRoute(c)));
|
|
11
|
+
const children = route.children.map(c => this.serializeRoute(c));
|
|
52
12
|
return {
|
|
53
13
|
url: route.url,
|
|
54
14
|
params: route.params,
|
|
@@ -58,15 +18,15 @@ export class DefaultRouterStateSerializer {
|
|
|
58
18
|
outlet: route.outlet,
|
|
59
19
|
component: null,
|
|
60
20
|
routeConfig: null,
|
|
61
|
-
root:
|
|
21
|
+
root: null,
|
|
62
22
|
parent: null,
|
|
63
23
|
firstChild: children[0],
|
|
64
24
|
children: children,
|
|
65
|
-
pathFromRoot:
|
|
25
|
+
pathFromRoot: null,
|
|
66
26
|
paramMap: route.paramMap,
|
|
67
27
|
queryParamMap: route.queryParamMap,
|
|
68
28
|
toString: route.toString
|
|
69
29
|
};
|
|
70
30
|
}
|
|
71
31
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3NlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixxQkFBcUI7Q0FFMUM7QUFPRCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLFNBQVMsQ0FBQyxXQUFnQztRQUN4QyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUMzQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBNkI7UUFDbEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakUsT0FBTztZQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFTO1lBQ3pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSTtZQUNqQixJQUFJLEVBQUUsSUFBVztZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFlBQVksRUFBRSxJQUFXO1lBQ3pCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvdXRlclN0YXRlU2VyaWFsaXplcjxUPiB7XG4gIGFic3RyYWN0IHNlcmlhbGl6ZShyb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplZFJvdXRlclN0YXRlU25hcHNob3Qge1xuICByb290OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90O1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERlZmF1bHRSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXJcbiAgaW1wbGVtZW50cyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXI8U2VyaWFsaXplZFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc2VyaWFsaXplKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogU2VyaWFsaXplZFJvdXRlclN0YXRlU25hcHNob3Qge1xuICAgIHJldHVybiB7XG4gICAgICByb290OiB0aGlzLnNlcmlhbGl6ZVJvdXRlKHJvdXRlclN0YXRlLnJvb3QpLFxuICAgICAgdXJsOiByb3V0ZXJTdGF0ZS51cmxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzZXJpYWxpemVSb3V0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcm91dGUuY2hpbGRyZW4ubWFwKGMgPT4gdGhpcy5zZXJpYWxpemVSb3V0ZShjKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogcm91dGUudXJsLFxuICAgICAgcGFyYW1zOiByb3V0ZS5wYXJhbXMsXG4gICAgICBxdWVyeVBhcmFtczogcm91dGUucXVlcnlQYXJhbXMsXG4gICAgICBmcmFnbWVudDogcm91dGUuZnJhZ21lbnQhLFxuICAgICAgZGF0YTogcm91dGUuZGF0YSxcbiAgICAgIG91dGxldDogcm91dGUub3V0bGV0LFxuICAgICAgY29tcG9uZW50OiBudWxsLFxuICAgICAgcm91dGVDb25maWc6IG51bGwsXG4gICAgICByb290OiBudWxsIGFzIGFueSxcbiAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgIGZpcnN0Q2hpbGQ6IGNoaWxkcmVuWzBdLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxuICAgICAgcGF0aEZyb21Sb290OiBudWxsIGFzIGFueSxcbiAgICAgIHBhcmFtTWFwOiByb3V0ZS5wYXJhbU1hcCxcbiAgICAgIHF1ZXJ5UGFyYW1NYXA6IHJvdXRlLnF1ZXJ5UGFyYW1NYXAsXG4gICAgICB0b1N0cmluZzogcm91dGUudG9TdHJpbmdcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const USER_OPTIONS = new InjectionToken('USER_OPTIONS', { providedIn: 'root', factory: () => undefined });
|
|
3
|
+
export const NGXS_ROUTER_PLUGIN_OPTIONS = new InjectionToken('NGXS_ROUTER_PLUGIN_OPTIONS', { providedIn: 'root', factory: () => ({}) });
|
|
4
|
+
export function createRouterPluginOptions(options) {
|
|
5
|
+
return {
|
|
6
|
+
navigationActionTiming: (options && options.navigationActionTiming) || 1 /* PreActivation */
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVcvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQzVDLGNBQWMsRUFDZCxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUNqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELDRCQUE0QixFQUM1QixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDNUMsQ0FBQztBQUVGLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsT0FBNEM7SUFFNUMsT0FBTztRQUNMLHNCQUFzQixFQUNwQixDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMseUJBQXdDO0tBQ3RGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGVudW0gTmF2aWdhdGlvbkFjdGlvblRpbWluZyB7XG4gIFByZUFjdGl2YXRpb24gPSAxLFxuICBQb3N0QWN0aXZhdGlvbiA9IDJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB7XG4gIG5hdmlnYXRpb25BY3Rpb25UaW1pbmc/OiBOYXZpZ2F0aW9uQWN0aW9uVGltaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVVNFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zIHwgdW5kZWZpbmVkPihcbiAgJ1VTRVJfT1BUSU9OUycsXG4gIHsgcHJvdmlkZWRJbjogJ3Jvb3QnLCBmYWN0b3J5OiAoKSA9PiB1bmRlZmluZWQgfVxuKTtcblxuZXhwb3J0IGNvbnN0IE5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zPihcbiAgJ05HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TJyxcbiAgeyBwcm92aWRlZEluOiAncm9vdCcsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfVxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlclBsdWdpbk9wdGlvbnMoXG4gIG9wdGlvbnM6IE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zIHwgdW5kZWZpbmVkXG4pOiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB7XG4gIHJldHVybiB7XG4gICAgbmF2aWdhdGlvbkFjdGlvblRpbWluZzpcbiAgICAgIChvcHRpb25zICYmIG9wdGlvbnMubmF2aWdhdGlvbkFjdGlvblRpbWluZykgfHwgTmF2aWdhdGlvbkFjdGlvblRpbWluZy5QcmVBY3RpdmF0aW9uXG4gIH07XG59XG4iXX0=
|