@ngxs/router-plugin 3.8.2-dev.master-414599c → 3.8.2-dev.master-9f0fcb0
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/esm2022/src/router.actions.mjs +85 -0
- package/{esm2020 → esm2022}/src/router.module.mjs +5 -5
- package/esm2022/src/router.state.mjs +225 -0
- package/{fesm2020 → fesm2022}/ngxs-router-plugin.mjs +33 -32
- package/{fesm2020 → fesm2022}/ngxs-router-plugin.mjs.map +1 -1
- package/package.json +8 -16
- package/src/router.actions.d.ts +1 -1
- package/src/router.state.d.ts +1 -1
- package/esm2020/src/router.actions.mjs +0 -85
- package/esm2020/src/router.state.mjs +0 -224
- package/fesm2015/ngxs-router-plugin.mjs +0 -384
- package/fesm2015/ngxs-router-plugin.mjs.map +0 -1
- package/fesm2020/ngxs-router-plugin-internals.mjs +0 -17
- package/fesm2020/ngxs-router-plugin-internals.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/index.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/ngxs-router-plugin-internals.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/ngxs-router-plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/src/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/serializer.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngxs-router-plugin-internals.mjs +0 -0
- /package/{fesm2015 → fesm2022}/ngxs-router-plugin-internals.mjs.map +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public event api of the router
|
|
3
|
+
*/
|
|
4
|
+
export class Navigate {
|
|
5
|
+
static { this.type = '[Router] Navigate'; }
|
|
6
|
+
constructor(path, queryParams, extras) {
|
|
7
|
+
this.path = path;
|
|
8
|
+
this.queryParams = queryParams;
|
|
9
|
+
this.extras = extras;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* Angular Routers internal state events
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* An action dispatched when the router starts the navigation.
|
|
19
|
+
*/
|
|
20
|
+
export class RouterRequest {
|
|
21
|
+
static { this.type = '[Router] RouterRequest'; }
|
|
22
|
+
constructor(routerState, event, trigger = 'none') {
|
|
23
|
+
this.routerState = routerState;
|
|
24
|
+
this.event = event;
|
|
25
|
+
this.trigger = trigger;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An action dispatched when the router navigates.
|
|
30
|
+
*/
|
|
31
|
+
export class RouterNavigation {
|
|
32
|
+
static { this.type = '[Router] RouterNavigation'; }
|
|
33
|
+
constructor(routerState, event, trigger = 'none') {
|
|
34
|
+
this.routerState = routerState;
|
|
35
|
+
this.event = event;
|
|
36
|
+
this.trigger = trigger;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* An action dispatched when the router cancel navigation.
|
|
41
|
+
*/
|
|
42
|
+
export class RouterCancel {
|
|
43
|
+
static { this.type = '[Router] RouterCancel'; }
|
|
44
|
+
constructor(routerState, storeState, event, trigger = 'none') {
|
|
45
|
+
this.routerState = routerState;
|
|
46
|
+
this.storeState = storeState;
|
|
47
|
+
this.event = event;
|
|
48
|
+
this.trigger = trigger;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* An action dispatched when the router errors.
|
|
53
|
+
*/
|
|
54
|
+
export class RouterError {
|
|
55
|
+
static { this.type = '[Router] RouterError'; }
|
|
56
|
+
constructor(routerState, storeState, event, trigger = 'none') {
|
|
57
|
+
this.routerState = routerState;
|
|
58
|
+
this.storeState = storeState;
|
|
59
|
+
this.event = event;
|
|
60
|
+
this.trigger = trigger;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* An action dispatched when the `ResolveEnd` event is triggered.
|
|
65
|
+
*/
|
|
66
|
+
export class RouterDataResolved {
|
|
67
|
+
static { this.type = '[Router] RouterDataResolved'; }
|
|
68
|
+
constructor(routerState, event, trigger = 'none') {
|
|
69
|
+
this.routerState = routerState;
|
|
70
|
+
this.event = event;
|
|
71
|
+
this.trigger = trigger;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* An action dispatched when the router navigation has been finished successfully.
|
|
76
|
+
*/
|
|
77
|
+
export class RouterNavigated {
|
|
78
|
+
static { this.type = '[Router] RouterNavigated'; }
|
|
79
|
+
constructor(routerState, event, trigger = 'none') {
|
|
80
|
+
this.routerState = routerState;
|
|
81
|
+
this.event = event;
|
|
82
|
+
this.trigger = trigger;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yb3V0ZXItcGx1Z2luL3NyYy9yb3V0ZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO2FBQ0gsU0FBSSxHQUFHLG1CQUFtQixDQUFDO0lBRTNDLFlBQ1MsSUFBVyxFQUNYLFdBQW9CLEVBQ3BCLE1BQXlCO1FBRnpCLFNBQUksR0FBSixJQUFJLENBQU87UUFDWCxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUNwQixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUMvQixDQUFDOztBQUdOOzs7O0dBSUc7QUFFSDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO2FBQ1IsU0FBSSxHQUFHLHdCQUF3QixDQUFDO0lBRWhELFlBQ1MsV0FBYyxFQUNkLEtBQXNCLEVBQ3RCLFVBQXlCLE1BQU07UUFGL0IsZ0JBQVcsR0FBWCxXQUFXLENBQUc7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjthQUNYLFNBQUksR0FBRywyQkFBMkIsQ0FBQztJQUVuRCxZQUNTLFdBQWMsRUFDZCxLQUF1QixFQUN2QixVQUF5QixNQUFNO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFDckMsQ0FBQzs7QUFHTjs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO2FBQ1AsU0FBSSxHQUFHLHVCQUF1QixDQUFDO0lBRS9DLFlBQ1MsV0FBYyxFQUNkLFVBQWEsRUFDYixLQUF1QixFQUN2QixVQUF5QixNQUFNO1FBSC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBRztRQUNiLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQXdCO0lBQ3JDLENBQUM7O0FBR047O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVzthQUNOLFNBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUU5QyxZQUNTLFdBQWMsRUFDZCxVQUFhLEVBQ2IsS0FBc0IsRUFDdEIsVUFBeUIsTUFBTTtRQUgvQixnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUNkLGVBQVUsR0FBVixVQUFVLENBQUc7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjthQUNiLFNBQUksR0FBRyw2QkFBNkIsQ0FBQztJQUVyRCxZQUNTLFdBQWMsRUFDZCxLQUFpQixFQUNqQixVQUF5QixNQUFNO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUFHO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUNyQyxDQUFDOztBQUdOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7YUFDVixTQUFJLEdBQUcsMEJBQTBCLENBQUM7SUFFbEQsWUFDUyxXQUFjLEVBQ2QsS0FBb0IsRUFDcEIsVUFBeUIsTUFBTTtRQUYvQixnQkFBVyxHQUFYLFdBQVcsQ0FBRztRQUNkLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgUGFyYW1zLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBSb3V0ZXNSZWNvZ25pemVkLFxuICBSZXNvbHZlRW5kLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIE5hdmlnYXRpb25FbmRcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgUm91dGVyVHJpZ2dlciB9IGZyb20gJy4vcm91dGVyLnN0YXRlJztcblxuLyoqXG4gKiBQdWJsaWMgZXZlbnQgYXBpIG9mIHRoZSByb3V0ZXJcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gTmF2aWdhdGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXRoOiBhbnlbXSxcbiAgICBwdWJsaWMgcXVlcnlQYXJhbXM/OiBQYXJhbXMsXG4gICAgcHVibGljIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXNcbiAgKSB7fVxufVxuXG4vKipcbiAqXG4gKiBBbmd1bGFyIFJvdXRlcnMgaW50ZXJuYWwgc3RhdGUgZXZlbnRzXG4gKlxuICovXG5cbi8qKlxuICogQW4gYWN0aW9uIGRpc3BhdGNoZWQgd2hlbiB0aGUgcm91dGVyIHN0YXJ0cyB0aGUgbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlclJlcXVlc3Q8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyUmVxdWVzdCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJvdXRlclN0YXRlOiBULFxuICAgIHB1YmxpYyBldmVudDogTmF2aWdhdGlvblN0YXJ0LFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgbmF2aWdhdGVzLlxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyTmF2aWdhdGlvbjxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJOYXZpZ2F0aW9uJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyU3RhdGU6IFQsXG4gICAgcHVibGljIGV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkLFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgY2FuY2VsIG5hdmlnYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJDYW5jZWw8VCwgViA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyQ2FuY2VsJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyU3RhdGU6IFYsXG4gICAgcHVibGljIHN0b3JlU3RhdGU6IFQsXG4gICAgcHVibGljIGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsLFxuICAgIHB1YmxpYyB0cmlnZ2VyOiBSb3V0ZXJUcmlnZ2VyID0gJ25vbmUnXG4gICkge31cbn1cblxuLyoqXG4gKiBBbiBhY3Rpb24gZGlzcGF0Y2hlZCB3aGVuIHRoZSByb3V0ZXIgZXJyb3JzLlxuICovXG5leHBvcnQgY2xhc3MgUm91dGVyRXJyb3I8VCwgViA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnW1JvdXRlcl0gUm91dGVyRXJyb3InO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVixcbiAgICBwdWJsaWMgc3RvcmVTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IE5hdmlnYXRpb25FcnJvcixcbiAgICBwdWJsaWMgdHJpZ2dlcjogUm91dGVyVHJpZ2dlciA9ICdub25lJ1xuICApIHt9XG59XG5cbi8qKlxuICogQW4gYWN0aW9uIGRpc3BhdGNoZWQgd2hlbiB0aGUgYFJlc29sdmVFbmRgIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlckRhdGFSZXNvbHZlZDxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJEYXRhUmVzb2x2ZWQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IFJlc29sdmVFbmQsXG4gICAgcHVibGljIHRyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIGFjdGlvbiBkaXNwYXRjaGVkIHdoZW4gdGhlIHJvdXRlciBuYXZpZ2F0aW9uIGhhcyBiZWVuIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlck5hdmlnYXRlZDxUID0gUm91dGVyU3RhdGVTbmFwc2hvdD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdbUm91dGVyXSBSb3V0ZXJOYXZpZ2F0ZWQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXJTdGF0ZTogVCxcbiAgICBwdWJsaWMgZXZlbnQ6IE5hdmlnYXRpb25FbmQsXG4gICAgcHVibGljIHRyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSdcbiAgKSB7fVxufVxuXG4vKipcbiAqIEFuIHVuaW9uIHR5cGUgb2Ygcm91dGVyIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckFjdGlvbjxULCBWID0gUm91dGVyU3RhdGVTbmFwc2hvdD4gPVxuICB8IFJvdXRlclJlcXVlc3Q8Vj5cbiAgfCBSb3V0ZXJOYXZpZ2F0aW9uPFY+XG4gIHwgUm91dGVyQ2FuY2VsPFQsIFY+XG4gIHwgUm91dGVyRXJyb3I8VCwgVj5cbiAgfCBSb3V0ZXJEYXRhUmVzb2x2ZWQ8Vj5cbiAgfCBSb3V0ZXJOYXZpZ2F0ZWQ8Vj47XG4iXX0=
|
|
@@ -20,11 +20,11 @@ export class NgxsRouterPluginModule {
|
|
|
20
20
|
]
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] }); }
|
|
25
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] }); }
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
/** @nocollapse */ NgxsRouterPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] });
|
|
26
|
-
/** @nocollapse */ NgxsRouterPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
28
28
|
type: NgModule,
|
|
29
29
|
args: [{
|
|
30
30
|
imports: [NgxsModule.forFeature([RouterState])]
|
|
@@ -42,4 +42,4 @@ export function withNgxsRouterPlugin(options) {
|
|
|
42
42
|
{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }
|
|
43
43
|
]);
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JvdXRlci1wbHVnaW4vc3JjL3JvdXRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFFBQVEsRUFDUix3QkFBd0IsRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUVMLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNkLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS25GLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FDWixPQUFpQztRQUVqQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7Z0JBQzdDO29CQUNFLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFVBQVUsRUFBRSwwQkFBMEI7b0JBQ3RDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDdEI7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO2FBQzNFO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBaEJVLHNCQUFzQjtrSUFBdEIsc0JBQXNCO2tJQUF0QixzQkFBc0IsWUFGdkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzsyRkFFbkMsc0JBQXNCO2tCQUhsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2lCQUNoRDs7QUFvQkQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWlDO0lBQ3BFLE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsYUFBYSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDN0M7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFVBQVUsRUFBRSwwQkFBMEI7WUFDdEMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ3RCO1FBQ0QsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFO0tBQzNFLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVyc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neHNNb2R1bGUsIHByb3ZpZGVTdGF0ZXMgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQge1xuICBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyxcbiAgybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLFxuICDJtVVTRVJfT1BUSU9OU1xufSBmcm9tICdAbmd4cy9yb3V0ZXItcGx1Z2luL2ludGVybmFscyc7XG5cbmltcG9ydCB7IFJvdXRlclN0YXRlIH0gZnJvbSAnLi9yb3V0ZXIuc3RhdGUnO1xuaW1wb3J0IHsgRGVmYXVsdFJvdXRlclN0YXRlU2VyaWFsaXplciwgUm91dGVyU3RhdGVTZXJpYWxpemVyIH0gZnJvbSAnLi9zZXJpYWxpemVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW05neHNNb2R1bGUuZm9yRmVhdHVyZShbUm91dGVyU3RhdGVdKV1cbn0pXG5leHBvcnQgY2xhc3MgTmd4c1JvdXRlclBsdWdpbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIG9wdGlvbnM/OiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9uc1xuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNSb3V0ZXJQbHVnaW5Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiDJtVVTRVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IMm1TkdYU19ST1VURVJfUExVR0lOX09QVElPTlMsXG4gICAgICAgICAgdXNlRmFjdG9yeTogybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICAgICAgICAgIGRlcHM6IFvJtVVTRVJfT1BUSU9OU11cbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIsIHVzZUNsYXNzOiBEZWZhdWx0Um91dGVyU3RhdGVTZXJpYWxpemVyIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTmd4c1JvdXRlclBsdWdpbihvcHRpb25zPzogTmd4c1JvdXRlclBsdWdpbk9wdGlvbnMpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHByb3ZpZGVTdGF0ZXMoW1JvdXRlclN0YXRlXSksXG4gICAgeyBwcm92aWRlOiDJtVVTRVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLFxuICAgICAgdXNlRmFjdG9yeTogybVjcmVhdGVSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICAgICAgZGVwczogW8m1VVNFUl9PUFRJT05TXVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIsIHVzZUNsYXNzOiBEZWZhdWx0Um91dGVyU3RhdGVTZXJpYWxpemVyIH1cbiAgXSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
var RouterState_1;
|
|
2
|
+
import { __decorate, __metadata } from "tslib";
|
|
3
|
+
import { NgZone, Injectable, Injector } from '@angular/core';
|
|
4
|
+
import { NavigationCancel, NavigationError, Router, RoutesRecognized, ResolveEnd, NavigationStart, NavigationEnd } from '@angular/router';
|
|
5
|
+
import { Action, Selector, State, Store } from '@ngxs/store';
|
|
6
|
+
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS } from '@ngxs/router-plugin/internals';
|
|
7
|
+
import { ReplaySubject } from 'rxjs';
|
|
8
|
+
import { takeUntil } from 'rxjs/operators';
|
|
9
|
+
import { Navigate, RouterCancel, RouterError, RouterNavigation, RouterDataResolved, RouterRequest, RouterNavigated } from './router.actions';
|
|
10
|
+
import { RouterStateSerializer } from './serializer';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@ngxs/store";
|
|
13
|
+
import * as i2 from "@angular/router";
|
|
14
|
+
import * as i3 from "./serializer";
|
|
15
|
+
let RouterState = class RouterState {
|
|
16
|
+
static { RouterState_1 = this; }
|
|
17
|
+
static state(state) {
|
|
18
|
+
return state && state.state;
|
|
19
|
+
}
|
|
20
|
+
static url(state) {
|
|
21
|
+
return state && state.state && state.state.url;
|
|
22
|
+
}
|
|
23
|
+
constructor(_store, _router, _serializer, _ngZone, injector) {
|
|
24
|
+
this._store = _store;
|
|
25
|
+
this._router = _router;
|
|
26
|
+
this._serializer = _serializer;
|
|
27
|
+
this._ngZone = _ngZone;
|
|
28
|
+
/**
|
|
29
|
+
* Determines how navigation was performed by the `RouterState` itself
|
|
30
|
+
* or outside via `new Navigate(...)`
|
|
31
|
+
*/
|
|
32
|
+
this._trigger = 'none';
|
|
33
|
+
/**
|
|
34
|
+
* That's the serialized state from the `Router` class
|
|
35
|
+
*/
|
|
36
|
+
this._routerState = null;
|
|
37
|
+
/**
|
|
38
|
+
* That's the value of the `RouterState` state
|
|
39
|
+
*/
|
|
40
|
+
this._storeState = null;
|
|
41
|
+
this._lastEvent = null;
|
|
42
|
+
this._options = null;
|
|
43
|
+
this._destroy$ = new ReplaySubject(1);
|
|
44
|
+
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
45
|
+
// integration, it cannot resolve the token provider.
|
|
46
|
+
this._options = injector.get(ɵNGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
47
|
+
this._setUpStoreListener();
|
|
48
|
+
this._setUpRouterEventsListener();
|
|
49
|
+
}
|
|
50
|
+
ngOnDestroy() {
|
|
51
|
+
this._destroy$.next();
|
|
52
|
+
}
|
|
53
|
+
navigate(_, action) {
|
|
54
|
+
return this._ngZone.run(() => this._router.navigate(action.path, {
|
|
55
|
+
queryParams: action.queryParams,
|
|
56
|
+
...action.extras
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
angularRouterAction(ctx, action) {
|
|
60
|
+
ctx.setState({
|
|
61
|
+
trigger: action.trigger,
|
|
62
|
+
state: action.routerState,
|
|
63
|
+
navigationId: action.event.id
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
_setUpStoreListener() {
|
|
67
|
+
const routerState$ = this._store.select(RouterState_1).pipe(takeUntil(this._destroy$));
|
|
68
|
+
routerState$.subscribe((state) => {
|
|
69
|
+
this._navigateIfNeeded(state);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
_navigateIfNeeded(routerState) {
|
|
73
|
+
if (routerState && routerState.trigger === 'devtools') {
|
|
74
|
+
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
75
|
+
}
|
|
76
|
+
const canSkipNavigation = !this._storeState ||
|
|
77
|
+
!this._storeState.state ||
|
|
78
|
+
!routerState ||
|
|
79
|
+
routerState.trigger === 'router' ||
|
|
80
|
+
this._router.url === this._storeState.state.url ||
|
|
81
|
+
this._lastEvent instanceof NavigationStart;
|
|
82
|
+
if (canSkipNavigation) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
86
|
+
this._trigger = 'store';
|
|
87
|
+
this._ngZone.run(() => this._router.navigateByUrl(this._storeState.state.url));
|
|
88
|
+
}
|
|
89
|
+
_setUpRouterEventsListener() {
|
|
90
|
+
const dispatchRouterNavigationLate = this._options != null &&
|
|
91
|
+
this._options.navigationActionTiming === 2 /* NavigationActionTiming.PostActivation */;
|
|
92
|
+
let lastRoutesRecognized;
|
|
93
|
+
const events$ = this._router.events.pipe(takeUntil(this._destroy$));
|
|
94
|
+
events$.subscribe(event => {
|
|
95
|
+
this._lastEvent = event;
|
|
96
|
+
if (event instanceof NavigationStart) {
|
|
97
|
+
this._navigationStart(event);
|
|
98
|
+
}
|
|
99
|
+
else if (event instanceof RoutesRecognized) {
|
|
100
|
+
lastRoutesRecognized = event;
|
|
101
|
+
if (!dispatchRouterNavigationLate && this._trigger !== 'store') {
|
|
102
|
+
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (event instanceof ResolveEnd) {
|
|
106
|
+
this._dispatchRouterDataResolved(event);
|
|
107
|
+
}
|
|
108
|
+
else if (event instanceof NavigationCancel) {
|
|
109
|
+
this._dispatchRouterCancel(event);
|
|
110
|
+
this._reset();
|
|
111
|
+
}
|
|
112
|
+
else if (event instanceof NavigationError) {
|
|
113
|
+
this._dispatchRouterError(event);
|
|
114
|
+
this._reset();
|
|
115
|
+
}
|
|
116
|
+
else if (event instanceof NavigationEnd) {
|
|
117
|
+
if (this._trigger !== 'store') {
|
|
118
|
+
if (dispatchRouterNavigationLate) {
|
|
119
|
+
this._dispatchRouterNavigation(lastRoutesRecognized);
|
|
120
|
+
}
|
|
121
|
+
this._dispatchRouterNavigated(event);
|
|
122
|
+
}
|
|
123
|
+
this._reset();
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/** Reacts to `NavigationStart`. */
|
|
128
|
+
_navigationStart(event) {
|
|
129
|
+
this._routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
130
|
+
if (this._trigger !== 'none') {
|
|
131
|
+
this._storeState = this._store.selectSnapshot(RouterState_1);
|
|
132
|
+
this._dispatchRouterAction(new RouterRequest(this._routerState, event, this._trigger));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** Reacts to `ResolveEnd`. */
|
|
136
|
+
_dispatchRouterDataResolved(event) {
|
|
137
|
+
const routerState = this._serializer.serialize(event.state);
|
|
138
|
+
this._dispatchRouterAction(new RouterDataResolved(routerState, event, this._trigger));
|
|
139
|
+
}
|
|
140
|
+
/** Reacts to `RoutesRecognized` or `NavigationEnd`, depends on the `navigationActionTiming`. */
|
|
141
|
+
_dispatchRouterNavigation(lastRoutesRecognized) {
|
|
142
|
+
const nextRouterState = this._serializer.serialize(lastRoutesRecognized.state);
|
|
143
|
+
this._dispatchRouterAction(new RouterNavigation(nextRouterState, new RoutesRecognized(lastRoutesRecognized.id, lastRoutesRecognized.url, lastRoutesRecognized.urlAfterRedirects, nextRouterState), this._trigger));
|
|
144
|
+
}
|
|
145
|
+
/** Reacts to `NavigationCancel`. */
|
|
146
|
+
_dispatchRouterCancel(event) {
|
|
147
|
+
this._dispatchRouterAction(new RouterCancel(this._routerState, this._storeState, event, this._trigger));
|
|
148
|
+
}
|
|
149
|
+
/** Reacts to `NavigationEnd`. */
|
|
150
|
+
_dispatchRouterError(event) {
|
|
151
|
+
this._dispatchRouterAction(new RouterError(this._routerState, this._storeState, new NavigationError(event.id, event.url, `${event}`), this._trigger));
|
|
152
|
+
}
|
|
153
|
+
/** Reacts to `NavigationEnd`. */
|
|
154
|
+
_dispatchRouterNavigated(event) {
|
|
155
|
+
const routerState = this._serializer.serialize(this._router.routerState.snapshot);
|
|
156
|
+
this._dispatchRouterAction(new RouterNavigated(routerState, event, this._trigger));
|
|
157
|
+
}
|
|
158
|
+
_dispatchRouterAction(action) {
|
|
159
|
+
this._trigger = 'router';
|
|
160
|
+
try {
|
|
161
|
+
this._store.dispatch(action);
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
this._trigger = 'none';
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
_reset() {
|
|
168
|
+
this._trigger = 'none';
|
|
169
|
+
this._storeState = null;
|
|
170
|
+
this._routerState = null;
|
|
171
|
+
}
|
|
172
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i3.RouterStateSerializer }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
173
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState }); }
|
|
174
|
+
};
|
|
175
|
+
__decorate([
|
|
176
|
+
Action(Navigate),
|
|
177
|
+
__metadata("design:type", Function),
|
|
178
|
+
__metadata("design:paramtypes", [Object, Navigate]),
|
|
179
|
+
__metadata("design:returntype", void 0)
|
|
180
|
+
], RouterState.prototype, "navigate", null);
|
|
181
|
+
__decorate([
|
|
182
|
+
Action([
|
|
183
|
+
RouterRequest,
|
|
184
|
+
RouterNavigation,
|
|
185
|
+
RouterError,
|
|
186
|
+
RouterCancel,
|
|
187
|
+
RouterDataResolved,
|
|
188
|
+
RouterNavigated
|
|
189
|
+
]),
|
|
190
|
+
__metadata("design:type", Function),
|
|
191
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
192
|
+
__metadata("design:returntype", void 0)
|
|
193
|
+
], RouterState.prototype, "angularRouterAction", null);
|
|
194
|
+
__decorate([
|
|
195
|
+
Selector(),
|
|
196
|
+
__metadata("design:type", Function),
|
|
197
|
+
__metadata("design:paramtypes", [Object]),
|
|
198
|
+
__metadata("design:returntype", void 0)
|
|
199
|
+
], RouterState, "state", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
Selector(),
|
|
202
|
+
__metadata("design:type", Function),
|
|
203
|
+
__metadata("design:paramtypes", [Object]),
|
|
204
|
+
__metadata("design:returntype", Object)
|
|
205
|
+
], RouterState, "url", null);
|
|
206
|
+
RouterState = RouterState_1 = __decorate([
|
|
207
|
+
State({
|
|
208
|
+
name: 'router',
|
|
209
|
+
defaults: {
|
|
210
|
+
state: undefined,
|
|
211
|
+
navigationId: undefined,
|
|
212
|
+
trigger: 'none'
|
|
213
|
+
}
|
|
214
|
+
}),
|
|
215
|
+
__metadata("design:paramtypes", [Store,
|
|
216
|
+
Router,
|
|
217
|
+
RouterStateSerializer,
|
|
218
|
+
NgZone,
|
|
219
|
+
Injector])
|
|
220
|
+
], RouterState);
|
|
221
|
+
export { RouterState };
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState, decorators: [{
|
|
223
|
+
type: Injectable
|
|
224
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i3.RouterStateSerializer }, { type: i0.NgZone }, { type: i0.Injector }], propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcm91dGVyLXBsdWdpbi9zcmMvcm91dGVyLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGVBQWUsRUFDZixhQUFhLEVBRWQsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWdCLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBR0wsMkJBQTJCLEVBQzVCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUNMLFFBQVEsRUFFUixZQUFZLEVBQ1osV0FBVyxFQUNYLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBd0I5QyxJQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXOztJQXdCZixBQUFQLE1BQU0sQ0FBQyxLQUFLLENBQTBCLEtBQTBCO1FBQzlELE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUdNLEFBQVAsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUF1QjtRQUNoQyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FB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LE1BQU07UUFDYixRQUFRO0dBdENULFdBQVcsQ0E2TnZCOzsyRkE3TlksV0FBVztrQkFEdkIsVUFBVTsrS0FxRFQsUUFBUSxNQWlCUixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUsIEluamVjdGFibGUsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICBSb3V0ZXNSZWNvZ25pemVkLFxuICBSZXNvbHZlRW5kLFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIE5hdmlnYXRpb25FbmQsXG4gIEV2ZW50XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb24sIFNlbGVjdG9yLCBTdGF0ZSwgU3RhdGVDb250ZXh0LCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25BY3Rpb25UaW1pbmcsXG4gIE5neHNSb3V0ZXJQbHVnaW5PcHRpb25zLFxuICDJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TXG59IGZyb20gJ0BuZ3hzL3JvdXRlci1wbHVnaW4vaW50ZXJuYWxzJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgTmF2aWdhdGUsXG4gIFJvdXRlckFjdGlvbixcbiAgUm91dGVyQ2FuY2VsLFxuICBSb3V0ZXJFcnJvcixcbiAgUm91dGVyTmF2aWdhdGlvbixcbiAgUm91dGVyRGF0YVJlc29sdmVkLFxuICBSb3V0ZXJSZXF1ZXN0LFxuICBSb3V0ZXJOYXZpZ2F0ZWRcbn0gZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZVNlcmlhbGl6ZXIgfSBmcm9tICcuL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlclN0YXRlTW9kZWw8VCA9IFJvdXRlclN0YXRlU25hcHNob3Q+IHtcbiAgc3RhdGU/OiBUO1xuICBuYXZpZ2F0aW9uSWQ/OiBudW1iZXI7XG4gIHRyaWdnZXI6IFJvdXRlclRyaWdnZXI7XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlclRyaWdnZXIgPVxuICB8ICdub25lJ1xuICB8ICdyb3V0ZXInXG4gIHwgJ3N0b3JlJ1xuICAvLyBUaGUgYGRldnRvb2xzYCB0cmlnZ2VyIG1lYW5zIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBoYXMgYmVlbiB0cmlnZ2VyZWQgYnkgUmVkdXggRGV2VG9vbHMgKGUuZy4gd2hlbiB0aGUgdGltZS10cmF2ZWxpbmcgaXMgdXNlZCkuXG4gIHwgJ2RldnRvb2xzJztcblxuQFN0YXRlPFJvdXRlclN0YXRlTW9kZWw+KHtcbiAgbmFtZTogJ3JvdXRlcicsXG4gIGRlZmF1bHRzOiB7XG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcbiAgICBuYXZpZ2F0aW9uSWQ6IHVuZGVmaW5lZCxcbiAgICB0cmlnZ2VyOiAnbm9uZSdcbiAgfVxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTdGF0ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGhvdyBuYXZpZ2F0aW9uIHdhcyBwZXJmb3JtZWQgYnkgdGhlIGBSb3V0ZXJTdGF0ZWAgaXRzZWxmXG4gICAqIG9yIG91dHNpZGUgdmlhIGBuZXcgTmF2aWdhdGUoLi4uKWBcbiAgICovXG4gIHByaXZhdGUgX3RyaWdnZXI6IFJvdXRlclRyaWdnZXIgPSAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIFRoYXQncyB0aGUgc2VyaWFsaXplZCBzdGF0ZSBmcm9tIHRoZSBgUm91dGVyYCBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSBfcm91dGVyU3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogVGhhdCdzIHRoZSB2YWx1ZSBvZiB0aGUgYFJvdXRlclN0YXRlYCBzdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3RvcmVTdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2xhc3RFdmVudDogRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9vcHRpb25zOiBOZ3hzUm91dGVyUGx1Z2luT3B0aW9ucyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oMSk7XG5cbiAgQFNlbGVjdG9yKClcbiAgc3RhdGljIHN0YXRlPFQgPSBSb3V0ZXJTdGF0ZVNuYXBzaG90PihzdGF0ZTogUm91dGVyU3RhdGVNb2RlbDxUPikge1xuICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5zdGF0ZTtcbiAgfVxuXG4gIEBTZWxlY3RvcigpXG4gIHN0YXRpYyB1cmwoc3RhdGU6IFJvdXRlclN0YXRlTW9kZWwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5zdGF0ZSAmJiBzdGF0ZS5zdGF0ZS51cmw7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfc2VyaWFsaXplcjogUm91dGVyU3RhdGVTZXJpYWxpemVyPFJvdXRlclN0YXRlU25hcHNob3Q+LFxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICAvLyBOb3RlOiBkbyBub3QgdXNlIGBASW5qZWN0YCBzaW5jZSBpdCBmYWlscyBvbiBsb3dlciB2ZXJzaW9ucyBvZiBBbmd1bGFyIHdpdGggSmVzdFxuICAgIC8vIGludGVncmF0aW9uLCBpdCBjYW5ub3QgcmVzb2x2ZSB0aGUgdG9rZW4gcHJvdmlkZXIuXG4gICAgdGhpcy5fb3B0aW9ucyA9IGluamVjdG9yLmdldCjJtU5HWFNfUk9VVEVSX1BMVUdJTl9PUFRJT05TLCBudWxsKTtcbiAgICB0aGlzLl9zZXRVcFN0b3JlTGlzdGVuZXIoKTtcbiAgICB0aGlzLl9zZXRVcFJvdXRlckV2ZW50c0xpc3RlbmVyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBAQWN0aW9uKE5hdmlnYXRlKVxuICBuYXZpZ2F0ZShfOiBTdGF0ZUNvbnRleHQ8Um91dGVyU3RhdGVNb2RlbD4sIGFjdGlvbjogTmF2aWdhdGUpIHtcbiAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bigoKSA9PlxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGFjdGlvbi5wYXRoLCB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBhY3Rpb24ucXVlcnlQYXJhbXMsXG4gICAgICAgIC4uLmFjdGlvbi5leHRyYXNcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIEBBY3Rpb24oW1xuICAgIFJvdXRlclJlcXVlc3QsXG4gICAgUm91dGVyTmF2aWdhdGlvbixcbiAgICBSb3V0ZXJFcnJvcixcbiAgICBSb3V0ZXJDYW5jZWwsXG4gICAgUm91dGVyRGF0YVJlc29sdmVkLFxuICAgIFJvdXRlck5hdmlnYXRlZFxuICBdKVxuICBhbmd1bGFyUm91dGVyQWN0aW9uKFxuICAgIGN0eDogU3RhdGVDb250ZXh0PFJvdXRlclN0YXRlTW9kZWw+LFxuICAgIGFjdGlvbjogUm91dGVyQWN0aW9uPFJvdXRlclN0YXRlTW9kZWwsIFJvdXRlclN0YXRlU25hcHNob3Q+XG4gICk6IHZvaWQge1xuICAgIGN0eC5zZXRTdGF0ZSh7XG4gICAgICB0cmlnZ2VyOiBhY3Rpb24udHJpZ2dlcixcbiAgICAgIHN0YXRlOiBhY3Rpb24ucm91dGVyU3RhdGUsXG4gICAgICBuYXZpZ2F0aW9uSWQ6IGFjdGlvbi5ldmVudC5pZFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VXBTdG9yZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlJCA9IHRoaXMuX3N0b3JlLnNlbGVjdChSb3V0ZXJTdGF0ZSkucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKTtcbiAgICByb3V0ZXJTdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZTogUm91dGVyU3RhdGVNb2RlbCB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgdGhpcy5fbmF2aWdhdGVJZk5lZWRlZChzdGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0ZUlmTmVlZGVkKHJvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZU1vZGVsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHJvdXRlclN0YXRlICYmIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdkZXZ0b29scycpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FuU2tpcE5hdmlnYXRpb24gPVxuICAgICAgIXRoaXMuX3N0b3JlU3RhdGUgfHxcbiAgICAgICF0aGlzLl9zdG9yZVN0YXRlLnN0YXRlIHx8XG4gICAgICAhcm91dGVyU3RhdGUgfHxcbiAgICAgIHJvdXRlclN0YXRlLnRyaWdnZXIgPT09ICdyb3V0ZXInIHx8XG4gICAgICB0aGlzLl9yb3V0ZXIudXJsID09PSB0aGlzLl9zdG9yZVN0YXRlLnN0YXRlLnVybCB8fFxuICAgICAgdGhpcy5fbGFzdEV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuXG4gICAgaWYgKGNhblNraXBOYXZpZ2F0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RvcmVTdGF0ZSA9IHRoaXMuX3N0b3JlLnNlbGVjdFNuYXBzaG90KFJvdXRlclN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyID0gJ3N0b3JlJztcbiAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuX3N0b3JlU3RhdGUhLnN0YXRlIS51cmwpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFVwUm91dGVyRXZlbnRzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgY29uc3QgZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSA9XG4gICAgICB0aGlzLl9vcHRpb25zICE9IG51bGwgJiZcbiAgICAgIHRoaXMuX29wdGlvbnMubmF2aWdhdGlvbkFjdGlvblRpbWluZyA9PT0gTmF2aWdhdGlvbkFjdGlvblRpbWluZy5Qb3N0QWN0aXZhdGlvbjtcblxuICAgIGxldCBsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZDtcblxuICAgIGNvbnN0IGV2ZW50cyQgPSB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSk7XG4gICAgZXZlbnRzJC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgdGhpcy5fbGFzdEV2ZW50ID0gZXZlbnQ7XG5cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uU3RhcnQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlc1JlY29nbml6ZWQpIHtcbiAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQgPSBldmVudDtcbiAgICAgICAgaWYgKCFkaXNwYXRjaFJvdXRlck5hdmlnYXRpb25MYXRlICYmIHRoaXMuX3RyaWdnZXIgIT09ICdzdG9yZScpIHtcbiAgICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlck5hdmlnYXRpb24obGFzdFJvdXRlc1JlY29nbml6ZWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgUmVzb2x2ZUVuZCkge1xuICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckRhdGFSZXNvbHZlZChldmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCkge1xuICAgICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudCk7XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyRXJyb3IoZXZlbnQpO1xuICAgICAgICB0aGlzLl9yZXNldCgpO1xuICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RyaWdnZXIgIT09ICdzdG9yZScpIHtcbiAgICAgICAgICBpZiAoZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uTGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0aW9uKGxhc3RSb3V0ZXNSZWNvZ25pemVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0ZWQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uU3RhcnRgLiAqL1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uU3RhcnQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlclN0YXRlID0gdGhpcy5fc2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fcm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90KTtcblxuICAgIGlmICh0aGlzLl90cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMuX3N0b3JlU3RhdGUgPSB0aGlzLl9zdG9yZS5zZWxlY3RTbmFwc2hvdChSb3V0ZXJTdGF0ZSk7XG4gICAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyUmVxdWVzdCh0aGlzLl9yb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBSZXNvbHZlRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJEYXRhUmVzb2x2ZWQoZXZlbnQ6IFJlc29sdmVFbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGV2ZW50LnN0YXRlKTtcbiAgICB0aGlzLl9kaXNwYXRjaFJvdXRlckFjdGlvbihuZXcgUm91dGVyRGF0YVJlc29sdmVkKHJvdXRlclN0YXRlLCBldmVudCwgdGhpcy5fdHJpZ2dlcikpO1xuICB9XG5cbiAgLyoqIFJlYWN0cyB0byBgUm91dGVzUmVjb2duaXplZGAgb3IgYE5hdmlnYXRpb25FbmRgLCBkZXBlbmRzIG9uIHRoZSBgbmF2aWdhdGlvbkFjdGlvblRpbWluZ2AuICovXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyTmF2aWdhdGlvbihsYXN0Um91dGVzUmVjb2duaXplZDogUm91dGVzUmVjb2duaXplZCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRSb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKGxhc3RSb3V0ZXNSZWNvZ25pemVkLnN0YXRlKTtcblxuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlck5hdmlnYXRpb24oXG4gICAgICAgIG5leHRSb3V0ZXJTdGF0ZSxcbiAgICAgICAgbmV3IFJvdXRlc1JlY29nbml6ZWQoXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQuaWQsXG4gICAgICAgICAgbGFzdFJvdXRlc1JlY29nbml6ZWQudXJsLFxuICAgICAgICAgIGxhc3RSb3V0ZXNSZWNvZ25pemVkLnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgIG5leHRSb3V0ZXJTdGF0ZVxuICAgICAgICApLFxuICAgICAgICB0aGlzLl90cmlnZ2VyXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBSZWFjdHMgdG8gYE5hdmlnYXRpb25DYW5jZWxgLiAqL1xuICBwcml2YXRlIF9kaXNwYXRjaFJvdXRlckNhbmNlbChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BhdGNoUm91dGVyQWN0aW9uKFxuICAgICAgbmV3IFJvdXRlckNhbmNlbCh0aGlzLl9yb3V0ZXJTdGF0ZSEsIHRoaXMuX3N0b3JlU3RhdGUsIGV2ZW50LCB0aGlzLl90cmlnZ2VyKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24oXG4gICAgICBuZXcgUm91dGVyRXJyb3IoXG4gICAgICAgIHRoaXMuX3JvdXRlclN0YXRlISxcbiAgICAgICAgdGhpcy5fc3RvcmVTdGF0ZSxcbiAgICAgICAgbmV3IE5hdmlnYXRpb25FcnJvcihldmVudC5pZCwgZXZlbnQudXJsLCBgJHtldmVudH1gKSxcbiAgICAgICAgdGhpcy5fdHJpZ2dlclxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKiogUmVhY3RzIHRvIGBOYXZpZ2F0aW9uRW5kYC4gKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hSb3V0ZXJOYXZpZ2F0ZWQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZSA9IHRoaXMuX3NlcmlhbGl6ZXIuc2VyaWFsaXplKHRoaXMuX3JvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCk7XG4gICAgdGhpcy5fZGlzcGF0Y2hSb3V0ZXJBY3Rpb24obmV3IFJvdXRlck5hdmlnYXRlZChyb3V0ZXJTdGF0ZSwgZXZlbnQsIHRoaXMuX3RyaWdnZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoUm91dGVyQWN0aW9uPFQ+KGFjdGlvbjogUm91dGVyQWN0aW9uPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdyb3V0ZXInO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGFjdGlvbik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX3RyaWdnZXIgPSAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlciA9ICdub25lJztcbiAgICB0aGlzLl9zdG9yZVN0YXRlID0gbnVsbDtcbiAgICB0aGlzLl9yb3V0ZXJTdGF0ZSA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { NgZone, Injector, Injectable, NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
3
3
|
import * as i1 from '@ngxs/store';
|
|
4
4
|
import { Action, Selector, State, Store, NgxsModule, provideStates } from '@ngxs/store';
|
|
5
|
-
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS, ɵcreateRouterPluginOptions } from '@ngxs/router-plugin/internals';
|
|
5
|
+
import { ɵNGXS_ROUTER_PLUGIN_OPTIONS as _NGXS_ROUTER_PLUGIN_OPTIONS, ɵUSER_OPTIONS as _USER_OPTIONS, ɵcreateRouterPluginOptions as _createRouterPluginOptions } from '@ngxs/router-plugin/internals';
|
|
6
6
|
import { __decorate, __metadata } from 'tslib';
|
|
7
7
|
import * as i2 from '@angular/router';
|
|
8
8
|
import { NavigationStart, RoutesRecognized, ResolveEnd, NavigationCancel, NavigationError, NavigationEnd, Router } from '@angular/router';
|
|
@@ -13,13 +13,13 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
13
13
|
* Public event api of the router
|
|
14
14
|
*/
|
|
15
15
|
class Navigate {
|
|
16
|
+
static { this.type = '[Router] Navigate'; }
|
|
16
17
|
constructor(path, queryParams, extras) {
|
|
17
18
|
this.path = path;
|
|
18
19
|
this.queryParams = queryParams;
|
|
19
20
|
this.extras = extras;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
Navigate.type = '[Router] Navigate';
|
|
23
23
|
/**
|
|
24
24
|
*
|
|
25
25
|
* Angular Routers internal state events
|
|
@@ -29,28 +29,29 @@ Navigate.type = '[Router] Navigate';
|
|
|
29
29
|
* An action dispatched when the router starts the navigation.
|
|
30
30
|
*/
|
|
31
31
|
class RouterRequest {
|
|
32
|
+
static { this.type = '[Router] RouterRequest'; }
|
|
32
33
|
constructor(routerState, event, trigger = 'none') {
|
|
33
34
|
this.routerState = routerState;
|
|
34
35
|
this.event = event;
|
|
35
36
|
this.trigger = trigger;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
RouterRequest.type = '[Router] RouterRequest';
|
|
39
39
|
/**
|
|
40
40
|
* An action dispatched when the router navigates.
|
|
41
41
|
*/
|
|
42
42
|
class RouterNavigation {
|
|
43
|
+
static { this.type = '[Router] RouterNavigation'; }
|
|
43
44
|
constructor(routerState, event, trigger = 'none') {
|
|
44
45
|
this.routerState = routerState;
|
|
45
46
|
this.event = event;
|
|
46
47
|
this.trigger = trigger;
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
RouterNavigation.type = '[Router] RouterNavigation';
|
|
50
50
|
/**
|
|
51
51
|
* An action dispatched when the router cancel navigation.
|
|
52
52
|
*/
|
|
53
53
|
class RouterCancel {
|
|
54
|
+
static { this.type = '[Router] RouterCancel'; }
|
|
54
55
|
constructor(routerState, storeState, event, trigger = 'none') {
|
|
55
56
|
this.routerState = routerState;
|
|
56
57
|
this.storeState = storeState;
|
|
@@ -58,11 +59,11 @@ class RouterCancel {
|
|
|
58
59
|
this.trigger = trigger;
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
|
-
RouterCancel.type = '[Router] RouterCancel';
|
|
62
62
|
/**
|
|
63
63
|
* An action dispatched when the router errors.
|
|
64
64
|
*/
|
|
65
65
|
class RouterError {
|
|
66
|
+
static { this.type = '[Router] RouterError'; }
|
|
66
67
|
constructor(routerState, storeState, event, trigger = 'none') {
|
|
67
68
|
this.routerState = routerState;
|
|
68
69
|
this.storeState = storeState;
|
|
@@ -70,29 +71,28 @@ class RouterError {
|
|
|
70
71
|
this.trigger = trigger;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
|
-
RouterError.type = '[Router] RouterError';
|
|
74
74
|
/**
|
|
75
75
|
* An action dispatched when the `ResolveEnd` event is triggered.
|
|
76
76
|
*/
|
|
77
77
|
class RouterDataResolved {
|
|
78
|
+
static { this.type = '[Router] RouterDataResolved'; }
|
|
78
79
|
constructor(routerState, event, trigger = 'none') {
|
|
79
80
|
this.routerState = routerState;
|
|
80
81
|
this.event = event;
|
|
81
82
|
this.trigger = trigger;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
|
-
RouterDataResolved.type = '[Router] RouterDataResolved';
|
|
85
85
|
/**
|
|
86
86
|
* An action dispatched when the router navigation has been finished successfully.
|
|
87
87
|
*/
|
|
88
88
|
class RouterNavigated {
|
|
89
|
+
static { this.type = '[Router] RouterNavigated'; }
|
|
89
90
|
constructor(routerState, event, trigger = 'none') {
|
|
90
91
|
this.routerState = routerState;
|
|
91
92
|
this.event = event;
|
|
92
93
|
this.trigger = trigger;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
RouterNavigated.type = '[Router] RouterNavigated';
|
|
96
96
|
|
|
97
97
|
class RouterStateSerializer {
|
|
98
98
|
}
|
|
@@ -128,7 +128,14 @@ class DefaultRouterStateSerializer {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
var RouterState_1;
|
|
131
|
-
let RouterState =
|
|
131
|
+
let RouterState = class RouterState {
|
|
132
|
+
static { RouterState_1 = this; }
|
|
133
|
+
static state(state) {
|
|
134
|
+
return state && state.state;
|
|
135
|
+
}
|
|
136
|
+
static url(state) {
|
|
137
|
+
return state && state.state && state.state.url;
|
|
138
|
+
}
|
|
132
139
|
constructor(_store, _router, _serializer, _ngZone, injector) {
|
|
133
140
|
this._store = _store;
|
|
134
141
|
this._router = _router;
|
|
@@ -152,16 +159,10 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
152
159
|
this._destroy$ = new ReplaySubject(1);
|
|
153
160
|
// Note: do not use `@Inject` since it fails on lower versions of Angular with Jest
|
|
154
161
|
// integration, it cannot resolve the token provider.
|
|
155
|
-
this._options = injector.get(
|
|
162
|
+
this._options = injector.get(_NGXS_ROUTER_PLUGIN_OPTIONS, null);
|
|
156
163
|
this._setUpStoreListener();
|
|
157
164
|
this._setUpRouterEventsListener();
|
|
158
165
|
}
|
|
159
|
-
static state(state) {
|
|
160
|
-
return state && state.state;
|
|
161
|
-
}
|
|
162
|
-
static url(state) {
|
|
163
|
-
return state && state.state && state.state.url;
|
|
164
|
-
}
|
|
165
166
|
ngOnDestroy() {
|
|
166
167
|
this._destroy$.next();
|
|
167
168
|
}
|
|
@@ -284,9 +285,9 @@ let RouterState = RouterState_1 = class RouterState {
|
|
|
284
285
|
this._storeState = null;
|
|
285
286
|
this._routerState = null;
|
|
286
287
|
}
|
|
288
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState, deps: [{ token: i1.Store }, { token: i2.Router }, { token: RouterStateSerializer }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
289
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState }); }
|
|
287
290
|
};
|
|
288
|
-
/** @nocollapse */ RouterState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RouterState, deps: [{ token: i1.Store }, { token: i2.Router }, { token: RouterStateSerializer }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
289
|
-
/** @nocollapse */ RouterState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: RouterState });
|
|
290
291
|
__decorate([
|
|
291
292
|
Action(Navigate),
|
|
292
293
|
__metadata("design:type", Function),
|
|
@@ -333,30 +334,30 @@ RouterState = RouterState_1 = __decorate([
|
|
|
333
334
|
NgZone,
|
|
334
335
|
Injector])
|
|
335
336
|
], RouterState);
|
|
336
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: RouterState, decorators: [{
|
|
337
338
|
type: Injectable
|
|
338
|
-
}], ctorParameters:
|
|
339
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: RouterStateSerializer }, { type: i0.NgZone }, { type: i0.Injector }], propDecorators: { navigate: [], angularRouterAction: [] } });
|
|
339
340
|
|
|
340
341
|
class NgxsRouterPluginModule {
|
|
341
342
|
static forRoot(options) {
|
|
342
343
|
return {
|
|
343
344
|
ngModule: NgxsRouterPluginModule,
|
|
344
345
|
providers: [
|
|
345
|
-
{ provide:
|
|
346
|
+
{ provide: _USER_OPTIONS, useValue: options },
|
|
346
347
|
{
|
|
347
|
-
provide:
|
|
348
|
-
useFactory:
|
|
349
|
-
deps: [
|
|
348
|
+
provide: _NGXS_ROUTER_PLUGIN_OPTIONS,
|
|
349
|
+
useFactory: _createRouterPluginOptions,
|
|
350
|
+
deps: [_USER_OPTIONS]
|
|
350
351
|
},
|
|
351
352
|
{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }
|
|
352
353
|
]
|
|
353
354
|
};
|
|
354
355
|
}
|
|
356
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
357
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] }); }
|
|
358
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] }); }
|
|
355
359
|
}
|
|
356
|
-
|
|
357
|
-
/** @nocollapse */ NgxsRouterPluginModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, imports: [i1.ɵNgxsFeatureModule] });
|
|
358
|
-
/** @nocollapse */ NgxsRouterPluginModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, imports: [NgxsModule.forFeature([RouterState])] });
|
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
360
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: NgxsRouterPluginModule, decorators: [{
|
|
360
361
|
type: NgModule,
|
|
361
362
|
args: [{
|
|
362
363
|
imports: [NgxsModule.forFeature([RouterState])]
|
|
@@ -365,11 +366,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
|
|
|
365
366
|
function withNgxsRouterPlugin(options) {
|
|
366
367
|
return makeEnvironmentProviders([
|
|
367
368
|
provideStates([RouterState]),
|
|
368
|
-
{ provide:
|
|
369
|
+
{ provide: _USER_OPTIONS, useValue: options },
|
|
369
370
|
{
|
|
370
|
-
provide:
|
|
371
|
-
useFactory:
|
|
372
|
-
deps: [
|
|
371
|
+
provide: _NGXS_ROUTER_PLUGIN_OPTIONS,
|
|
372
|
+
useFactory: _createRouterPluginOptions,
|
|
373
|
+
deps: [_USER_OPTIONS]
|
|
373
374
|
},
|
|
374
375
|
{ provide: RouterStateSerializer, useClass: DefaultRouterStateSerializer }
|
|
375
376
|
]);
|