@angular/router 21.0.0-next.7 → 21.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_router-chunk.mjs +136 -124
- package/fesm2022/_router-chunk.mjs.map +1 -1
- package/fesm2022/_router_module-chunk.mjs +27 -26
- package/fesm2022/_router_module-chunk.mjs.map +1 -1
- package/fesm2022/router.mjs +2 -2
- package/fesm2022/router.mjs.map +1 -1
- package/fesm2022/testing.mjs +11 -11
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/upgrade.mjs +1 -1
- package/fesm2022/upgrade.mjs.map +1 -1
- package/package.json +4 -4
- package/types/_router_module-chunk.d.ts +1 -1
- package/types/router.d.ts +4 -4
- package/types/testing.d.ts +1 -1
- package/types/upgrade.d.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.0.0-next.
|
|
2
|
+
* @license Angular v21.0.0-next.8
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
import { DOCUMENT, Location } from '@angular/common';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
9
|
import { ɵisPromise as _isPromise, ɵRuntimeError as _RuntimeError, Injectable, ɵisNgModule as _isNgModule, isStandalone, createEnvironmentInjector, InjectionToken, EventEmitter, input, inject, ViewContainerRef, ChangeDetectorRef, Directive, Input, Output, reflectComponentType, Component, ɵisInjectable as _isInjectable, runInInjectionContext, makeEnvironmentProviders, Compiler, NgModuleFactory, ɵresolveComponentResources as _resolveComponentResources, afterNextRender, signal, EnvironmentInjector, DestroyRef, untracked, ɵConsole as _Console, ɵPendingTasksInternal as _PendingTasksInternal, ɵINTERNAL_APPLICATION_ERROR_HANDLER as _INTERNAL_APPLICATION_ERROR_HANDLER } from '@angular/core';
|
|
10
|
-
import { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, Observable, concat, defer, pipe, throwError, EMPTY,
|
|
11
|
-
import { map, switchMap, take, startWith, filter, takeUntil, mergeMap,
|
|
10
|
+
import { isObservable, from, of, BehaviorSubject, combineLatest, EmptyError, Observable, concat, defer, pipe, throwError, EMPTY, Subject, Subscription } from 'rxjs';
|
|
11
|
+
import { first, map, switchMap, take, startWith, filter, takeUntil, mergeMap, concatMap, tap, catchError, scan, defaultIfEmpty, last as last$1, takeLast, finalize } from 'rxjs/operators';
|
|
12
12
|
import * as i1 from '@angular/platform-browser';
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -102,6 +102,16 @@ function defaultUrlMatcher(segments, segmentGroup, route) {
|
|
|
102
102
|
return { consumed: segments.slice(0, parts.length), posParams };
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
/** replacement for firstValueFrom in rxjs 7. We must support rxjs v6 so we cannot use it */
|
|
106
|
+
function firstValueFrom(source) {
|
|
107
|
+
return new Promise((resolve, reject) => {
|
|
108
|
+
source.pipe(first()).subscribe({
|
|
109
|
+
next: (value) => resolve(value),
|
|
110
|
+
error: (err) => reject(err),
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
105
115
|
function shallowEqualArrays(a, b) {
|
|
106
116
|
if (a.length !== b.length)
|
|
107
117
|
return false;
|
|
@@ -167,6 +177,12 @@ function wrapIntoObservable(value) {
|
|
|
167
177
|
}
|
|
168
178
|
return of(value);
|
|
169
179
|
}
|
|
180
|
+
function wrapIntoPromise(value) {
|
|
181
|
+
if (isObservable(value)) {
|
|
182
|
+
return firstValueFrom(value);
|
|
183
|
+
}
|
|
184
|
+
return Promise.resolve(value);
|
|
185
|
+
}
|
|
170
186
|
|
|
171
187
|
const pathCompareMap = {
|
|
172
188
|
'exact': equalSegmentGroups,
|
|
@@ -432,10 +448,10 @@ function mapChildrenIntoArray(segment, fn) {
|
|
|
432
448
|
* @publicApi
|
|
433
449
|
*/
|
|
434
450
|
class UrlSerializer {
|
|
435
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
436
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
451
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlSerializer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
452
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlSerializer, providedIn: 'root', useFactory: () => new DefaultUrlSerializer() });
|
|
437
453
|
}
|
|
438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlSerializer, decorators: [{
|
|
439
455
|
type: Injectable,
|
|
440
456
|
args: [{ providedIn: 'root', useFactory: () => new DefaultUrlSerializer() }]
|
|
441
457
|
}] });
|
|
@@ -2119,10 +2135,10 @@ class ChildrenOutletContexts {
|
|
|
2119
2135
|
getContext(childName) {
|
|
2120
2136
|
return this.contexts.get(childName) || null;
|
|
2121
2137
|
}
|
|
2122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
2123
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
2138
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, deps: [{ token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2139
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, providedIn: 'root' });
|
|
2124
2140
|
}
|
|
2125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
2141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: ChildrenOutletContexts, decorators: [{
|
|
2126
2142
|
type: Injectable,
|
|
2127
2143
|
args: [{ providedIn: 'root' }]
|
|
2128
2144
|
}], ctorParameters: () => [{ type: i0.EnvironmentInjector }] });
|
|
@@ -2909,10 +2925,10 @@ class RouterOutlet {
|
|
|
2909
2925
|
this.inputBinder?.bindActivatedRouteToOutletComponent(this);
|
|
2910
2926
|
this.activateEvents.emit(this.activated.instance);
|
|
2911
2927
|
}
|
|
2912
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
2913
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0-next.
|
|
2928
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouterOutlet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2929
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0-next.8", type: RouterOutlet, isStandalone: true, selector: "router-outlet", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, routerOutletData: { classPropertyName: "routerOutletData", publicName: "routerOutletData", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activateEvents: "activate", deactivateEvents: "deactivate", attachEvents: "attach", detachEvents: "detach" }, exportAs: ["outlet"], usesOnChanges: true, ngImport: i0 });
|
|
2914
2930
|
}
|
|
2915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
2931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouterOutlet, decorators: [{
|
|
2916
2932
|
type: Directive,
|
|
2917
2933
|
args: [{
|
|
2918
2934
|
selector: 'router-outlet',
|
|
@@ -2932,7 +2948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.7",
|
|
|
2932
2948
|
}], detachEvents: [{
|
|
2933
2949
|
type: Output,
|
|
2934
2950
|
args: ['detach']
|
|
2935
|
-
}] } });
|
|
2951
|
+
}], routerOutletData: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerOutletData", required: false }] }] } });
|
|
2936
2952
|
class OutletInjector {
|
|
2937
2953
|
route;
|
|
2938
2954
|
childContexts;
|
|
@@ -3022,10 +3038,10 @@ class RoutedComponentInputBinder {
|
|
|
3022
3038
|
});
|
|
3023
3039
|
this.outletDataSubscriptions.set(outlet, dataSubscription);
|
|
3024
3040
|
}
|
|
3025
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
3026
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
3041
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3042
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder });
|
|
3027
3043
|
}
|
|
3028
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
3044
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RoutedComponentInputBinder, decorators: [{
|
|
3029
3045
|
type: Injectable
|
|
3030
3046
|
}] });
|
|
3031
3047
|
|
|
@@ -3039,10 +3055,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.7",
|
|
|
3039
3055
|
* to this `EmptyOutletComponent`.
|
|
3040
3056
|
*/
|
|
3041
3057
|
class ɵEmptyOutletComponent {
|
|
3042
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
3043
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.
|
|
3058
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3059
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.8", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", exportAs: ["emptyRouterOutlet"], ngImport: i0, template: `<router-outlet/>`, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
3044
3060
|
}
|
|
3045
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
3061
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
|
|
3046
3062
|
type: Component,
|
|
3047
3063
|
args: [{
|
|
3048
3064
|
template: `<router-outlet/>`,
|
|
@@ -3734,16 +3750,6 @@ function runCanMatchGuards(injector, route, segments, urlSerializer, abortSignal
|
|
|
3734
3750
|
return of(canMatchObservables).pipe(prioritizedGuardValue(), redirectIfUrlTree(urlSerializer));
|
|
3735
3751
|
}
|
|
3736
3752
|
|
|
3737
|
-
/** replacement for firstValueFrom in rxjs 7. We must support rxjs v6 so we cannot use it */
|
|
3738
|
-
function firstValueFrom(source) {
|
|
3739
|
-
return new Promise((resolve, reject) => {
|
|
3740
|
-
source.pipe(first()).subscribe({
|
|
3741
|
-
next: (value) => resolve(value),
|
|
3742
|
-
error: (err) => reject(err),
|
|
3743
|
-
});
|
|
3744
|
-
});
|
|
3745
|
-
}
|
|
3746
|
-
|
|
3747
3753
|
let NoMatch$1 = class NoMatch extends Error {
|
|
3748
3754
|
segmentGroup;
|
|
3749
3755
|
constructor(segmentGroup) {
|
|
@@ -4226,10 +4232,7 @@ let Recognizer$1 = class Recognizer {
|
|
|
4226
4232
|
}
|
|
4227
4233
|
const shouldLoadResult = await firstValueFrom(runCanLoadGuards(injector, route, segments, this.urlSerializer, this.abortSignal));
|
|
4228
4234
|
if (shouldLoadResult) {
|
|
4229
|
-
const cfg = await
|
|
4230
|
-
if (!cfg) {
|
|
4231
|
-
throw canLoadFails$1(route);
|
|
4232
|
-
}
|
|
4235
|
+
const cfg = await this.configLoader.loadChildren(injector, route);
|
|
4233
4236
|
route._loadedRoutes = cfg.routes;
|
|
4234
4237
|
route._loadedInjector = cfg.injector;
|
|
4235
4238
|
return cfg;
|
|
@@ -4667,7 +4670,7 @@ class Recognizer {
|
|
|
4667
4670
|
}
|
|
4668
4671
|
return runCanLoadGuards(injector, route, segments, this.urlSerializer).pipe(mergeMap((shouldLoadResult) => {
|
|
4669
4672
|
if (shouldLoadResult) {
|
|
4670
|
-
return this.configLoader.loadChildren(injector, route).pipe(tap((cfg) => {
|
|
4673
|
+
return from(this.configLoader.loadChildren(injector, route)).pipe(tap((cfg) => {
|
|
4671
4674
|
route._loadedRoutes = cfg.routes;
|
|
4672
4675
|
route._loadedInjector = cfg.injector;
|
|
4673
4676
|
}));
|
|
@@ -4899,10 +4902,10 @@ class TitleStrategy {
|
|
|
4899
4902
|
getResolvedTitleForRoute(snapshot) {
|
|
4900
4903
|
return snapshot.data[RouteTitleKey];
|
|
4901
4904
|
}
|
|
4902
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4903
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4905
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: TitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4906
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: TitleStrategy, providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) });
|
|
4904
4907
|
}
|
|
4905
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4908
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: TitleStrategy, decorators: [{
|
|
4906
4909
|
type: Injectable,
|
|
4907
4910
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy) }]
|
|
4908
4911
|
}] });
|
|
@@ -4926,10 +4929,10 @@ class DefaultTitleStrategy extends TitleStrategy {
|
|
|
4926
4929
|
this.title.setTitle(title);
|
|
4927
4930
|
}
|
|
4928
4931
|
}
|
|
4929
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4930
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4932
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4933
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, providedIn: 'root' });
|
|
4931
4934
|
}
|
|
4932
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
4935
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultTitleStrategy, decorators: [{
|
|
4933
4936
|
type: Injectable,
|
|
4934
4937
|
args: [{ providedIn: 'root' }]
|
|
4935
4938
|
}], ctorParameters: () => [{ type: i1.Title }] });
|
|
@@ -4961,28 +4964,32 @@ class RouterConfigLoader {
|
|
|
4961
4964
|
onLoadStartListener;
|
|
4962
4965
|
onLoadEndListener;
|
|
4963
4966
|
compiler = inject(Compiler);
|
|
4964
|
-
loadComponent(injector, route) {
|
|
4967
|
+
async loadComponent(injector, route) {
|
|
4965
4968
|
if (this.componentLoaders.get(route)) {
|
|
4966
4969
|
return this.componentLoaders.get(route);
|
|
4967
4970
|
}
|
|
4968
4971
|
else if (route._loadedComponent) {
|
|
4969
|
-
return
|
|
4972
|
+
return Promise.resolve(route._loadedComponent);
|
|
4970
4973
|
}
|
|
4971
4974
|
if (this.onLoadStartListener) {
|
|
4972
4975
|
this.onLoadStartListener(route);
|
|
4973
4976
|
}
|
|
4974
|
-
const
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
+
const loader = (async () => {
|
|
4978
|
+
try {
|
|
4979
|
+
const loaded = await wrapIntoPromise(runInInjectionContext(injector, () => route.loadComponent()));
|
|
4980
|
+
const component = await maybeResolveResources(maybeUnwrapDefaultExport(loaded));
|
|
4981
|
+
if (this.onLoadEndListener) {
|
|
4982
|
+
this.onLoadEndListener(route);
|
|
4983
|
+
}
|
|
4984
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
4985
|
+
assertStandalone(route.path ?? '', component);
|
|
4986
|
+
route._loadedComponent = component;
|
|
4987
|
+
return component;
|
|
4977
4988
|
}
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
})
|
|
4982
|
-
this.componentLoaders.delete(route);
|
|
4983
|
-
}));
|
|
4984
|
-
// Use custom ConnectableObservable as share in runners pipe increasing the bundle size too much
|
|
4985
|
-
const loader = new ConnectableObservable(loadRunner, () => new Subject()).pipe(refCount());
|
|
4989
|
+
finally {
|
|
4990
|
+
this.componentLoaders.delete(route);
|
|
4991
|
+
}
|
|
4992
|
+
})();
|
|
4986
4993
|
this.componentLoaders.set(route, loader);
|
|
4987
4994
|
return loader;
|
|
4988
4995
|
}
|
|
@@ -4991,24 +4998,29 @@ class RouterConfigLoader {
|
|
|
4991
4998
|
return this.childrenLoaders.get(route);
|
|
4992
4999
|
}
|
|
4993
5000
|
else if (route._loadedRoutes) {
|
|
4994
|
-
return
|
|
5001
|
+
return Promise.resolve({ routes: route._loadedRoutes, injector: route._loadedInjector });
|
|
4995
5002
|
}
|
|
4996
5003
|
if (this.onLoadStartListener) {
|
|
4997
5004
|
this.onLoadStartListener(route);
|
|
4998
5005
|
}
|
|
4999
|
-
const
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5006
|
+
const loader = (async () => {
|
|
5007
|
+
try {
|
|
5008
|
+
const result = await loadChildren(route, this.compiler, parentInjector, this.onLoadEndListener);
|
|
5009
|
+
route._loadedRoutes = result.routes;
|
|
5010
|
+
route._loadedInjector = result.injector;
|
|
5011
|
+
return result;
|
|
5012
|
+
}
|
|
5013
|
+
finally {
|
|
5014
|
+
this.childrenLoaders.delete(route);
|
|
5015
|
+
}
|
|
5016
|
+
})();
|
|
5005
5017
|
this.childrenLoaders.set(route, loader);
|
|
5006
5018
|
return loader;
|
|
5007
5019
|
}
|
|
5008
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5009
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5020
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouterConfigLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5021
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouterConfigLoader, providedIn: 'root' });
|
|
5010
5022
|
}
|
|
5011
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouterConfigLoader, decorators: [{
|
|
5012
5024
|
type: Injectable,
|
|
5013
5025
|
args: [{ providedIn: 'root' }]
|
|
5014
5026
|
}] });
|
|
@@ -5020,40 +5032,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.7",
|
|
|
5020
5032
|
* in @angular-devkit/build-angular. If there are any updates to the contract here, it will require
|
|
5021
5033
|
* an update to the extractor.
|
|
5022
5034
|
*/
|
|
5023
|
-
function loadChildren(route, compiler, parentInjector, onLoadEndListener) {
|
|
5024
|
-
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
}
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
}
|
|
5035
|
+
async function loadChildren(route, compiler, parentInjector, onLoadEndListener) {
|
|
5036
|
+
const loaded = await wrapIntoPromise(runInInjectionContext(parentInjector, () => route.loadChildren()));
|
|
5037
|
+
const t = await maybeResolveResources(maybeUnwrapDefaultExport(loaded));
|
|
5038
|
+
let factoryOrRoutes;
|
|
5039
|
+
if (t instanceof NgModuleFactory || Array.isArray(t)) {
|
|
5040
|
+
factoryOrRoutes = t;
|
|
5041
|
+
}
|
|
5042
|
+
else {
|
|
5043
|
+
factoryOrRoutes = await compiler.compileModuleAsync(t);
|
|
5044
|
+
}
|
|
5045
|
+
if (onLoadEndListener) {
|
|
5046
|
+
onLoadEndListener(route);
|
|
5047
|
+
}
|
|
5048
|
+
// This injector comes from the `NgModuleRef` when lazy loading an `NgModule`. There is
|
|
5049
|
+
// no injector associated with lazy loading a `Route` array.
|
|
5050
|
+
let injector;
|
|
5051
|
+
let rawRoutes;
|
|
5052
|
+
let requireStandaloneComponents = false;
|
|
5053
|
+
if (Array.isArray(factoryOrRoutes)) {
|
|
5054
|
+
rawRoutes = factoryOrRoutes;
|
|
5055
|
+
requireStandaloneComponents = true;
|
|
5056
|
+
}
|
|
5057
|
+
else {
|
|
5058
|
+
injector = factoryOrRoutes.create(parentInjector).injector;
|
|
5059
|
+
// When loading a module that doesn't provide `RouterModule.forChild()` preloader
|
|
5060
|
+
// will get stuck in an infinite loop. The child module's Injector will look to
|
|
5061
|
+
// its parent `Injector` when it doesn't find any ROUTES so it will return routes
|
|
5062
|
+
// for it's parent module instead.
|
|
5063
|
+
rawRoutes = injector.get(ROUTES, [], { optional: true, self: true }).flat();
|
|
5064
|
+
}
|
|
5065
|
+
const routes = rawRoutes.map(standardizeConfig);
|
|
5066
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) &&
|
|
5067
|
+
validateConfig(routes, route.path, requireStandaloneComponents);
|
|
5068
|
+
return { routes, injector };
|
|
5057
5069
|
}
|
|
5058
5070
|
function isWrappedDefaultExport(value) {
|
|
5059
5071
|
// We use `in` here with a string key `'default'`, because we expect `DefaultExport` objects to be
|
|
@@ -5068,7 +5080,7 @@ function maybeUnwrapDefaultExport(input) {
|
|
|
5068
5080
|
}
|
|
5069
5081
|
function maybeResolveResources(value) {
|
|
5070
5082
|
// In JIT mode we usually resolve the resources of components on bootstrap, however
|
|
5071
|
-
// that won't have happened for lazy-loaded
|
|
5083
|
+
// that won't have happened for lazy-loaded. Attempt to load any pending
|
|
5072
5084
|
// resources again here.
|
|
5073
5085
|
if ((typeof ngJitMode === 'undefined' || ngJitMode) && typeof fetch === 'function') {
|
|
5074
5086
|
return _resolveComponentResources(fetch)
|
|
@@ -5078,7 +5090,7 @@ function maybeResolveResources(value) {
|
|
|
5078
5090
|
})
|
|
5079
5091
|
.then(() => value);
|
|
5080
5092
|
}
|
|
5081
|
-
return
|
|
5093
|
+
return Promise.resolve(value);
|
|
5082
5094
|
}
|
|
5083
5095
|
|
|
5084
5096
|
/**
|
|
@@ -5089,10 +5101,10 @@ function maybeResolveResources(value) {
|
|
|
5089
5101
|
* @publicApi
|
|
5090
5102
|
*/
|
|
5091
5103
|
class UrlHandlingStrategy {
|
|
5092
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5093
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5104
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5105
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) });
|
|
5094
5106
|
}
|
|
5095
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: UrlHandlingStrategy, decorators: [{
|
|
5096
5108
|
type: Injectable,
|
|
5097
5109
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy) }]
|
|
5098
5110
|
}] });
|
|
@@ -5109,10 +5121,10 @@ class DefaultUrlHandlingStrategy {
|
|
|
5109
5121
|
merge(newUrlPart, wholeUrl) {
|
|
5110
5122
|
return newUrlPart;
|
|
5111
5123
|
}
|
|
5112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5113
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5124
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5125
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, providedIn: 'root' });
|
|
5114
5126
|
}
|
|
5115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultUrlHandlingStrategy, decorators: [{
|
|
5116
5128
|
type: Injectable,
|
|
5117
5129
|
args: [{ providedIn: 'root' }]
|
|
5118
5130
|
}] });
|
|
@@ -5411,7 +5423,7 @@ class NavigationTransitions {
|
|
|
5411
5423
|
const loaders = [];
|
|
5412
5424
|
if (route.routeConfig?.loadComponent) {
|
|
5413
5425
|
const injector = getClosestRouteInjector(route) ?? this.environmentInjector;
|
|
5414
|
-
loaders.push(this.configLoader.loadComponent(injector, route.routeConfig).pipe(tap((loadedComponent) => {
|
|
5426
|
+
loaders.push(from(this.configLoader.loadComponent(injector, route.routeConfig)).pipe(tap((loadedComponent) => {
|
|
5415
5427
|
route.component = loadedComponent;
|
|
5416
5428
|
}), map(() => void 0)));
|
|
5417
5429
|
}
|
|
@@ -5587,10 +5599,10 @@ class NavigationTransitions {
|
|
|
5587
5599
|
return (currentBrowserUrl.toString() !== targetBrowserUrl?.toString() &&
|
|
5588
5600
|
!currentNavigation?.extras.skipLocationChange);
|
|
5589
5601
|
}
|
|
5590
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5591
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: NavigationTransitions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5603
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: NavigationTransitions, providedIn: 'root' });
|
|
5592
5604
|
}
|
|
5593
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: NavigationTransitions, decorators: [{
|
|
5594
5606
|
type: Injectable,
|
|
5595
5607
|
args: [{ providedIn: 'root' }]
|
|
5596
5608
|
}], ctorParameters: () => [] });
|
|
@@ -5606,10 +5618,10 @@ function isBrowserTriggeredNavigation(source) {
|
|
|
5606
5618
|
* @publicApi
|
|
5607
5619
|
*/
|
|
5608
5620
|
class RouteReuseStrategy {
|
|
5609
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5610
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5621
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5622
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) });
|
|
5611
5623
|
}
|
|
5612
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: RouteReuseStrategy, decorators: [{
|
|
5613
5625
|
type: Injectable,
|
|
5614
5626
|
args: [{ providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy) }]
|
|
5615
5627
|
}] });
|
|
@@ -5660,10 +5672,10 @@ class BaseRouteReuseStrategy {
|
|
|
5660
5672
|
}
|
|
5661
5673
|
}
|
|
5662
5674
|
class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {
|
|
5663
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5664
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5675
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5676
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, providedIn: 'root' });
|
|
5665
5677
|
}
|
|
5666
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5678
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: DefaultRouteReuseStrategy, decorators: [{
|
|
5667
5679
|
type: Injectable,
|
|
5668
5680
|
args: [{ providedIn: 'root' }]
|
|
5669
5681
|
}] });
|
|
@@ -5762,10 +5774,10 @@ class StateManager {
|
|
|
5762
5774
|
// when merging, such as the query params so they are not lost on a refresh.
|
|
5763
5775
|
this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, finalUrl ?? this.rawUrlTree);
|
|
5764
5776
|
}
|
|
5765
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5766
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5777
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: StateManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5778
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: StateManager, providedIn: 'root', useFactory: () => inject(HistoryStateManager) });
|
|
5767
5779
|
}
|
|
5768
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5780
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: StateManager, decorators: [{
|
|
5769
5781
|
type: Injectable,
|
|
5770
5782
|
args: [{ providedIn: 'root', useFactory: () => inject(HistoryStateManager) }]
|
|
5771
5783
|
}] });
|
|
@@ -5897,10 +5909,10 @@ class HistoryStateManager extends StateManager {
|
|
|
5897
5909
|
}
|
|
5898
5910
|
return { navigationId };
|
|
5899
5911
|
}
|
|
5900
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5901
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5912
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: HistoryStateManager, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
5913
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: HistoryStateManager, providedIn: 'root' });
|
|
5902
5914
|
}
|
|
5903
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
5915
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: HistoryStateManager, decorators: [{
|
|
5904
5916
|
type: Injectable,
|
|
5905
5917
|
args: [{ providedIn: 'root' }]
|
|
5906
5918
|
}] });
|
|
@@ -6473,10 +6485,10 @@ class Router {
|
|
|
6473
6485
|
return Promise.reject(e);
|
|
6474
6486
|
});
|
|
6475
6487
|
}
|
|
6476
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
6477
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
6488
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: Router, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6489
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: Router, providedIn: 'root' });
|
|
6478
6490
|
}
|
|
6479
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.
|
|
6491
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.8", ngImport: i0, type: Router, decorators: [{
|
|
6480
6492
|
type: Injectable,
|
|
6481
6493
|
args: [{ providedIn: 'root' }]
|
|
6482
6494
|
}], ctorParameters: () => [] });
|