@angular/router 3.4.6 → 3.4.10
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/router-testing.umd.js +1 -1
- package/bundles/router-upgrade.umd.js +11 -22
- package/bundles/router-upgrade.umd.min.js +2 -2
- package/bundles/router.umd.js +155 -25
- package/bundles/router.umd.min.js +4 -4
- package/package.json +4 -4
- package/src/interfaces.d.ts +10 -10
- package/src/interfaces.js.map +1 -1
- package/src/router.d.ts +1 -1
- package/src/router.js +36 -4
- package/src/router.js.map +1 -1
- package/src/router_config_loader.js +9 -3
- package/src/router_config_loader.js.map +1 -1
- package/src/router_module.d.ts +57 -6
- package/src/router_module.js +135 -18
- package/src/router_module.js.map +1 -1
- package/src/router_module.metadata.json +1 -1
- package/src/router_preloader.js +1 -1
- package/src/router_preloader.js.map +1 -1
- package/src/version.js +1 -1
- package/src/version.js.map +1 -1
- package/src/version.metadata.json +1 -1
- package/upgrade.d.ts +4 -4
- package/upgrade.js +11 -22
- package/upgrade.js.map +1 -1
- package/upgrade.metadata.json +1 -1
package/src/router_module.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ import { Route, Routes } from './config';
|
|
|
11
11
|
import { RouteReuseStrategy } from './route_reuse_strategy';
|
|
12
12
|
import { ErrorHandler, Router } from './router';
|
|
13
13
|
import { RouterOutletMap } from './router_outlet_map';
|
|
14
|
-
import { RouterPreloader } from './router_preloader';
|
|
15
14
|
import { ActivatedRoute } from './router_state';
|
|
16
15
|
import { UrlHandlingStrategy } from './url_handling_strategy';
|
|
17
16
|
import { UrlSerializer } from './url_tree';
|
|
@@ -114,6 +113,31 @@ export declare function provideForRootGuard(router: Router): any;
|
|
|
114
113
|
* @stable
|
|
115
114
|
*/
|
|
116
115
|
export declare function provideRoutes(routes: Routes): any;
|
|
116
|
+
/**
|
|
117
|
+
* @whatItDoes Represents an option to configure when the initial navigation is performed.
|
|
118
|
+
*
|
|
119
|
+
* @description
|
|
120
|
+
* * 'enabled' - the initial navigation starts before the root component is created.
|
|
121
|
+
* The bootstrap is blocked until the initial navigation is complete.
|
|
122
|
+
* * 'disabled' - the initial navigation is not performed. The location listener is set up before
|
|
123
|
+
* the root component gets created.
|
|
124
|
+
* * 'legacy_enabled'- the initial navigation starts after the root component has been created.
|
|
125
|
+
* The bootstrap is not blocked until the initial navigation is complete. @deprecated
|
|
126
|
+
* * 'legacy_disabled'- the initial navigation is not performed. The location listener is set up
|
|
127
|
+
* after @deprecated
|
|
128
|
+
* the root component gets created.
|
|
129
|
+
* * `true` - same as 'legacy_enabled'. @deprecated
|
|
130
|
+
* * `false` - same as 'legacy_disabled'. @deprecated
|
|
131
|
+
*
|
|
132
|
+
* The 'enabled' option should be used for applications unless there is a reason to have
|
|
133
|
+
* more control over when the router starts its initial navigation due to some complex
|
|
134
|
+
* initialization logic. In this case, 'disabled' should be used.
|
|
135
|
+
*
|
|
136
|
+
* The 'legacy_enabled' and 'legacy_disabled' should not be used for new applications.
|
|
137
|
+
*
|
|
138
|
+
* @experimental
|
|
139
|
+
*/
|
|
140
|
+
export declare type InitialNavigation = boolean | 'enabled' | 'disabled' | 'legacy_enabled' | 'legacy_disabled';
|
|
117
141
|
/**
|
|
118
142
|
* @whatItDoes Represents options to configure the router.
|
|
119
143
|
*
|
|
@@ -131,7 +155,7 @@ export interface ExtraOptions {
|
|
|
131
155
|
/**
|
|
132
156
|
* Disables the initial navigation.
|
|
133
157
|
*/
|
|
134
|
-
initialNavigation?:
|
|
158
|
+
initialNavigation?: InitialNavigation;
|
|
135
159
|
/**
|
|
136
160
|
* A custom error handler.
|
|
137
161
|
*/
|
|
@@ -143,17 +167,44 @@ export interface ExtraOptions {
|
|
|
143
167
|
}
|
|
144
168
|
export declare function setupRouter(ref: ApplicationRef, urlSerializer: UrlSerializer, outletMap: RouterOutletMap, location: Location, injector: Injector, loader: NgModuleFactoryLoader, compiler: Compiler, config: Route[][], opts?: ExtraOptions, urlHandlingStrategy?: UrlHandlingStrategy, routeReuseStrategy?: RouteReuseStrategy): Router;
|
|
145
169
|
export declare function rootRoute(router: Router): ActivatedRoute;
|
|
146
|
-
|
|
170
|
+
/**
|
|
171
|
+
* To initialize the router properly we need to do in two steps:
|
|
172
|
+
*
|
|
173
|
+
* We need to start the navigation in a APP_INITIALIZER to block the bootstrap if
|
|
174
|
+
* a resolver or a guards executes asynchronously. Second, we need to actually run
|
|
175
|
+
* activation in a BOOTSTRAP_LISTENER. We utilize the afterPreactivation
|
|
176
|
+
* hook provided by the router to do that.
|
|
177
|
+
*
|
|
178
|
+
* The router navigation starts, reaches the point when preactivation is done, and then
|
|
179
|
+
* pauses. It waits for the hook to be resolved. We then resolve it only in a bootstrap listener.
|
|
180
|
+
*/
|
|
181
|
+
export declare class RouterInitializer {
|
|
182
|
+
private injector;
|
|
183
|
+
private initNavigation;
|
|
184
|
+
private resultOfPreactivationDone;
|
|
185
|
+
constructor(injector: Injector);
|
|
186
|
+
appInitializer(): Promise<any>;
|
|
187
|
+
bootstrapListener(bootstrappedComponentRef: ComponentRef<any>): void;
|
|
188
|
+
private isLegacyEnabled(opts);
|
|
189
|
+
private isLegacyDisabled(opts);
|
|
190
|
+
}
|
|
191
|
+
export declare function getAppInitializer(r: RouterInitializer): any;
|
|
192
|
+
export declare function getBootstrapListener(r: RouterInitializer): any;
|
|
147
193
|
/**
|
|
148
194
|
* A token for the router initializer that will be called after the app is bootstrapped.
|
|
149
195
|
*
|
|
150
196
|
* @experimental
|
|
151
197
|
*/
|
|
152
198
|
export declare const ROUTER_INITIALIZER: OpaqueToken;
|
|
153
|
-
export declare function provideRouterInitializer(): ({
|
|
199
|
+
export declare function provideRouterInitializer(): (typeof RouterInitializer | {
|
|
200
|
+
provide: any;
|
|
201
|
+
multi: boolean;
|
|
202
|
+
useFactory: (r: RouterInitializer) => any;
|
|
203
|
+
deps: typeof RouterInitializer[];
|
|
204
|
+
} | {
|
|
154
205
|
provide: OpaqueToken;
|
|
155
|
-
useFactory: (
|
|
156
|
-
deps:
|
|
206
|
+
useFactory: (r: RouterInitializer) => any;
|
|
207
|
+
deps: typeof RouterInitializer[];
|
|
157
208
|
} | {
|
|
158
209
|
provide: OpaqueToken;
|
|
159
210
|
multi: boolean;
|
package/src/router_module.js
CHANGED
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { APP_BASE_HREF, HashLocationStrategy, Location, LocationStrategy, PathLocationStrategy, PlatformLocation } from '@angular/common';
|
|
9
|
-
import { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, ApplicationRef, Compiler, Inject, Injector, NgModule, NgModuleFactoryLoader, NgProbeToken, OpaqueToken, Optional, SkipSelf, SystemJsNgModuleLoader } from '@angular/core';
|
|
8
|
+
import { APP_BASE_HREF, HashLocationStrategy, LOCATION_INITIALIZED, Location, LocationStrategy, PathLocationStrategy, PlatformLocation } from '@angular/common';
|
|
9
|
+
import { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationRef, Compiler, Inject, Injectable, Injector, NgModule, NgModuleFactoryLoader, NgProbeToken, OpaqueToken, Optional, SkipSelf, SystemJsNgModuleLoader } from '@angular/core';
|
|
10
|
+
import { Subject } from 'rxjs/Subject';
|
|
11
|
+
import { of } from 'rxjs/observable/of';
|
|
10
12
|
import { RouterLink, RouterLinkWithHref } from './directives/router_link';
|
|
11
13
|
import { RouterLinkActive } from './directives/router_link_active';
|
|
12
14
|
import { RouterOutlet } from './directives/router_outlet';
|
|
@@ -275,26 +277,138 @@ export function rootRoute(router) {
|
|
|
275
277
|
return router.routerState.root;
|
|
276
278
|
}
|
|
277
279
|
/**
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
280
|
+
* To initialize the router properly we need to do in two steps:
|
|
281
|
+
*
|
|
282
|
+
* We need to start the navigation in a APP_INITIALIZER to block the bootstrap if
|
|
283
|
+
* a resolver or a guards executes asynchronously. Second, we need to actually run
|
|
284
|
+
* activation in a BOOTSTRAP_LISTENER. We utilize the afterPreactivation
|
|
285
|
+
* hook provided by the router to do that.
|
|
286
|
+
*
|
|
287
|
+
* The router navigation starts, reaches the point when preactivation is done, and then
|
|
288
|
+
* pauses. It waits for the hook to be resolved. We then resolve it only in a bootstrap listener.
|
|
283
289
|
*/
|
|
284
|
-
export
|
|
285
|
-
|
|
290
|
+
export var RouterInitializer = (function () {
|
|
291
|
+
/**
|
|
292
|
+
* @param {?} injector
|
|
293
|
+
*/
|
|
294
|
+
function RouterInitializer(injector) {
|
|
295
|
+
this.injector = injector;
|
|
296
|
+
this.initNavigation = false;
|
|
297
|
+
this.resultOfPreactivationDone = new Subject();
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* @return {?}
|
|
301
|
+
*/
|
|
302
|
+
RouterInitializer.prototype.appInitializer = function () {
|
|
303
|
+
var _this = this;
|
|
304
|
+
var /** @type {?} */ p = this.injector.get(LOCATION_INITIALIZED, Promise.resolve(null));
|
|
305
|
+
return p.then(function () {
|
|
306
|
+
var /** @type {?} */ resolve = null;
|
|
307
|
+
var /** @type {?} */ res = new Promise(function (r) { return resolve = r; });
|
|
308
|
+
var /** @type {?} */ router = _this.injector.get(Router);
|
|
309
|
+
var /** @type {?} */ opts = _this.injector.get(ROUTER_CONFIGURATION);
|
|
310
|
+
if (_this.isLegacyDisabled(opts) || _this.isLegacyEnabled(opts)) {
|
|
311
|
+
resolve(true);
|
|
312
|
+
}
|
|
313
|
+
else if (opts.initialNavigation === 'disabled') {
|
|
314
|
+
router.setUpLocationChangeListener();
|
|
315
|
+
resolve(true);
|
|
316
|
+
}
|
|
317
|
+
else if (opts.initialNavigation === 'enabled') {
|
|
318
|
+
router.hooks.afterPreactivation = function () {
|
|
319
|
+
// only the initial navigation should be delayed
|
|
320
|
+
if (!_this.initNavigation) {
|
|
321
|
+
_this.initNavigation = true;
|
|
322
|
+
resolve(true);
|
|
323
|
+
return _this.resultOfPreactivationDone;
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
return of(null);
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
router.initialNavigation();
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
throw new Error("Invalid initialNavigation options: '" + opts.initialNavigation + "'");
|
|
333
|
+
}
|
|
334
|
+
return res;
|
|
335
|
+
});
|
|
336
|
+
};
|
|
337
|
+
/**
|
|
338
|
+
* @param {?} bootstrappedComponentRef
|
|
339
|
+
* @return {?}
|
|
340
|
+
*/
|
|
341
|
+
RouterInitializer.prototype.bootstrapListener = function (bootstrappedComponentRef) {
|
|
342
|
+
var /** @type {?} */ opts = this.injector.get(ROUTER_CONFIGURATION);
|
|
343
|
+
var /** @type {?} */ preloader = this.injector.get(RouterPreloader);
|
|
344
|
+
var /** @type {?} */ router = this.injector.get(Router);
|
|
345
|
+
var /** @type {?} */ ref = this.injector.get(ApplicationRef);
|
|
286
346
|
if (bootstrappedComponentRef !== ref.components[0]) {
|
|
287
347
|
return;
|
|
288
348
|
}
|
|
289
|
-
|
|
290
|
-
preloader.setUpPreloading();
|
|
291
|
-
if (opts.initialNavigation === false) {
|
|
292
|
-
router.setUpLocationChangeListener();
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
349
|
+
if (this.isLegacyEnabled(opts)) {
|
|
295
350
|
router.initialNavigation();
|
|
296
351
|
}
|
|
352
|
+
else if (this.isLegacyDisabled(opts)) {
|
|
353
|
+
router.setUpLocationChangeListener();
|
|
354
|
+
}
|
|
355
|
+
preloader.setUpPreloading();
|
|
356
|
+
router.resetRootComponentType(ref.componentTypes[0]);
|
|
357
|
+
this.resultOfPreactivationDone.next(null);
|
|
358
|
+
this.resultOfPreactivationDone.complete();
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* @param {?} opts
|
|
362
|
+
* @return {?}
|
|
363
|
+
*/
|
|
364
|
+
RouterInitializer.prototype.isLegacyEnabled = function (opts) {
|
|
365
|
+
return opts.initialNavigation === 'legacy_enabled' || opts.initialNavigation === true ||
|
|
366
|
+
opts.initialNavigation === undefined;
|
|
297
367
|
};
|
|
368
|
+
/**
|
|
369
|
+
* @param {?} opts
|
|
370
|
+
* @return {?}
|
|
371
|
+
*/
|
|
372
|
+
RouterInitializer.prototype.isLegacyDisabled = function (opts) {
|
|
373
|
+
return opts.initialNavigation === 'legacy_disabled' || opts.initialNavigation === false;
|
|
374
|
+
};
|
|
375
|
+
RouterInitializer.decorators = [
|
|
376
|
+
{ type: Injectable },
|
|
377
|
+
];
|
|
378
|
+
/** @nocollapse */
|
|
379
|
+
RouterInitializer.ctorParameters = function () { return [
|
|
380
|
+
{ type: Injector, },
|
|
381
|
+
]; };
|
|
382
|
+
return RouterInitializer;
|
|
383
|
+
}());
|
|
384
|
+
function RouterInitializer_tsickle_Closure_declarations() {
|
|
385
|
+
/** @type {?} */
|
|
386
|
+
RouterInitializer.decorators;
|
|
387
|
+
/**
|
|
388
|
+
* @nocollapse
|
|
389
|
+
* @type {?}
|
|
390
|
+
*/
|
|
391
|
+
RouterInitializer.ctorParameters;
|
|
392
|
+
/** @type {?} */
|
|
393
|
+
RouterInitializer.prototype.initNavigation;
|
|
394
|
+
/** @type {?} */
|
|
395
|
+
RouterInitializer.prototype.resultOfPreactivationDone;
|
|
396
|
+
/** @type {?} */
|
|
397
|
+
RouterInitializer.prototype.injector;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* @param {?} r
|
|
401
|
+
* @return {?}
|
|
402
|
+
*/
|
|
403
|
+
export function getAppInitializer(r) {
|
|
404
|
+
return r.appInitializer.bind(r);
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* @param {?} r
|
|
408
|
+
* @return {?}
|
|
409
|
+
*/
|
|
410
|
+
export function getBootstrapListener(r) {
|
|
411
|
+
return r.bootstrapListener.bind(r);
|
|
298
412
|
}
|
|
299
413
|
/**
|
|
300
414
|
* A token for the router initializer that will be called after the app is bootstrapped.
|
|
@@ -307,11 +421,14 @@ export var /** @type {?} */ ROUTER_INITIALIZER = new OpaqueToken('Router Initial
|
|
|
307
421
|
*/
|
|
308
422
|
export function provideRouterInitializer() {
|
|
309
423
|
return [
|
|
424
|
+
RouterInitializer,
|
|
310
425
|
{
|
|
311
|
-
provide:
|
|
312
|
-
|
|
313
|
-
|
|
426
|
+
provide: APP_INITIALIZER,
|
|
427
|
+
multi: true,
|
|
428
|
+
useFactory: getAppInitializer,
|
|
429
|
+
deps: [RouterInitializer]
|
|
314
430
|
},
|
|
431
|
+
{ provide: ROUTER_INITIALIZER, useFactory: getBootstrapListener, deps: [RouterInitializer] },
|
|
315
432
|
{ provide: APP_BOOTSTRAP_LISTENER, multi: true, useExisting: ROUTER_INITIALIZER },
|
|
316
433
|
];
|
|
317
434
|
}
|
package/src/router_module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router_module.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/router_module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;OAEI,EAAC,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB;OAChI,EAAC,4BAA4B,EAAE,sBAAsB,EAAE,cAAc,EAAE,QAAQ,EAAgB,MAAM,EAAE,QAAQ,EAAuB,QAAQ,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAY,QAAQ,EAAE,sBAAsB,EAAC,MAAM,eAAe;OAG5Q,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,0BAA0B;OAChE,EAAC,gBAAgB,EAAC,MAAM,iCAAiC;OACzD,EAAC,YAAY,EAAC,MAAM,4BAA4B;OAChD,EAAC,MAAM,EAAC,MAAM,mCAAmC;OACjD,EAAC,kBAAkB,EAAC,MAAM,wBAAwB;OAClD,EAAe,MAAM,EAAC,MAAM,UAAU;OACtC,EAAC,MAAM,EAAC,MAAM,wBAAwB;OACtC,EAAC,eAAe,EAAC,MAAM,qBAAqB;OAC5C,EAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAC,MAAM,oBAAoB;OAChG,EAAC,cAAc,EAAC,MAAM,gBAAgB;OACtC,EAAC,mBAAmB,EAAC,MAAM,yBAAyB;OACpD,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,YAAY;OACvD,EAAC,OAAO,EAAC,MAAM,oBAAoB;AAI1C;;;GAGG;AACH,IAAM,gBAAgB,CAAC,iBAAiB,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAE5G;;;GAGG;AACH,OAAO,IAAM,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAE7F;;GAEG;AACH,OAAO,IAAM,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAE7F,OAAO,IAAM,gBAAgB,CAAC,gBAAgB,GAAe;IAC3D,QAAQ;IACR,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,oBAAoB,EAAC;IACxD;QACE,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,WAAW;QACvB,IAAI,EAAE;YACJ,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB;YACzF,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC7E,CAAC,kBAAkB,EAAE,IAAI,QAAQ,EAAE,CAAC;SACrC;KACF;IACD,eAAe;IACf,EAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAC;IAChE,EAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,sBAAsB,EAAC;IAClE,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,EAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,EAAC;CAClE,CAAC;AACF;;GAEG;AACH;IACE,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH;IACA;;OAEG;IACH,sBAAc,KAAU;IAAG,CAAC;IAC5B;;;;;;;;;;;;;OAaG;IACI,oBAAO,GAAd,UAAe,MAAc,EAAE,MAAqB;QAChD,MAAM,CAAC;YACL,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE;gBACT,gBAAgB;gBAChB,aAAa,CAAC,MAAM,CAAC;gBACrB;oBACE,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;iBACjD;gBACD,EAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE,EAAC;gBAC/D;oBACE,OAAO,EAAE,gBAAgB;oBACzB,UAAU,EAAE,uBAAuB;oBACnC,IAAI,EAAE;wBACJ,gBAAgB,EAAE,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAE,oBAAoB;qBACpF;iBACF;gBACD;oBACE,OAAO,EAAE,kBAAkB;oBAC3B,WAAW,EAAE,MAAM,IAAI,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB;wBACzB,YAAY;iBAChE;gBACD,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAC;gBACpE,wBAAwB,EAAE;aAC3B;SACF,CAAC;IACJ,CAAC;IACH;;;;OAIG;IACI,qBAAQ,GAAf,UAAgB,MAAc;QAC1B,MAAM,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC;IACtE,CAAC;IACI,uBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAC,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAC,EAAG,EAAE;KAC1F,CAAC;IACF,kBAAkB;IACX,2BAAc,GAAmE,cAAM,OAAA;QAC9F,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,oBAAoB,EAAG,EAAE,EAAG,EAAC;KACtG,EAF6F,CAE7F,CAAC;IACF,mBAAC;AAAD,CAAC,AA/DD,IA+DC;AAED;IACA,gBAAgB;IAChB,YAAY,CAAC,UAAU,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,cAAc,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,wCACI,wBAA0C,EAAE,QAAgB,EAAE,OAA0B;IAA1B,uBAA0B,GAA1B,YAA0B;IAC1F,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,QAAQ,CAAC;QAC5D,IAAI,oBAAoB,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AACxF,CAAC;AACD;;;GAGG;AACH,oCAAoC,MAAc;IAChD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACX,MAAM,IAAI,KAAK,CACX,sGAAsG,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC;AACD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAA8B,MAAc;IAC1C,MAAM,CAAC;QACL,EAAC,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC;QACtE,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC;KACjD,CAAC;AACJ,CAAC;AAkCD;;;;;;;;;;;;;GAaG;AACH,4BACI,GAAmB,EAAE,aAA4B,EAAE,SAA0B,EAC7E,QAAkB,EAAE,QAAkB,EAAE,MAA6B,EAAE,QAAkB,EACzF,MAAiB,EAAE,IAAuB,EAAE,mBAAyC,EACrF,kBAAuC;IADpB,oBAAuB,GAAvB,SAAuB;IAE5C,IAAM,gBAAgB,CAAC,MAAM,GAAG,IAAI,MAAM,CACtC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3F,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACnD,CAAC;IAED,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvB,IAAM,gBAAgB,CAAC,KAAG,GAAG,MAAM,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC;YACvB,KAAG,CAAC,QAAQ,CAAC,mBAAiB,CAAkB,CAAO,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,IAAM,CAAC,CAAC;YAChF,KAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtB,KAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACX,KAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AACD;;;GAGG;AACH,0BAA0B,MAAc;IACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;AACjC,CAAC;AACD;;;;;;GAMG;AACH,wCACI,MAAc,EAAE,GAAmB,EAAE,SAA0B,EAAE,IAAkB;IACrF,MAAM,CAAC,UAAC,wBAA2C;QAEjD,EAAE,CAAC,CAAC,wBAAwB,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC;QACT,CAAC;QAED,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,SAAS,CAAC,eAAe,EAAE,CAAC;QAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,2BAA2B,EAAE,CAAC;QACvC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,OAAO,IAAM,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAC;AACzF;;GAEG;AACH;IACE,MAAM,CAAC;QACL;YACE,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,CAAC;SACtE;QACD,EAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAC;KAChF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {APP_BASE_HREF, HashLocationStrategy, Location, LocationStrategy, PathLocationStrategy, PlatformLocation} from '@angular/common';\nimport {ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, ApplicationRef, Compiler, ComponentRef, Inject, Injector, ModuleWithProviders, NgModule, NgModuleFactoryLoader, NgProbeToken, OpaqueToken, Optional, Provider, SkipSelf, SystemJsNgModuleLoader} from '@angular/core';\n\nimport {Route, Routes} from './config';\nimport {RouterLink, RouterLinkWithHref} from './directives/router_link';\nimport {RouterLinkActive} from './directives/router_link_active';\nimport {RouterOutlet} from './directives/router_outlet';\nimport {getDOM} from './private_import_platform-browser';\nimport {RouteReuseStrategy} from './route_reuse_strategy';\nimport {ErrorHandler, Router} from './router';\nimport {ROUTES} from './router_config_loader';\nimport {RouterOutletMap} from './router_outlet_map';\nimport {NoPreloading, PreloadAllModules, PreloadingStrategy, RouterPreloader} from './router_preloader';\nimport {ActivatedRoute} from './router_state';\nimport {UrlHandlingStrategy} from './url_handling_strategy';\nimport {DefaultUrlSerializer, UrlSerializer} from './url_tree';\nimport {flatten} from './utils/collection';\n\n\n\n/**\n * @whatItDoes Contains a list of directives\n * @stable\n */\nconst /** @type {?} */ ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive];\n\n/**\n * @whatItDoes Is used in DI to configure the router.\n * @stable\n */\nexport const /** @type {?} */ ROUTER_CONFIGURATION = new OpaqueToken('ROUTER_CONFIGURATION');\n\n/**\n * @docsNotRequired\n */\nexport const /** @type {?} */ ROUTER_FORROOT_GUARD = new OpaqueToken('ROUTER_FORROOT_GUARD');\n\nexport const /** @type {?} */ ROUTER_PROVIDERS: Provider[] = [\n Location,\n {provide: UrlSerializer, useClass: DefaultUrlSerializer},\n {\n provide: Router,\n useFactory: setupRouter,\n deps: [\n ApplicationRef, UrlSerializer, RouterOutletMap, Location, Injector, NgModuleFactoryLoader,\n Compiler, ROUTES, ROUTER_CONFIGURATION, [UrlHandlingStrategy, new Optional()],\n [RouteReuseStrategy, new Optional()]\n ]\n },\n RouterOutletMap,\n {provide: ActivatedRoute, useFactory: rootRoute, deps: [Router]},\n {provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader},\n RouterPreloader,\n NoPreloading,\n PreloadAllModules,\n {provide: ROUTER_CONFIGURATION, useValue: {enableTracing: false}},\n];\n/**\n * @return {?}\n */\nexport function routerNgProbeToken() {\n return new NgProbeToken('Router', Router);\n}\n/**\n * \\@whatItDoes Adds router directives and providers.\n * \n * \\@howToUse \n * \n * RouterModule can be imported multiple times: once per lazily-loaded bundle.\n * Since the router deals with a global shared resource--location, we cannot have\n * more than one router service active.\n * \n * That is why there are two ways to create the module: `RouterModule.forRoot` and\n * `RouterModule.forChild`.\n * \n * * `forRoot` creates a module that contains all the directives, the given routes, and the router\n * service itself.\n * * `forChild` creates a module that contains all the directives and the given routes, but does not\n * include the router service.\n * \n * When registered at the root, the module should be used as follows\n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forRoot(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * For submodules and lazy loaded submodules the module should be used as follows:\n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forChild(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * \\@description \n * \n * Managing state transitions is one of the hardest parts of building applications. This is\n * especially true on the web, where you also need to ensure that the state is reflected in the URL.\n * In addition, we often want to split applications into multiple bundles and load them on demand.\n * Doing this transparently is not trivial.\n * \n * The Angular 2 router solves these problems. Using the router, you can declaratively specify\n * application states, manage state transitions while taking care of the URL, and load bundles on\n * demand.\n * \n * [Read this developer guide](https://angular.io/docs/ts/latest/guide/router.html) to get an\n * overview of how the router should be used.\n * \n * \\@stable\n */\nexport class RouterModule {\n/**\n * @param {?} guard\n */\nconstructor( guard: any) {}\n/**\n * Creates a module with all the router providers and directives. It also optionally sets up an\n * application listener to perform an initial navigation.\n * \n * Options:\n * * `enableTracing` makes the router log all its internal events to the console.\n * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n * API.\n * * `initialNavigation` disables the initial navigation.\n * * `errorHandler` provides a custom error handler.\n * @param {?} routes\n * @param {?=} config\n * @return {?}\n */\nstatic forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders {\n return {\n ngModule: RouterModule,\n providers: [\n ROUTER_PROVIDERS,\n provideRoutes(routes),\n {\n provide: ROUTER_FORROOT_GUARD,\n useFactory: provideForRootGuard,\n deps: [[Router, new Optional(), new SkipSelf()]]\n },\n {provide: ROUTER_CONFIGURATION, useValue: config ? config : {}},\n {\n provide: LocationStrategy,\n useFactory: provideLocationStrategy,\n deps: [\n PlatformLocation, [new Inject(APP_BASE_HREF), new Optional()], ROUTER_CONFIGURATION\n ]\n },\n {\n provide: PreloadingStrategy,\n useExisting: config && config.preloadingStrategy ? config.preloadingStrategy :\n NoPreloading\n },\n {provide: NgProbeToken, multi: true, useFactory: routerNgProbeToken},\n provideRouterInitializer(),\n ],\n };\n }\n/**\n * Creates a module with all the router directives and a provider registering routes.\n * @param {?} routes\n * @return {?}\n */\nstatic forChild(routes: Routes): ModuleWithProviders {\n return {ngModule: RouterModule, providers: [provideRoutes(routes)]};\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{declarations: ROUTER_DIRECTIVES, exports: ROUTER_DIRECTIVES}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ROUTER_FORROOT_GUARD, ] }, ]},\n];\n}\n\nfunction RouterModule_tsickle_Closure_declarations() {\n/** @type {?} */\nRouterModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nRouterModule.ctorParameters;\n}\n\n/**\n * @param {?} platformLocationStrategy\n * @param {?} baseHref\n * @param {?=} options\n * @return {?}\n */\nexport function provideLocationStrategy(\n platformLocationStrategy: PlatformLocation, baseHref: string, options: ExtraOptions = {}) {\n return options.useHash ? new HashLocationStrategy(platformLocationStrategy, baseHref) :\n new PathLocationStrategy(platformLocationStrategy, baseHref);\n}\n/**\n * @param {?} router\n * @return {?}\n */\nexport function provideForRootGuard(router: Router): any {\n if (router) {\n throw new Error(\n `RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.`);\n }\n return 'guarded';\n}\n/**\n * \\@whatItDoes Registers routes.\n * \n * \\@howToUse \n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forChild(ROUTES)],\n * providers: [provideRoutes(EXTRA_ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * \\@stable\n * @param {?} routes\n * @return {?}\n */\nexport function provideRoutes(routes: Routes): any {\n return [\n {provide: ANALYZE_FOR_ENTRY_COMPONENTS, multi: true, useValue: routes},\n {provide: ROUTES, multi: true, useValue: routes},\n ];\n}\n\n\n/**\n * @whatItDoes Represents options to configure the router.\n *\n * @stable\n */\nexport interface ExtraOptions {\n /**\n * Makes the router log all its internal events to the console.\n */\n enableTracing?: boolean;\n\n /**\n * Enables the location strategy that uses the URL fragment instead of the history API.\n */\n useHash?: boolean;\n\n /**\n * Disables the initial navigation.\n */\n initialNavigation?: boolean;\n\n /**\n * A custom error handler.\n */\n errorHandler?: ErrorHandler;\n\n /**\n * Configures a preloading strategy. See {@link PreloadAllModules}.\n */\n preloadingStrategy?: any;\n}\n/**\n * @param {?} ref\n * @param {?} urlSerializer\n * @param {?} outletMap\n * @param {?} location\n * @param {?} injector\n * @param {?} loader\n * @param {?} compiler\n * @param {?} config\n * @param {?=} opts\n * @param {?=} urlHandlingStrategy\n * @param {?=} routeReuseStrategy\n * @return {?}\n */\nexport function setupRouter(\n ref: ApplicationRef, urlSerializer: UrlSerializer, outletMap: RouterOutletMap,\n location: Location, injector: Injector, loader: NgModuleFactoryLoader, compiler: Compiler,\n config: Route[][], opts: ExtraOptions = {}, urlHandlingStrategy?: UrlHandlingStrategy,\n routeReuseStrategy?: RouteReuseStrategy) {\n const /** @type {?} */ router = new Router(\n null, urlSerializer, outletMap, location, injector, loader, compiler, flatten(config));\n\n if (urlHandlingStrategy) {\n router.urlHandlingStrategy = urlHandlingStrategy;\n }\n\n if (routeReuseStrategy) {\n router.routeReuseStrategy = routeReuseStrategy;\n }\n\n if (opts.errorHandler) {\n router.errorHandler = opts.errorHandler;\n }\n\n if (opts.enableTracing) {\n const /** @type {?} */ dom = getDOM();\n router.events.subscribe(e => {\n dom.logGroup(`Router Event: ${( /** @type {?} */((<any>e.constructor))).name}`);\n dom.log(e.toString());\n dom.log(e);\n dom.logGroupEnd();\n });\n }\n\n return router;\n}\n/**\n * @param {?} router\n * @return {?}\n */\nexport function rootRoute(router: Router): ActivatedRoute {\n return router.routerState.root;\n}\n/**\n * @param {?} router\n * @param {?} ref\n * @param {?} preloader\n * @param {?} opts\n * @return {?}\n */\nexport function initialRouterNavigation(\n router: Router, ref: ApplicationRef, preloader: RouterPreloader, opts: ExtraOptions) {\n return (bootstrappedComponentRef: ComponentRef<any>) => {\n\n if (bootstrappedComponentRef !== ref.components[0]) {\n return;\n }\n\n router.resetRootComponentType(ref.componentTypes[0]);\n preloader.setUpPreloading();\n if (opts.initialNavigation === false) {\n router.setUpLocationChangeListener();\n } else {\n router.initialNavigation();\n }\n };\n}\n\n/**\n * A token for the router initializer that will be called after the app is bootstrapped.\n *\n * @experimental\n */\nexport const /** @type {?} */ ROUTER_INITIALIZER = new OpaqueToken('Router Initializer');\n/**\n * @return {?}\n */\nexport function provideRouterInitializer() {\n return [\n {\n provide: ROUTER_INITIALIZER,\n useFactory: initialRouterNavigation,\n deps: [Router, ApplicationRef, RouterPreloader, ROUTER_CONFIGURATION]\n },\n {provide: APP_BOOTSTRAP_LISTENER, multi: true, useExisting: ROUTER_INITIALIZER},\n ];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
1
|
+
{"version":3,"file":"router_module.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/router_module.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {APP_BASE_HREF, HashLocationStrategy, LOCATION_INITIALIZED, Location, LocationStrategy, PathLocationStrategy, PlatformLocation} from '@angular/common';\nimport {ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationRef, Compiler, ComponentRef, Inject, Injectable, Injector, ModuleWithProviders, NgModule, NgModuleFactoryLoader, NgProbeToken, OpaqueToken, Optional, Provider, SkipSelf, SystemJsNgModuleLoader} from '@angular/core';\nimport {Subject} from 'rxjs/Subject';\nimport {of } from 'rxjs/observable/of';\n\nimport {Route, Routes} from './config';\nimport {RouterLink, RouterLinkWithHref} from './directives/router_link';\nimport {RouterLinkActive} from './directives/router_link_active';\nimport {RouterOutlet} from './directives/router_outlet';\nimport {getDOM} from './private_import_platform-browser';\nimport {RouteReuseStrategy} from './route_reuse_strategy';\nimport {ErrorHandler, Router} from './router';\nimport {ROUTES} from './router_config_loader';\nimport {RouterOutletMap} from './router_outlet_map';\nimport {NoPreloading, PreloadAllModules, PreloadingStrategy, RouterPreloader} from './router_preloader';\nimport {ActivatedRoute, RouterStateSnapshot} from './router_state';\nimport {UrlHandlingStrategy} from './url_handling_strategy';\nimport {DefaultUrlSerializer, UrlSerializer} from './url_tree';\nimport {flatten} from './utils/collection';\n\n\n\n/**\n * @whatItDoes Contains a list of directives\n * @stable\n */\nconst /** @type {?} */ ROUTER_DIRECTIVES = [RouterOutlet, RouterLink, RouterLinkWithHref, RouterLinkActive];\n\n/**\n * @whatItDoes Is used in DI to configure the router.\n * @stable\n */\nexport const /** @type {?} */ ROUTER_CONFIGURATION = new OpaqueToken('ROUTER_CONFIGURATION');\n\n/**\n * @docsNotRequired\n */\nexport const /** @type {?} */ ROUTER_FORROOT_GUARD = new OpaqueToken('ROUTER_FORROOT_GUARD');\n\nexport const /** @type {?} */ ROUTER_PROVIDERS: Provider[] = [\n Location,\n {provide: UrlSerializer, useClass: DefaultUrlSerializer},\n {\n provide: Router,\n useFactory: setupRouter,\n deps: [\n ApplicationRef, UrlSerializer, RouterOutletMap, Location, Injector, NgModuleFactoryLoader,\n Compiler, ROUTES, ROUTER_CONFIGURATION, [UrlHandlingStrategy, new Optional()],\n [RouteReuseStrategy, new Optional()]\n ]\n },\n RouterOutletMap,\n {provide: ActivatedRoute, useFactory: rootRoute, deps: [Router]},\n {provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader},\n RouterPreloader,\n NoPreloading,\n PreloadAllModules,\n {provide: ROUTER_CONFIGURATION, useValue: {enableTracing: false}},\n];\n/**\n * @return {?}\n */\nexport function routerNgProbeToken() {\n return new NgProbeToken('Router', Router);\n}\n/**\n * \\@whatItDoes Adds router directives and providers.\n * \n * \\@howToUse \n * \n * RouterModule can be imported multiple times: once per lazily-loaded bundle.\n * Since the router deals with a global shared resource--location, we cannot have\n * more than one router service active.\n * \n * That is why there are two ways to create the module: `RouterModule.forRoot` and\n * `RouterModule.forChild`.\n * \n * * `forRoot` creates a module that contains all the directives, the given routes, and the router\n * service itself.\n * * `forChild` creates a module that contains all the directives and the given routes, but does not\n * include the router service.\n * \n * When registered at the root, the module should be used as follows\n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forRoot(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * For submodules and lazy loaded submodules the module should be used as follows:\n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forChild(ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * \\@description \n * \n * Managing state transitions is one of the hardest parts of building applications. This is\n * especially true on the web, where you also need to ensure that the state is reflected in the URL.\n * In addition, we often want to split applications into multiple bundles and load them on demand.\n * Doing this transparently is not trivial.\n * \n * The Angular 2 router solves these problems. Using the router, you can declaratively specify\n * application states, manage state transitions while taking care of the URL, and load bundles on\n * demand.\n * \n * [Read this developer guide](https://angular.io/docs/ts/latest/guide/router.html) to get an\n * overview of how the router should be used.\n * \n * \\@stable\n */\nexport class RouterModule {\n/**\n * @param {?} guard\n */\nconstructor( guard: any) {}\n/**\n * Creates a module with all the router providers and directives. It also optionally sets up an\n * application listener to perform an initial navigation.\n * \n * Options:\n * * `enableTracing` makes the router log all its internal events to the console.\n * * `useHash` enables the location strategy that uses the URL fragment instead of the history\n * API.\n * * `initialNavigation` disables the initial navigation.\n * * `errorHandler` provides a custom error handler.\n * @param {?} routes\n * @param {?=} config\n * @return {?}\n */\nstatic forRoot(routes: Routes, config?: ExtraOptions): ModuleWithProviders {\n return {\n ngModule: RouterModule,\n providers: [\n ROUTER_PROVIDERS,\n provideRoutes(routes),\n {\n provide: ROUTER_FORROOT_GUARD,\n useFactory: provideForRootGuard,\n deps: [[Router, new Optional(), new SkipSelf()]]\n },\n {provide: ROUTER_CONFIGURATION, useValue: config ? config : {}},\n {\n provide: LocationStrategy,\n useFactory: provideLocationStrategy,\n deps: [\n PlatformLocation, [new Inject(APP_BASE_HREF), new Optional()], ROUTER_CONFIGURATION\n ]\n },\n {\n provide: PreloadingStrategy,\n useExisting: config && config.preloadingStrategy ? config.preloadingStrategy :\n NoPreloading\n },\n {provide: NgProbeToken, multi: true, useFactory: routerNgProbeToken},\n provideRouterInitializer(),\n ],\n };\n }\n/**\n * Creates a module with all the router directives and a provider registering routes.\n * @param {?} routes\n * @return {?}\n */\nstatic forChild(routes: Routes): ModuleWithProviders {\n return {ngModule: RouterModule, providers: [provideRoutes(routes)]};\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{declarations: ROUTER_DIRECTIVES, exports: ROUTER_DIRECTIVES}, ] },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [ROUTER_FORROOT_GUARD, ] }, ]},\n];\n}\n\nfunction RouterModule_tsickle_Closure_declarations() {\n/** @type {?} */\nRouterModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nRouterModule.ctorParameters;\n}\n\n/**\n * @param {?} platformLocationStrategy\n * @param {?} baseHref\n * @param {?=} options\n * @return {?}\n */\nexport function provideLocationStrategy(\n platformLocationStrategy: PlatformLocation, baseHref: string, options: ExtraOptions = {}) {\n return options.useHash ? new HashLocationStrategy(platformLocationStrategy, baseHref) :\n new PathLocationStrategy(platformLocationStrategy, baseHref);\n}\n/**\n * @param {?} router\n * @return {?}\n */\nexport function provideForRootGuard(router: Router): any {\n if (router) {\n throw new Error(\n `RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.`);\n }\n return 'guarded';\n}\n/**\n * \\@whatItDoes Registers routes.\n * \n * \\@howToUse \n * \n * ```\n * \\@NgModule({ \n * imports: [RouterModule.forChild(ROUTES)],\n * providers: [provideRoutes(EXTRA_ROUTES)]\n * })\n * class MyNgModule {}\n * ```\n * \n * \\@stable\n * @param {?} routes\n * @return {?}\n */\nexport function provideRoutes(routes: Routes): any {\n return [\n {provide: ANALYZE_FOR_ENTRY_COMPONENTS, multi: true, useValue: routes},\n {provide: ROUTES, multi: true, useValue: routes},\n ];\n}\n\n/**\n * @whatItDoes Represents an option to configure when the initial navigation is performed.\n *\n * @description\n * * 'enabled' - the initial navigation starts before the root component is created.\n * The bootstrap is blocked until the initial navigation is complete.\n * * 'disabled' - the initial navigation is not performed. The location listener is set up before\n * the root component gets created.\n * * 'legacy_enabled'- the initial navigation starts after the root component has been created.\n * The bootstrap is not blocked until the initial navigation is complete. @deprecated\n * * 'legacy_disabled'- the initial navigation is not performed. The location listener is set up\n * after @deprecated\n * the root component gets created.\n * * `true` - same as 'legacy_enabled'. @deprecated\n * * `false` - same as 'legacy_disabled'. @deprecated\n *\n * The 'enabled' option should be used for applications unless there is a reason to have\n * more control over when the router starts its initial navigation due to some complex\n * initialization logic. In this case, 'disabled' should be used.\n *\n * The 'legacy_enabled' and 'legacy_disabled' should not be used for new applications.\n *\n * @experimental\n */\nexport type InitialNavigation =\n boolean | 'enabled' | 'disabled' | 'legacy_enabled' | 'legacy_disabled';\n\n/**\n * @whatItDoes Represents options to configure the router.\n *\n * @stable\n */\nexport interface ExtraOptions {\n /**\n * Makes the router log all its internal events to the console.\n */\n enableTracing?: boolean;\n\n /**\n * Enables the location strategy that uses the URL fragment instead of the history API.\n */\n useHash?: boolean;\n\n /**\n * Disables the initial navigation.\n */\n initialNavigation?: InitialNavigation;\n\n /**\n * A custom error handler.\n */\n errorHandler?: ErrorHandler;\n\n /**\n * Configures a preloading strategy. See {@link PreloadAllModules}.\n */\n preloadingStrategy?: any;\n}\n/**\n * @param {?} ref\n * @param {?} urlSerializer\n * @param {?} outletMap\n * @param {?} location\n * @param {?} injector\n * @param {?} loader\n * @param {?} compiler\n * @param {?} config\n * @param {?=} opts\n * @param {?=} urlHandlingStrategy\n * @param {?=} routeReuseStrategy\n * @return {?}\n */\nexport function setupRouter(\n ref: ApplicationRef, urlSerializer: UrlSerializer, outletMap: RouterOutletMap,\n location: Location, injector: Injector, loader: NgModuleFactoryLoader, compiler: Compiler,\n config: Route[][], opts: ExtraOptions = {}, urlHandlingStrategy?: UrlHandlingStrategy,\n routeReuseStrategy?: RouteReuseStrategy) {\n const /** @type {?} */ router = new Router(\n null, urlSerializer, outletMap, location, injector, loader, compiler, flatten(config));\n\n if (urlHandlingStrategy) {\n router.urlHandlingStrategy = urlHandlingStrategy;\n }\n\n if (routeReuseStrategy) {\n router.routeReuseStrategy = routeReuseStrategy;\n }\n\n if (opts.errorHandler) {\n router.errorHandler = opts.errorHandler;\n }\n\n if (opts.enableTracing) {\n const /** @type {?} */ dom = getDOM();\n router.events.subscribe(e => {\n dom.logGroup(`Router Event: ${( /** @type {?} */((<any>e.constructor))).name}`);\n dom.log(e.toString());\n dom.log(e);\n dom.logGroupEnd();\n });\n }\n\n return router;\n}\n/**\n * @param {?} router\n * @return {?}\n */\nexport function rootRoute(router: Router): ActivatedRoute {\n return router.routerState.root;\n}\n/**\n * To initialize the router properly we need to do in two steps:\n * \n * We need to start the navigation in a APP_INITIALIZER to block the bootstrap if\n * a resolver or a guards executes asynchronously. Second, we need to actually run\n * activation in a BOOTSTRAP_LISTENER. We utilize the afterPreactivation\n * hook provided by the router to do that.\n * \n * The router navigation starts, reaches the point when preactivation is done, and then\n * pauses. It waits for the hook to be resolved. We then resolve it only in a bootstrap listener.\n */\nexport class RouterInitializer {\nprivate initNavigation: boolean = false;\nprivate resultOfPreactivationDone = new Subject<void>();\n/**\n * @param {?} injector\n */\nconstructor(private injector: Injector) {}\n/**\n * @return {?}\n */\nappInitializer(): Promise<any> {\n const /** @type {?} */ p: Promise<any> = this.injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\n return p.then(() => {\n let /** @type {?} */ resolve: Function = null;\n const /** @type {?} */ res = new Promise(r => resolve = r);\n const /** @type {?} */ router = this.injector.get(Router);\n const /** @type {?} */ opts = this.injector.get(ROUTER_CONFIGURATION);\n\n if (this.isLegacyDisabled(opts) || this.isLegacyEnabled(opts)) {\n resolve(true);\n\n } else if (opts.initialNavigation === 'disabled') {\n router.setUpLocationChangeListener();\n resolve(true);\n\n } else if (opts.initialNavigation === 'enabled') {\n router.hooks.afterPreactivation = () => {\n // only the initial navigation should be delayed\n if (!this.initNavigation) {\n this.initNavigation = true;\n resolve(true);\n return this.resultOfPreactivationDone;\n\n // subsequent navigations should not be delayed\n } else {\n return of (null);\n }\n };\n router.initialNavigation();\n\n } else {\n throw new Error(`Invalid initialNavigation options: '${opts.initialNavigation}'`);\n }\n\n return res;\n });\n }\n/**\n * @param {?} bootstrappedComponentRef\n * @return {?}\n */\nbootstrapListener(bootstrappedComponentRef: ComponentRef<any>): void {\n const /** @type {?} */ opts = this.injector.get(ROUTER_CONFIGURATION);\n const /** @type {?} */ preloader = this.injector.get(RouterPreloader);\n const /** @type {?} */ router = this.injector.get(Router);\n const /** @type {?} */ ref = this.injector.get(ApplicationRef);\n\n if (bootstrappedComponentRef !== ref.components[0]) {\n return;\n }\n\n if (this.isLegacyEnabled(opts)) {\n router.initialNavigation();\n } else if (this.isLegacyDisabled(opts)) {\n router.setUpLocationChangeListener();\n }\n\n preloader.setUpPreloading();\n router.resetRootComponentType(ref.componentTypes[0]);\n this.resultOfPreactivationDone.next(null);\n this.resultOfPreactivationDone.complete();\n }\n/**\n * @param {?} opts\n * @return {?}\n */\nprivate isLegacyEnabled(opts: ExtraOptions): boolean {\n return opts.initialNavigation === 'legacy_enabled' || opts.initialNavigation === true ||\n opts.initialNavigation === undefined;\n }\n/**\n * @param {?} opts\n * @return {?}\n */\nprivate isLegacyDisabled(opts: ExtraOptions): boolean {\n return opts.initialNavigation === 'legacy_disabled' || opts.initialNavigation === false;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: Injector, },\n];\n}\n\nfunction RouterInitializer_tsickle_Closure_declarations() {\n/** @type {?} */\nRouterInitializer.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nRouterInitializer.ctorParameters;\n/** @type {?} */\nRouterInitializer.prototype.initNavigation;\n/** @type {?} */\nRouterInitializer.prototype.resultOfPreactivationDone;\n/** @type {?} */\nRouterInitializer.prototype.injector;\n}\n\n/**\n * @param {?} r\n * @return {?}\n */\nexport function getAppInitializer(r: RouterInitializer) {\n return r.appInitializer.bind(r);\n}\n/**\n * @param {?} r\n * @return {?}\n */\nexport function getBootstrapListener(r: RouterInitializer) {\n return r.bootstrapListener.bind(r);\n}\n\n/**\n * A token for the router initializer that will be called after the app is bootstrapped.\n *\n * @experimental\n */\nexport const /** @type {?} */ ROUTER_INITIALIZER = new OpaqueToken('Router Initializer');\n/**\n * @return {?}\n */\nexport function provideRouterInitializer() {\n return [\n RouterInitializer,\n {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: getAppInitializer,\n deps: [RouterInitializer]\n },\n {provide: ROUTER_INITIALIZER, useFactory: getBootstrapListener, deps: [RouterInitializer]},\n {provide: APP_BOOTSTRAP_LISTENER, multi: true, useExisting: ROUTER_INITIALIZER},\n ];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":3,"metadata":{"ROUTER_CONFIGURATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_CONFIGURATION"]},"ROUTER_FORROOT_GUARD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_FORROOT_GUARD"]},"ROUTER_PROVIDERS":[{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"provide":{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},"useClass":{"__symbolic":"reference","module":"./url_tree","name":"DefaultUrlSerializer"}},{"provide":{"__symbolic":"reference","module":"./router","name":"Router"},"useFactory":{"__symbolic":"reference","name":"setupRouter"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},[{"__symbolic":"reference","module":"./url_handling_strategy","name":"UrlHandlingStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"./route_reuse_strategy","name":"RouteReuseStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]]},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"provide":{"__symbolic":"reference","module":"./router_state","name":"ActivatedRoute"},"useFactory":{"__symbolic":"reference","name":"rootRoute"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},"useClass":{"__symbolic":"reference","module":"@angular/core","name":"SystemJsNgModuleLoader"}},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"},{"__symbolic":"reference","module":"./router_preloader","name":"PreloadAllModules"},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"enableTracing":false}}],"routerNgProbeToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"arguments":["Router",{"__symbolic":"reference","module":"./router","name":"Router"}]}},"RouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}],"exports":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routes","config"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"reference","name":"ROUTER_PROVIDERS"},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"},"useFactory":{"__symbolic":"reference","name":"provideForRootGuard"},"deps":[[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]]},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"config"},"thenExpression":{"__symbolic":"reference","name":"config"},"elseExpression":{}}},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy"},"useFactory":{"__symbolic":"reference","name":"provideLocationStrategy"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"APP_BASE_HREF"}]},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"./router_preloader","name":"PreloadingStrategy"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"config"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"}},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"},"elseExpression":{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"}}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"multi":true,"useFactory":{"__symbolic":"reference","name":"routerNgProbeToken"}},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRouterInitializer"}}]}},"forChild":{"__symbolic":"function","parameters":["routes"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]}]}}}},"provideLocationStrategy":{"__symbolic":"function","parameters":["platformLocationStrategy","baseHref","options"],"value":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"useHash"},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]},"elseExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"PathLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]}},"defaults":[null,null,{}]},"provideForRootGuard":{"__symbolic":"function"},"provideRoutes":{"__symbolic":"function","parameters":["routes"],"value":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ANALYZE_FOR_ENTRY_COMPONENTS"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}},{"provide":{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}}]},"setupRouter":{"__symbolic":"function"},"rootRoute":{"__symbolic":"function","parameters":["router"],"value":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"routerState"},"member":"root"}},"initialRouterNavigation":{"__symbolic":"function","parameters":["router","ref","preloader","opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":282,"character":9}},"ROUTER_INITIALIZER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["Router Initializer"]},"provideRouterInitializer":{"__symbolic":"function","parameters":[],"value":[{"provide":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"initialRouterNavigation"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER"},"multi":true,"useExisting":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"}}]}}},{"__symbolic":"module","version":1,"metadata":{"ROUTER_CONFIGURATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_CONFIGURATION"]},"ROUTER_FORROOT_GUARD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_FORROOT_GUARD"]},"ROUTER_PROVIDERS":[{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"provide":{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},"useClass":{"__symbolic":"reference","module":"./url_tree","name":"DefaultUrlSerializer"}},{"provide":{"__symbolic":"reference","module":"./router","name":"Router"},"useFactory":{"__symbolic":"reference","name":"setupRouter"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},[{"__symbolic":"reference","module":"./url_handling_strategy","name":"UrlHandlingStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"./route_reuse_strategy","name":"RouteReuseStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]]},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"provide":{"__symbolic":"reference","module":"./router_state","name":"ActivatedRoute"},"useFactory":{"__symbolic":"reference","name":"rootRoute"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},"useClass":{"__symbolic":"reference","module":"@angular/core","name":"SystemJsNgModuleLoader"}},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"},{"__symbolic":"reference","module":"./router_preloader","name":"PreloadAllModules"},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"enableTracing":false}}],"routerNgProbeToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"arguments":["Router",{"__symbolic":"reference","module":"./router","name":"Router"}]}},"RouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}],"exports":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routes","config"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"reference","name":"ROUTER_PROVIDERS"},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"},"useFactory":{"__symbolic":"reference","name":"provideForRootGuard"},"deps":[[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]]},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"config"},"thenExpression":{"__symbolic":"reference","name":"config"},"elseExpression":{}}},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy"},"useFactory":{"__symbolic":"reference","name":"provideLocationStrategy"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"APP_BASE_HREF"}]},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"./router_preloader","name":"PreloadingStrategy"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"config"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"}},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"},"elseExpression":{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"}}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"multi":true,"useFactory":{"__symbolic":"reference","name":"routerNgProbeToken"}},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRouterInitializer"}}]}},"forChild":{"__symbolic":"function","parameters":["routes"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]}]}}}},"provideLocationStrategy":{"__symbolic":"function","parameters":["platformLocationStrategy","baseHref","options"],"value":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"useHash"},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]},"elseExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"PathLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]}},"defaults":[null,null,{}]},"provideForRootGuard":{"__symbolic":"function"},"provideRoutes":{"__symbolic":"function","parameters":["routes"],"value":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ANALYZE_FOR_ENTRY_COMPONENTS"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}},{"provide":{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}}]},"setupRouter":{"__symbolic":"function"},"rootRoute":{"__symbolic":"function","parameters":["router"],"value":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"routerState"},"member":"root"}},"initialRouterNavigation":{"__symbolic":"function","parameters":["router","ref","preloader","opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":282,"character":9}},"ROUTER_INITIALIZER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["Router Initializer"]},"provideRouterInitializer":{"__symbolic":"function","parameters":[],"value":[{"provide":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"initialRouterNavigation"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER"},"multi":true,"useExisting":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"}}]}}}]
|
|
1
|
+
[{"__symbolic":"module","version":3,"metadata":{"ROUTER_CONFIGURATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_CONFIGURATION"]},"ROUTER_FORROOT_GUARD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_FORROOT_GUARD"]},"ROUTER_PROVIDERS":[{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"provide":{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},"useClass":{"__symbolic":"reference","module":"./url_tree","name":"DefaultUrlSerializer"}},{"provide":{"__symbolic":"reference","module":"./router","name":"Router"},"useFactory":{"__symbolic":"reference","name":"setupRouter"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},[{"__symbolic":"reference","module":"./url_handling_strategy","name":"UrlHandlingStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"./route_reuse_strategy","name":"RouteReuseStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]]},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"provide":{"__symbolic":"reference","module":"./router_state","name":"ActivatedRoute"},"useFactory":{"__symbolic":"reference","name":"rootRoute"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},"useClass":{"__symbolic":"reference","module":"@angular/core","name":"SystemJsNgModuleLoader"}},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"},{"__symbolic":"reference","module":"./router_preloader","name":"PreloadAllModules"},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"enableTracing":false}}],"routerNgProbeToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"arguments":["Router",{"__symbolic":"reference","module":"./router","name":"Router"}]}},"RouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}],"exports":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routes","config"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"reference","name":"ROUTER_PROVIDERS"},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"},"useFactory":{"__symbolic":"reference","name":"provideForRootGuard"},"deps":[[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]]},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"config"},"thenExpression":{"__symbolic":"reference","name":"config"},"elseExpression":{}}},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy"},"useFactory":{"__symbolic":"reference","name":"provideLocationStrategy"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"APP_BASE_HREF"}]},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"./router_preloader","name":"PreloadingStrategy"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"config"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"}},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"},"elseExpression":{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"}}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"multi":true,"useFactory":{"__symbolic":"reference","name":"routerNgProbeToken"}},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRouterInitializer"}}]}},"forChild":{"__symbolic":"function","parameters":["routes"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]}]}}}},"provideLocationStrategy":{"__symbolic":"function","parameters":["platformLocationStrategy","baseHref","options"],"value":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"useHash"},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]},"elseExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"PathLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]}},"defaults":[null,null,{}]},"provideForRootGuard":{"__symbolic":"function"},"provideRoutes":{"__symbolic":"function","parameters":["routes"],"value":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ANALYZE_FOR_ENTRY_COMPONENTS"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}},{"provide":{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}}]},"setupRouter":{"__symbolic":"function"},"rootRoute":{"__symbolic":"function","parameters":["router"],"value":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"routerState"},"member":"root"}},"RouterInitializer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"appInitializer":[{"__symbolic":"method"}],"bootstrapListener":[{"__symbolic":"method"}],"isLegacyEnabled":[{"__symbolic":"method"}],"isLegacyDisabled":[{"__symbolic":"method"}]}},"getAppInitializer":{"__symbolic":"function","parameters":["r"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"r"},"member":"appInitializer"},"member":"bind"},"arguments":[{"__symbolic":"reference","name":"r"}]}},"getBootstrapListener":{"__symbolic":"function","parameters":["r"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"r"},"member":"bootstrapListener"},"member":"bind"},"arguments":[{"__symbolic":"reference","name":"r"}]}},"ROUTER_INITIALIZER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["Router Initializer"]},"provideRouterInitializer":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"reference","name":"RouterInitializer"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"multi":true,"useFactory":{"__symbolic":"reference","name":"getAppInitializer"},"deps":[{"__symbolic":"reference","name":"RouterInitializer"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"getBootstrapListener"},"deps":[{"__symbolic":"reference","name":"RouterInitializer"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER"},"multi":true,"useExisting":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"}}]}}},{"__symbolic":"module","version":1,"metadata":{"ROUTER_CONFIGURATION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_CONFIGURATION"]},"ROUTER_FORROOT_GUARD":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["ROUTER_FORROOT_GUARD"]},"ROUTER_PROVIDERS":[{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"provide":{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},"useClass":{"__symbolic":"reference","module":"./url_tree","name":"DefaultUrlSerializer"}},{"provide":{"__symbolic":"reference","module":"./router","name":"Router"},"useFactory":{"__symbolic":"reference","name":"setupRouter"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"./url_tree","name":"UrlSerializer"},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"__symbolic":"reference","module":"@angular/common","name":"Location"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},{"__symbolic":"reference","module":"@angular/core","name":"Compiler"},{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},[{"__symbolic":"reference","module":"./url_handling_strategy","name":"UrlHandlingStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],[{"__symbolic":"reference","module":"./route_reuse_strategy","name":"RouteReuseStrategy"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]]},{"__symbolic":"reference","module":"./router_outlet_map","name":"RouterOutletMap"},{"provide":{"__symbolic":"reference","module":"./router_state","name":"ActivatedRoute"},"useFactory":{"__symbolic":"reference","name":"rootRoute"},"deps":[{"__symbolic":"reference","module":"./router","name":"Router"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgModuleFactoryLoader"},"useClass":{"__symbolic":"reference","module":"@angular/core","name":"SystemJsNgModuleLoader"}},{"__symbolic":"reference","module":"./router_preloader","name":"RouterPreloader"},{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"},{"__symbolic":"reference","module":"./router_preloader","name":"PreloadAllModules"},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"enableTracing":false}}],"routerNgProbeToken":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"arguments":["Router",{"__symbolic":"reference","module":"./router","name":"Router"}]}},"RouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}],"exports":[{"__symbolic":"reference","module":"./directives/router_outlet","name":"RouterOutlet"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLink"},{"__symbolic":"reference","module":"./directives/router_link","name":"RouterLinkWithHref"},{"__symbolic":"reference","module":"./directives/router_link_active","name":"RouterLinkActive"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routes","config"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"reference","name":"ROUTER_PROVIDERS"},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_FORROOT_GUARD"},"useFactory":{"__symbolic":"reference","name":"provideForRootGuard"},"deps":[[{"__symbolic":"reference","module":"./router","name":"Router"},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf"}}]]},{"provide":{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"},"useValue":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"config"},"thenExpression":{"__symbolic":"reference","name":"config"},"elseExpression":{}}},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"LocationStrategy"},"useFactory":{"__symbolic":"reference","name":"provideLocationStrategy"},"deps":[{"__symbolic":"reference","module":"@angular/common","name":"PlatformLocation"},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"APP_BASE_HREF"}]},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}],{"__symbolic":"reference","name":"ROUTER_CONFIGURATION"}]},{"provide":{"__symbolic":"reference","module":"./router_preloader","name":"PreloadingStrategy"},"useExisting":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"config"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"}},"thenExpression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"preloadingStrategy"},"elseExpression":{"__symbolic":"reference","module":"./router_preloader","name":"NoPreloading"}}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"NgProbeToken"},"multi":true,"useFactory":{"__symbolic":"reference","name":"routerNgProbeToken"}},{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRouterInitializer"}}]}},"forChild":{"__symbolic":"function","parameters":["routes"],"value":{"ngModule":{"__symbolic":"reference","name":"RouterModule"},"providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"provideRoutes"},"arguments":[{"__symbolic":"reference","name":"routes"}]}]}}}},"provideLocationStrategy":{"__symbolic":"function","parameters":["platformLocationStrategy","baseHref","options"],"value":{"__symbolic":"if","condition":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"options"},"member":"useHash"},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"HashLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]},"elseExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/common","name":"PathLocationStrategy"},"arguments":[{"__symbolic":"reference","name":"platformLocationStrategy"},{"__symbolic":"reference","name":"baseHref"}]}},"defaults":[null,null,{}]},"provideForRootGuard":{"__symbolic":"function"},"provideRoutes":{"__symbolic":"function","parameters":["routes"],"value":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ANALYZE_FOR_ENTRY_COMPONENTS"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}},{"provide":{"__symbolic":"reference","module":"./router_config_loader","name":"ROUTES"},"multi":true,"useValue":{"__symbolic":"reference","name":"routes"}}]},"setupRouter":{"__symbolic":"function"},"rootRoute":{"__symbolic":"function","parameters":["router"],"value":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"routerState"},"member":"root"}},"RouterInitializer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"appInitializer":[{"__symbolic":"method"}],"bootstrapListener":[{"__symbolic":"method"}],"isLegacyEnabled":[{"__symbolic":"method"}],"isLegacyDisabled":[{"__symbolic":"method"}]}},"getAppInitializer":{"__symbolic":"function","parameters":["r"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"r"},"member":"appInitializer"},"member":"bind"},"arguments":[{"__symbolic":"reference","name":"r"}]}},"getBootstrapListener":{"__symbolic":"function","parameters":["r"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"r"},"member":"bootstrapListener"},"member":"bind"},"arguments":[{"__symbolic":"reference","name":"r"}]}},"ROUTER_INITIALIZER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["Router Initializer"]},"provideRouterInitializer":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"reference","name":"RouterInitializer"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"multi":true,"useFactory":{"__symbolic":"reference","name":"getAppInitializer"},"deps":[{"__symbolic":"reference","name":"RouterInitializer"}]},{"provide":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"getBootstrapListener"},"deps":[{"__symbolic":"reference","name":"RouterInitializer"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_BOOTSTRAP_LISTENER"},"multi":true,"useExisting":{"__symbolic":"reference","name":"ROUTER_INITIALIZER"}}]}}}]
|
package/src/router_preloader.js
CHANGED
|
@@ -129,7 +129,7 @@ export var RouterPreloader = (function () {
|
|
|
129
129
|
var /** @type {?} */ res = [];
|
|
130
130
|
for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {
|
|
131
131
|
var c = routes_1[_i];
|
|
132
|
-
// we already have the config loaded, just
|
|
132
|
+
// we already have the config loaded, just recurse
|
|
133
133
|
if (c.loadChildren && !c.canLoad && ((c))._loadedConfig) {
|
|
134
134
|
var /** @type {?} */ childConfig = ((c))._loadedConfig;
|
|
135
135
|
res.push(this.processRoutes(childConfig.injector, childConfig.routes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router_preloader.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/router_preloader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n*@license\n*Copyright Google Inc. All Rights Reserved.\n*\n*Use of this source code is governed by an MIT-style license that can be\n*found in the LICENSE file at https://angular.io/license\n*/\n\nimport {Compiler, Injectable, Injector, NgModuleFactoryLoader} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {Subscription} from 'rxjs/Subscription';\nimport {from} from 'rxjs/observable/from';\nimport {of } from 'rxjs/observable/of';\nimport {_catch} from 'rxjs/operator/catch';\nimport {concatMap} from 'rxjs/operator/concatMap';\nimport {filter} from 'rxjs/operator/filter';\nimport {mergeAll} from 'rxjs/operator/mergeAll';\nimport {mergeMap} from 'rxjs/operator/mergeMap';\n\nimport {Route, Routes} from './config';\nimport {NavigationEnd, Router} from './router';\nimport {RouterConfigLoader} from './router_config_loader';\n/**\n * \\@whatItDoes Provides a preloading strategy.\n * \n * \\@experimental\n * @abstract\n */\nexport abstract class PreloadingStrategy {\n/**\n * @abstract\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>) {}\n}\n/**\n * \\@whatItDoes Provides a preloading strategy that preloads all modules as quicky as possible.\n * \n * \\@howToUse \n * \n * ```\n * RouteModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules})\n * ```\n * \n * \\@experimental\n */\nexport class PreloadAllModules implements PreloadingStrategy {\n/**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>): Observable<any> {\n return _catch.call(fn(), () => of (null));\n }\n}\n/**\n * \\@whatItDoes Provides a preloading strategy that does not preload any modules.\n * \n * \\@description \n * \n * This strategy is enabled by default.\n * \n * \\@experimental\n */\nexport class NoPreloading implements PreloadingStrategy {\n/**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>): Observable<any> { return of (null); }\n}\n/**\n * The preloader optimistically loads all router configurations to\n * make navigations into lazily-loaded sections of the application faster.\n * \n * The preloader runs in the background. When the router bootstraps, the preloader\n * starts listening to all navigation events. After every such event, the preloader\n * will check if any configurations can be loaded lazily.\n * \n * If a route is protected by `canLoad` guards, the preloaded will not load it.\n * \n * \\@stable\n */\nexport class RouterPreloader {\nprivate loader: RouterConfigLoader;\nprivate subscription: Subscription;\n/**\n * @param {?} router\n * @param {?} moduleLoader\n * @param {?} compiler\n * @param {?} injector\n * @param {?} preloadingStrategy\n */\nconstructor(\nprivate router: Router, moduleLoader: NgModuleFactoryLoader, compiler: Compiler,\nprivate injector: Injector,\nprivate preloadingStrategy: PreloadingStrategy) {\n this.loader = new RouterConfigLoader(moduleLoader, compiler);\n };\n/**\n * @return {?}\n */\nsetUpPreloading(): void {\n const /** @type {?} */ navigations = filter.call(this.router.events, (e: any) => e instanceof NavigationEnd);\n this.subscription = concatMap.call(navigations, () => this.preload()).subscribe((v: any) => {});\n }\n/**\n * @return {?}\n */\npreload(): Observable<any> { return this.processRoutes(this.injector, this.router.config); }\n/**\n * @return {?}\n */\nngOnDestroy() { this.subscription.unsubscribe(); }\n/**\n * @param {?} injector\n * @param {?} routes\n * @return {?}\n */\nprivate processRoutes(injector: Injector, routes: Routes): Observable<void> {\n const /** @type {?} */ res: Observable<any>[] = [];\n for (const /** @type {?} */ c of routes) {\n // we already have the config loaded, just
|
|
1
|
+
{"version":3,"file":"router_preloader.js","sourceRoot":"","sources":["../../../../modules/@angular/router/src/router_preloader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n*@license\n*Copyright Google Inc. All Rights Reserved.\n*\n*Use of this source code is governed by an MIT-style license that can be\n*found in the LICENSE file at https://angular.io/license\n*/\n\nimport {Compiler, Injectable, Injector, NgModuleFactoryLoader} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {Subscription} from 'rxjs/Subscription';\nimport {from} from 'rxjs/observable/from';\nimport {of } from 'rxjs/observable/of';\nimport {_catch} from 'rxjs/operator/catch';\nimport {concatMap} from 'rxjs/operator/concatMap';\nimport {filter} from 'rxjs/operator/filter';\nimport {mergeAll} from 'rxjs/operator/mergeAll';\nimport {mergeMap} from 'rxjs/operator/mergeMap';\n\nimport {Route, Routes} from './config';\nimport {NavigationEnd, Router} from './router';\nimport {RouterConfigLoader} from './router_config_loader';\n/**\n * \\@whatItDoes Provides a preloading strategy.\n * \n * \\@experimental\n * @abstract\n */\nexport abstract class PreloadingStrategy {\n/**\n * @abstract\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>) {}\n}\n/**\n * \\@whatItDoes Provides a preloading strategy that preloads all modules as quicky as possible.\n * \n * \\@howToUse \n * \n * ```\n * RouteModule.forRoot(ROUTES, {preloadingStrategy: PreloadAllModules})\n * ```\n * \n * \\@experimental\n */\nexport class PreloadAllModules implements PreloadingStrategy {\n/**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>): Observable<any> {\n return _catch.call(fn(), () => of (null));\n }\n}\n/**\n * \\@whatItDoes Provides a preloading strategy that does not preload any modules.\n * \n * \\@description \n * \n * This strategy is enabled by default.\n * \n * \\@experimental\n */\nexport class NoPreloading implements PreloadingStrategy {\n/**\n * @param {?} route\n * @param {?} fn\n * @return {?}\n */\npreload(route: Route, fn: () => Observable<any>): Observable<any> { return of (null); }\n}\n/**\n * The preloader optimistically loads all router configurations to\n * make navigations into lazily-loaded sections of the application faster.\n * \n * The preloader runs in the background. When the router bootstraps, the preloader\n * starts listening to all navigation events. After every such event, the preloader\n * will check if any configurations can be loaded lazily.\n * \n * If a route is protected by `canLoad` guards, the preloaded will not load it.\n * \n * \\@stable\n */\nexport class RouterPreloader {\nprivate loader: RouterConfigLoader;\nprivate subscription: Subscription;\n/**\n * @param {?} router\n * @param {?} moduleLoader\n * @param {?} compiler\n * @param {?} injector\n * @param {?} preloadingStrategy\n */\nconstructor(\nprivate router: Router, moduleLoader: NgModuleFactoryLoader, compiler: Compiler,\nprivate injector: Injector,\nprivate preloadingStrategy: PreloadingStrategy) {\n this.loader = new RouterConfigLoader(moduleLoader, compiler);\n };\n/**\n * @return {?}\n */\nsetUpPreloading(): void {\n const /** @type {?} */ navigations = filter.call(this.router.events, (e: any) => e instanceof NavigationEnd);\n this.subscription = concatMap.call(navigations, () => this.preload()).subscribe((v: any) => {});\n }\n/**\n * @return {?}\n */\npreload(): Observable<any> { return this.processRoutes(this.injector, this.router.config); }\n/**\n * @return {?}\n */\nngOnDestroy() { this.subscription.unsubscribe(); }\n/**\n * @param {?} injector\n * @param {?} routes\n * @return {?}\n */\nprivate processRoutes(injector: Injector, routes: Routes): Observable<void> {\n const /** @type {?} */ res: Observable<any>[] = [];\n for (const /** @type {?} */ c of routes) {\n // we already have the config loaded, just recurse\n if (c.loadChildren && !c.canLoad && ( /** @type {?} */((<any>c)))._loadedConfig) {\n const /** @type {?} */ childConfig = ( /** @type {?} */((<any>c)))._loadedConfig;\n res.push(this.processRoutes(childConfig.injector, childConfig.routes));\n\n // no config loaded, fetch the config\n } else if (c.loadChildren && !c.canLoad) {\n res.push(this.preloadConfig(injector, c));\n\n // recurse into children\n } else if (c.children) {\n res.push(this.processRoutes(injector, c.children));\n }\n }\n return mergeAll.call(from(res));\n }\n/**\n * @param {?} injector\n * @param {?} route\n * @return {?}\n */\nprivate preloadConfig(injector: Injector, route: Route): Observable<void> {\n return this.preloadingStrategy.preload(route, () => {\n const /** @type {?} */ loaded = this.loader.load(injector, route.loadChildren);\n return mergeMap.call(loaded, (config: any): any => {\n const /** @type {?} */ c: any = route;\n c._loadedConfig = config;\n return this.processRoutes(config.injector, config.routes);\n });\n });\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: Router, },\n{type: NgModuleFactoryLoader, },\n{type: Compiler, },\n{type: Injector, },\n{type: PreloadingStrategy, },\n];\n}\n\nfunction RouterPreloader_tsickle_Closure_declarations() {\n/** @type {?} */\nRouterPreloader.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nRouterPreloader.ctorParameters;\n/** @type {?} */\nRouterPreloader.prototype.loader;\n/** @type {?} */\nRouterPreloader.prototype.subscription;\n/** @type {?} */\nRouterPreloader.prototype.router;\n/** @type {?} */\nRouterPreloader.prototype.injector;\n/** @type {?} */\nRouterPreloader.prototype.preloadingStrategy;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
package/src/version.js
CHANGED