@ngxs/store 3.7.3 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ngxs-store-internals-testing.umd.js +114 -11
- package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
- package/bundles/ngxs-store-internals-testing.umd.min.js +1 -1
- package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.js +278 -91
- package/bundles/ngxs-store-internals.umd.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.min.js +1 -1
- package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +457 -484
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/bundles/ngxs-store.umd.min.js +1 -1
- package/bundles/ngxs-store.umd.min.js.map +1 -1
- package/esm2015/internals/angular.js +12 -32
- package/esm2015/internals/decorator-injector-adapter.js +204 -0
- package/esm2015/internals/index.js +2 -1
- package/esm2015/internals/ngxs-store-internals.js +2 -2
- package/esm2015/internals/testing/fresh-platform.js +46 -7
- package/esm2015/internals/testing/index.js +2 -1
- package/esm2015/internals/testing/ngxs-store-internals-testing.js +2 -2
- package/esm2015/internals/testing/skip-console-logging.js +62 -0
- package/esm2015/internals/testing/symbol.js +1 -1
- package/esm2015/ngxs-store.js +14 -18
- package/esm2015/src/configs/messages.config.js +74 -82
- package/esm2015/src/decorators/action.js +10 -6
- package/esm2015/src/decorators/select/select-factory.js +8 -5
- package/esm2015/src/decorators/select/select.js +39 -3
- package/esm2015/src/decorators/select/symbols.js +56 -12
- package/esm2015/src/decorators/selector/selector.js +10 -6
- package/esm2015/src/decorators/state.js +12 -4
- package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +25 -18
- package/esm2015/src/execution/noop-ngxs-execution-strategy.js +4 -2
- package/esm2015/src/execution/symbols.js +26 -3
- package/esm2015/src/internal/internals.js +8 -4
- package/esm2015/src/internal/state-factory.js +46 -26
- package/esm2015/src/internal/state-operations.js +47 -39
- package/esm2015/src/internal/state-operators.js +4 -4
- package/esm2015/src/internal/state-stream.js +10 -1
- package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +18 -30
- package/esm2015/src/module.js +7 -22
- package/esm2015/src/modules/ngxs-root.module.js +8 -8
- package/esm2015/src/store.js +20 -4
- package/esm2015/src/symbols.js +4 -5
- package/esm2015/src/utils/store-validators.js +24 -29
- package/esm5/internals/angular.js +12 -32
- package/esm5/internals/decorator-injector-adapter.js +204 -0
- package/esm5/internals/index.js +2 -1
- package/esm5/internals/ngxs-store-internals.js +2 -2
- package/esm5/internals/testing/fresh-platform.js +53 -13
- package/esm5/internals/testing/index.js +2 -1
- package/esm5/internals/testing/ngxs-store-internals-testing.js +2 -2
- package/esm5/internals/testing/skip-console-logging.js +62 -0
- package/esm5/internals/testing/symbol.js +1 -1
- package/esm5/ngxs-store.js +14 -18
- package/esm5/src/configs/messages.config.js +75 -100
- package/esm5/src/decorators/action.js +10 -6
- package/esm5/src/decorators/select/select-factory.js +8 -5
- package/esm5/src/decorators/select/select.js +40 -3
- package/esm5/src/decorators/select/symbols.js +56 -12
- package/esm5/src/decorators/selector/selector.js +10 -6
- package/esm5/src/decorators/state.js +12 -4
- package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +25 -23
- package/esm5/src/execution/noop-ngxs-execution-strategy.js +4 -2
- package/esm5/src/execution/symbols.js +26 -3
- package/esm5/src/internal/internals.js +8 -4
- package/esm5/src/internal/state-factory.js +39 -27
- package/esm5/src/internal/state-operations.js +47 -43
- package/esm5/src/internal/state-operators.js +4 -4
- package/esm5/src/internal/state-stream.js +13 -1
- package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +18 -30
- package/esm5/src/module.js +7 -22
- package/esm5/src/modules/ngxs-root.module.js +7 -7
- package/esm5/src/store.js +20 -4
- package/esm5/src/symbols.js +4 -5
- package/esm5/src/utils/store-validators.js +28 -36
- package/fesm2015/ngxs-store-internals-testing.js +108 -7
- package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
- package/fesm2015/ngxs-store-internals.js +263 -79
- package/fesm2015/ngxs-store-internals.js.map +1 -1
- package/fesm2015/ngxs-store.js +429 -413
- package/fesm2015/ngxs-store.js.map +1 -1
- package/fesm5/ngxs-store-internals-testing.js +115 -13
- package/fesm5/ngxs-store-internals-testing.js.map +1 -1
- package/fesm5/ngxs-store-internals.js +277 -93
- package/fesm5/ngxs-store-internals.js.map +1 -1
- package/fesm5/ngxs-store.js +443 -465
- package/fesm5/ngxs-store.js.map +1 -1
- package/internals/angular.d.ts +1 -3
- package/internals/decorator-injector-adapter.d.ts +15 -0
- package/internals/index.d.ts +1 -0
- package/internals/ngxs-store-internals.metadata.json +1 -1
- package/internals/testing/fresh-platform.d.ts +1 -1
- package/internals/testing/index.d.ts +1 -0
- package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
- package/internals/testing/skip-console-logging.d.ts +1 -0
- package/internals/testing/symbol.d.ts +1 -1
- package/ngxs-store.d.ts +14 -18
- package/ngxs-store.metadata.json +1 -1
- package/package.json +2 -2
- package/src/configs/messages.config.d.ts +11 -30
- package/src/decorators/select/select-factory.d.ts +2 -3
- package/src/decorators/select/symbols.d.ts +6 -2
- package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +0 -1
- package/src/execution/symbols.d.ts +5 -1
- package/src/internal/internals.d.ts +0 -1
- package/src/internal/state-factory.d.ts +2 -3
- package/src/internal/state-operations.d.ts +1 -3
- package/src/internal/state-stream.d.ts +3 -1
- package/src/ivy/ivy-enabled-in-dev-mode.d.ts +4 -12
- package/src/modules/ngxs-root.module.d.ts +2 -2
- package/src/store.d.ts +6 -0
- package/src/symbols.d.ts +4 -3
- package/src/utils/store-validators.d.ts +5 -6
- package/esm2015/src/host-environment/host-environment.js +0 -31
- package/esm2015/src/internal/config-validator.js +0 -67
- package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
- package/esm5/src/host-environment/host-environment.js +0 -29
- package/esm5/src/internal/config-validator.js +0 -76
- package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
- package/src/host-environment/host-environment.d.ts +0 -6
- package/src/internal/config-validator.d.ts +0 -10
- package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
|
+
import { isAngularInTestMode } from '@ngxs/store/internals';
|
|
6
7
|
import { InternalDispatcher } from '../internal/dispatcher';
|
|
7
8
|
import { StateStream } from './state-stream';
|
|
8
9
|
import { NgxsConfig } from '../symbols';
|
|
9
10
|
import { deepFreeze } from '../utils/freeze';
|
|
10
|
-
import { ConfigValidator } from '../internal/config-validator';
|
|
11
11
|
/**
|
|
12
12
|
* State Context factory class
|
|
13
13
|
* @ignore
|
|
@@ -17,13 +17,11 @@ export class InternalStateOperations {
|
|
|
17
17
|
* @param {?} _stateStream
|
|
18
18
|
* @param {?} _dispatcher
|
|
19
19
|
* @param {?} _config
|
|
20
|
-
* @param {?} configValidator
|
|
21
20
|
*/
|
|
22
|
-
constructor(_stateStream, _dispatcher, _config
|
|
21
|
+
constructor(_stateStream, _dispatcher, _config) {
|
|
23
22
|
this._stateStream = _stateStream;
|
|
24
23
|
this._dispatcher = _dispatcher;
|
|
25
24
|
this._config = _config;
|
|
26
|
-
configValidator.verifyDevMode();
|
|
27
25
|
}
|
|
28
26
|
/**
|
|
29
27
|
* Returns the root state operators.
|
|
@@ -47,39 +45,22 @@ export class InternalStateOperations {
|
|
|
47
45
|
*/
|
|
48
46
|
(actionOrActions) => this._dispatcher.dispatch(actionOrActions))
|
|
49
47
|
};
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
// We have to have that duplication since this will allow us to tree-shake `ensureStateAndActionsAreImmutable`
|
|
49
|
+
// and `deepFreeze` in Ivy production build.
|
|
50
|
+
// The below `if` condition checks 2 things:
|
|
51
|
+
// 1) if we're in View Engine (`ngDevMode` is `undefined`)
|
|
52
|
+
// 2) if we're running tests, we should fallback to `config.developmentMode` to be backwards-compatible
|
|
53
|
+
if (typeof ngDevMode === 'undefined' || (ngDevMode && isAngularInTestMode())) {
|
|
54
|
+
return this._config.developmentMode
|
|
55
|
+
? ensureStateAndActionsAreImmutable(rootStateOperations)
|
|
56
|
+
: rootStateOperations;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
// If we're in Ivy and not running tests, then tree-shake `ensureStateAndActionsAreImmutable` and `deepFreeze`.
|
|
60
|
+
return ngDevMode
|
|
61
|
+
? ensureStateAndActionsAreImmutable(rootStateOperations)
|
|
62
|
+
: rootStateOperations;
|
|
52
63
|
}
|
|
53
|
-
return rootStateOperations;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* @private
|
|
57
|
-
* @param {?} root
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
ensureStateAndActionsAreImmutable(root) {
|
|
61
|
-
return {
|
|
62
|
-
getState: (/**
|
|
63
|
-
* @return {?}
|
|
64
|
-
*/
|
|
65
|
-
() => root.getState()),
|
|
66
|
-
setState: (/**
|
|
67
|
-
* @param {?} value
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
value => {
|
|
71
|
-
/** @type {?} */
|
|
72
|
-
const frozenValue = deepFreeze(value);
|
|
73
|
-
return root.setState(frozenValue);
|
|
74
|
-
}),
|
|
75
|
-
dispatch: (/**
|
|
76
|
-
* @param {?} actions
|
|
77
|
-
* @return {?}
|
|
78
|
-
*/
|
|
79
|
-
actions => {
|
|
80
|
-
return root.dispatch(actions);
|
|
81
|
-
})
|
|
82
|
-
};
|
|
83
64
|
}
|
|
84
65
|
/**
|
|
85
66
|
* @param {?} results
|
|
@@ -102,8 +83,7 @@ InternalStateOperations.decorators = [
|
|
|
102
83
|
InternalStateOperations.ctorParameters = () => [
|
|
103
84
|
{ type: StateStream },
|
|
104
85
|
{ type: InternalDispatcher },
|
|
105
|
-
{ type: NgxsConfig }
|
|
106
|
-
{ type: ConfigValidator }
|
|
86
|
+
{ type: NgxsConfig }
|
|
107
87
|
];
|
|
108
88
|
if (false) {
|
|
109
89
|
/**
|
|
@@ -122,4 +102,32 @@ if (false) {
|
|
|
122
102
|
*/
|
|
123
103
|
InternalStateOperations.prototype._config;
|
|
124
104
|
}
|
|
125
|
-
|
|
105
|
+
/**
|
|
106
|
+
* @param {?} root
|
|
107
|
+
* @return {?}
|
|
108
|
+
*/
|
|
109
|
+
function ensureStateAndActionsAreImmutable(root) {
|
|
110
|
+
return {
|
|
111
|
+
getState: (/**
|
|
112
|
+
* @return {?}
|
|
113
|
+
*/
|
|
114
|
+
() => root.getState()),
|
|
115
|
+
setState: (/**
|
|
116
|
+
* @param {?} value
|
|
117
|
+
* @return {?}
|
|
118
|
+
*/
|
|
119
|
+
value => {
|
|
120
|
+
/** @type {?} */
|
|
121
|
+
const frozenValue = deepFreeze(value);
|
|
122
|
+
return root.setState(frozenValue);
|
|
123
|
+
}),
|
|
124
|
+
dispatch: (/**
|
|
125
|
+
* @param {?} actions
|
|
126
|
+
* @return {?}
|
|
127
|
+
*/
|
|
128
|
+
actions => {
|
|
129
|
+
return root.dispatch(actions);
|
|
130
|
+
})
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFDbEMsWUFDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDOzs7OztJQUtKLHNCQUFzQjs7Y0FDZCxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLFFBQVE7Ozs7WUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLENBQUMsZUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7U0FDdkY7UUFFRCw4R0FBOEc7UUFDOUcsNENBQTRDO1FBQzVDLDRDQUE0QztRQUM1QywwREFBMEQ7UUFDMUQsdUdBQXVHO1FBQ3ZHLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBRTtZQUM1RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtnQkFDakMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7YUFBTTtZQUNMLCtHQUErRztZQUMvRyxPQUFPLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7SUFDSCxDQUFDOzs7OztJQUVELDJCQUEyQixDQUFDLE9BQTBCOztjQUM5QyxlQUFlLEdBQXlCLElBQUksQ0FBQyxzQkFBc0IsRUFBRTs7O2NBR3JFLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQy9DLHFDQUFxQztRQUNyQyxlQUFlLENBQUMsUUFBUSxtQkFBTSxZQUFZLEVBQUssT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFDO0lBQ3JFLENBQUM7OztZQTFDRixVQUFVOzs7O1lBUkYsV0FBVztZQURYLGtCQUFrQjtZQUVsQixVQUFVOzs7Ozs7O0lBVWYsK0NBQWlDOzs7OztJQUNqQyw4Q0FBdUM7Ozs7O0lBQ3ZDLDBDQUEyQjs7Ozs7O0FBd0MvQixTQUFTLGlDQUFpQyxDQUFDLElBQTBCO0lBQ25FLE9BQU87UUFDTCxRQUFROzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsUUFBUTs7OztRQUFFLEtBQUssQ0FBQyxFQUFFOztrQkFDVixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBQ0QsUUFBUTs7OztRQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNBbmd1bGFySW5UZXN0TW9kZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XHJcblxyXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdGlvbnMsIFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcclxuaW1wb3J0IHsgSW50ZXJuYWxEaXNwYXRjaGVyIH0gZnJvbSAnLi4vaW50ZXJuYWwvZGlzcGF0Y2hlcic7XHJcbmltcG9ydCB7IFN0YXRlU3RyZWFtIH0gZnJvbSAnLi9zdGF0ZS1zdHJlYW0nO1xyXG5pbXBvcnQgeyBOZ3hzQ29uZmlnIH0gZnJvbSAnLi4vc3ltYm9scyc7XHJcbmltcG9ydCB7IGRlZXBGcmVlemUgfSBmcm9tICcuLi91dGlscy9mcmVlemUnO1xyXG5cclxuLyoqXHJcbiAqIFN0YXRlIENvbnRleHQgZmFjdG9yeSBjbGFzc1xyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zdGF0ZVN0cmVhbTogU3RhdGVTdHJlYW0sXHJcbiAgICBwcml2YXRlIF9kaXNwYXRjaGVyOiBJbnRlcm5hbERpc3BhdGNoZXIsXHJcbiAgICBwcml2YXRlIF9jb25maWc6IE5neHNDb25maWdcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHJvb3Qgc3RhdGUgb3BlcmF0b3JzLlxyXG4gICAqL1xyXG4gIGdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTogU3RhdGVPcGVyYXRpb25zPGFueT4ge1xyXG4gICAgY29uc3Qgcm9vdFN0YXRlT3BlcmF0aW9ucyA9IHtcclxuICAgICAgZ2V0U3RhdGU6ICgpID0+IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCksXHJcbiAgICAgIHNldFN0YXRlOiAobmV3U3RhdGU6IGFueSkgPT4gdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXdTdGF0ZSksXHJcbiAgICAgIGRpc3BhdGNoOiAoYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSkgPT4gdGhpcy5fZGlzcGF0Y2hlci5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFdlIGhhdmUgdG8gaGF2ZSB0aGF0IGR1cGxpY2F0aW9uIHNpbmNlIHRoaXMgd2lsbCBhbGxvdyB1cyB0byB0cmVlLXNoYWtlIGBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGVgXHJcbiAgICAvLyBhbmQgYGRlZXBGcmVlemVgIGluIEl2eSBwcm9kdWN0aW9uIGJ1aWxkLlxyXG4gICAgLy8gVGhlIGJlbG93IGBpZmAgY29uZGl0aW9uIGNoZWNrcyAyIHRoaW5nczpcclxuICAgIC8vIDEpIGlmIHdlJ3JlIGluIFZpZXcgRW5naW5lIChgbmdEZXZNb2RlYCBpcyBgdW5kZWZpbmVkYClcclxuICAgIC8vIDIpIGlmIHdlJ3JlIHJ1bm5pbmcgdGVzdHMsIHdlIHNob3VsZCBmYWxsYmFjayB0byBgY29uZmlnLmRldmVsb3BtZW50TW9kZWAgdG8gYmUgYmFja3dhcmRzLWNvbXBhdGlibGVcclxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCAobmdEZXZNb2RlICYmIGlzQW5ndWxhckluVGVzdE1vZGUoKSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5kZXZlbG9wbWVudE1vZGVcclxuICAgICAgICA/IGVuc3VyZVN0YXRlQW5kQWN0aW9uc0FyZUltbXV0YWJsZShyb290U3RhdGVPcGVyYXRpb25zKVxyXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIElmIHdlJ3JlIGluIEl2eSBhbmQgbm90IHJ1bm5pbmcgdGVzdHMsIHRoZW4gdHJlZS1zaGFrZSBgZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlYCBhbmQgYGRlZXBGcmVlemVgLlxyXG4gICAgICByZXR1cm4gbmdEZXZNb2RlXHJcbiAgICAgICAgPyBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdFN0YXRlT3BlcmF0aW9ucylcclxuICAgICAgICA6IHJvb3RTdGF0ZU9wZXJhdGlvbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0YXRlT3BlcmF0aW9uczogU3RhdGVPcGVyYXRpb25zPGFueT4gPSB0aGlzLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTtcclxuXHJcbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXHJcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBzdGF0ZU9wZXJhdGlvbnMuZ2V0U3RhdGUoKTtcclxuICAgIC8vIFNldCB0aGUgc3RhdGUgdG8gdGhlIGN1cnJlbnQgKyBuZXdcclxuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGVuc3VyZVN0YXRlQW5kQWN0aW9uc0FyZUltbXV0YWJsZShyb290OiBTdGF0ZU9wZXJhdGlvbnM8YW55Pik6IFN0YXRlT3BlcmF0aW9uczxhbnk+IHtcclxuICByZXR1cm4ge1xyXG4gICAgZ2V0U3RhdGU6ICgpID0+IHJvb3QuZ2V0U3RhdGUoKSxcclxuICAgIHNldFN0YXRlOiB2YWx1ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGZyb3plblZhbHVlID0gZGVlcEZyZWV6ZSh2YWx1ZSk7XHJcbiAgICAgIHJldHVybiByb290LnNldFN0YXRlKGZyb3plblZhbHVlKTtcclxuICAgIH0sXHJcbiAgICBkaXNwYXRjaDogYWN0aW9ucyA9PiB7XHJcbiAgICAgIHJldHVybiByb290LmRpc3BhdGNoKGFjdGlvbnMpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { throwPatchingArrayError, throwPatchingPrimitiveError } from '../configs/messages.config';
|
|
6
6
|
/**
|
|
7
7
|
* @template T
|
|
8
8
|
* @param {?} val
|
|
@@ -15,10 +15,10 @@ export function simplePatch(val) {
|
|
|
15
15
|
*/
|
|
16
16
|
(existingState) => {
|
|
17
17
|
if (Array.isArray(val)) {
|
|
18
|
-
|
|
18
|
+
throwPatchingArrayError();
|
|
19
19
|
}
|
|
20
20
|
else if (typeof val !== 'object') {
|
|
21
|
-
|
|
21
|
+
throwPatchingPrimitiveError();
|
|
22
22
|
}
|
|
23
23
|
/** @type {?} */
|
|
24
24
|
const newState = Object.assign({}, ((/** @type {?} */ (existingState))));
|
|
@@ -30,4 +30,4 @@ export function simplePatch(val) {
|
|
|
30
30
|
return (/** @type {?} */ (newState));
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUM1QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFHcEMsTUFBTSxVQUFVLFdBQVcsQ0FBSSxHQUFlO0lBQzVDOzs7O0lBQU8sQ0FBQyxhQUEwQixFQUFFLEVBQUU7UUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLHVCQUF1QixFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNsQywyQkFBMkIsRUFBRSxDQUFDO1NBQy9COztjQUVLLFFBQVEscUJBQWEsQ0FBQyxtQkFBQSxhQUFhLEVBQU8sQ0FBQyxDQUFFO1FBQ25ELEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLHFDQUFxQztZQUNyQywyQ0FBMkM7WUFDM0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUEsR0FBRyxFQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sbUJBQUEsUUFBUSxFQUFLLENBQUM7SUFDdkIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgdGhyb3dQYXRjaGluZ0FycmF5RXJyb3IsXHJcbiAgdGhyb3dQYXRjaGluZ1ByaW1pdGl2ZUVycm9yXHJcbn0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xyXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi4vc3ltYm9scyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxlUGF0Y2g8VD4odmFsOiBQYXJ0aWFsPFQ+KTogU3RhdGVPcGVyYXRvcjxUPiB7XHJcbiAgcmV0dXJuIChleGlzdGluZ1N0YXRlOiBSZWFkb25seTxUPikgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xyXG4gICAgICB0aHJvd1BhdGNoaW5nQXJyYXlFcnJvcigpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICB0aHJvd1BhdGNoaW5nUHJpbWl0aXZlRXJyb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdTdGF0ZTogYW55ID0geyAuLi4oZXhpc3RpbmdTdGF0ZSBhcyBhbnkpIH07XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWwpIHtcclxuICAgICAgLy8gZGVlcCBjbG9uZSBmb3IgcGF0Y2ggY29tcGF0aWJpbGl0eVxyXG4gICAgICAvLyBub2luc3BlY3Rpb24gSlNVbmZpbHRlcmVkRm9ySW5Mb29wIChJREUpXHJcbiAgICAgIG5ld1N0YXRlW2tleV0gPSAodmFsIGFzIGFueSlba2V5XTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3U3RhdGUgYXMgVDtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -12,10 +12,19 @@ export class StateStream extends BehaviorSubject {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super({});
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* @return {?}
|
|
17
|
+
*/
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
// The `StateStream` should never emit values once the root view is removed, e.g. when the `NgModuleRef.destroy()` is called.
|
|
20
|
+
// This will eliminate memory leaks in server-side rendered apps where the `StateStream` is created per each HTTP request, users
|
|
21
|
+
// might forget to unsubscribe from `store.select` or `store.subscribe`, thus this will lead to huge memory leaks in SSR apps.
|
|
22
|
+
this.complete();
|
|
23
|
+
}
|
|
15
24
|
}
|
|
16
25
|
StateStream.decorators = [
|
|
17
26
|
{ type: Injectable }
|
|
18
27
|
];
|
|
19
28
|
/** @nocollapse */
|
|
20
29
|
StateStream.ctorParameters = () => [];
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc3RyZWFtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBU3ZDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBNEI7SUFDM0Q7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDOzs7O0lBRUQsV0FBVztRQUNULDZIQUE2SDtRQUM3SCxnSUFBZ0k7UUFDaEksOEhBQThIO1FBQzlILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7WUFYRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgUGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xyXG5cclxuLyoqXHJcbiAqIEJlaGF2aW9yU3ViamVjdCBvZiB0aGUgZW50aXJlIHN0YXRlLlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGF0ZVN0cmVhbSBleHRlbmRzIEJlaGF2aW9yU3ViamVjdDxQbGFpbk9iamVjdD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoe30pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvLyBUaGUgYFN0YXRlU3RyZWFtYCBzaG91bGQgbmV2ZXIgZW1pdCB2YWx1ZXMgb25jZSB0aGUgcm9vdCB2aWV3IGlzIHJlbW92ZWQsIGUuZy4gd2hlbiB0aGUgYE5nTW9kdWxlUmVmLmRlc3Ryb3koKWAgaXMgY2FsbGVkLlxyXG4gICAgLy8gVGhpcyB3aWxsIGVsaW1pbmF0ZSBtZW1vcnkgbGVha3MgaW4gc2VydmVyLXNpZGUgcmVuZGVyZWQgYXBwcyB3aGVyZSB0aGUgYFN0YXRlU3RyZWFtYCBpcyBjcmVhdGVkIHBlciBlYWNoIEhUVFAgcmVxdWVzdCwgdXNlcnNcclxuICAgIC8vIG1pZ2h0IGZvcmdldCB0byB1bnN1YnNjcmliZSBmcm9tIGBzdG9yZS5zZWxlY3RgIG9yIGBzdG9yZS5zdWJzY3JpYmVgLCB0aHVzIHRoaXMgd2lsbCBsZWFkIHRvIGh1Z2UgbWVtb3J5IGxlYWtzIGluIFNTUiBhcHBzLlxyXG4gICAgdGhpcy5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2,39 +2,27 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
/** @type {?} */
|
|
8
|
-
export const ivyEnabledInDevMode$ = new ReplaySubject(1);
|
|
5
|
+
import { ɵivyEnabled } from '@angular/core';
|
|
6
|
+
import { getUndecoratedStateInIvyWarningMessage } from '../configs/messages.config';
|
|
9
7
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Previously, old view engine exposed `window.ng.coreTokens` and
|
|
15
|
-
* `window.ng.probe` if an application was in development/production.
|
|
16
|
-
* Ivy doesn't expose these functions in production. Developers will be able
|
|
17
|
-
* to see warnings in both JIT/AOT modes, but only if an application
|
|
18
|
-
* is in development.
|
|
8
|
+
* All provided or injected tokens must have `\@Injectable` decorator
|
|
9
|
+
* (previously, injected tokens without `\@Injectable` were allowed
|
|
10
|
+
* if another decorator was used, e.g. pipes).
|
|
11
|
+
* @param {?} target
|
|
19
12
|
* @return {?}
|
|
20
13
|
*/
|
|
21
|
-
export function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
export function ensureStateClassIsInjectable(target) {
|
|
15
|
+
// `ɵprov` is a static property added by the NGCC compiler. It always exists in
|
|
16
|
+
// AOT mode because this property is added before runtime. If an application is running in
|
|
17
|
+
// JIT mode then this property can be added by the `@Injectable()` decorator. The `@Injectable()`
|
|
18
|
+
// decorator has to go after the `@State()` decorator, thus we prevent users from unwanted DI errors.
|
|
19
|
+
if (ɵivyEnabled) {
|
|
25
20
|
/** @type {?} */
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
ivyEnabledInDevMode$.next(_ivyEnabledInDevMode);
|
|
32
|
-
}
|
|
33
|
-
catch (_a) {
|
|
34
|
-
ivyEnabledInDevMode$.next(false);
|
|
35
|
-
}
|
|
36
|
-
finally {
|
|
37
|
-
ivyEnabledInDevMode$.complete();
|
|
21
|
+
/** @nocollapse */ const ngInjectableDef = target.ɵprov;
|
|
22
|
+
if (!ngInjectableDef) {
|
|
23
|
+
// Don't warn if Ivy is disabled or `ɵprov` exists on the class
|
|
24
|
+
console.warn(getUndecoratedStateInIvyWarningMessage(target.name));
|
|
25
|
+
}
|
|
38
26
|
}
|
|
39
27
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9pdnkvaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBT3BGLE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxNQUFXO0lBQ3RELCtFQUErRTtJQUMvRSwwRkFBMEY7SUFDMUYsaUdBQWlHO0lBQ2pHLHFHQUFxRztJQUNyRyxJQUFJLFdBQVcsRUFBRTs7Y0FDVCxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUs7UUFDcEMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQiwrREFBK0Q7WUFDL0QsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNuRTtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1aXZ5RW5hYmxlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgZ2V0VW5kZWNvcmF0ZWRTdGF0ZUluSXZ5V2FybmluZ01lc3NhZ2UgfSBmcm9tICcuLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XHJcblxyXG4vKipcclxuICogQWxsIHByb3ZpZGVkIG9yIGluamVjdGVkIHRva2VucyBtdXN0IGhhdmUgYEBJbmplY3RhYmxlYCBkZWNvcmF0b3JcclxuICogKHByZXZpb3VzbHksIGluamVjdGVkIHRva2VucyB3aXRob3V0IGBASW5qZWN0YWJsZWAgd2VyZSBhbGxvd2VkXHJcbiAqIGlmIGFub3RoZXIgZGVjb3JhdG9yIHdhcyB1c2VkLCBlLmcuIHBpcGVzKS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdGF0ZUNsYXNzSXNJbmplY3RhYmxlKHRhcmdldDogYW55KTogdm9pZCB7XHJcbiAgLy8gYMm1cHJvdmAgaXMgYSBzdGF0aWMgcHJvcGVydHkgYWRkZWQgYnkgdGhlIE5HQ0MgY29tcGlsZXIuIEl0IGFsd2F5cyBleGlzdHMgaW5cclxuICAvLyBBT1QgbW9kZSBiZWNhdXNlIHRoaXMgcHJvcGVydHkgaXMgYWRkZWQgYmVmb3JlIHJ1bnRpbWUuIElmIGFuIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgaW5cclxuICAvLyBKSVQgbW9kZSB0aGVuIHRoaXMgcHJvcGVydHkgY2FuIGJlIGFkZGVkIGJ5IHRoZSBgQEluamVjdGFibGUoKWAgZGVjb3JhdG9yLiBUaGUgYEBJbmplY3RhYmxlKClgXHJcbiAgLy8gZGVjb3JhdG9yIGhhcyB0byBnbyBhZnRlciB0aGUgYEBTdGF0ZSgpYCBkZWNvcmF0b3IsIHRodXMgd2UgcHJldmVudCB1c2VycyBmcm9tIHVud2FudGVkIERJIGVycm9ycy5cclxuICBpZiAoybVpdnlFbmFibGVkKSB7XHJcbiAgICBjb25zdCBuZ0luamVjdGFibGVEZWYgPSB0YXJnZXQuybVwcm92O1xyXG4gICAgaWYgKCFuZ0luamVjdGFibGVEZWYpIHtcclxuICAgICAgLy8gRG9uJ3Qgd2FybiBpZiBJdnkgaXMgZGlzYWJsZWQgb3IgYMm1cHJvdmAgZXhpc3RzIG9uIHRoZSBjbGFzc1xyXG4gICAgICBjb25zb2xlLndhcm4oZ2V0VW5kZWNvcmF0ZWRTdGF0ZUluSXZ5V2FybmluZ01lc3NhZ2UodGFyZ2V0Lm5hbWUpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/src/module.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import { APP_BOOTSTRAP_LISTENER, InjectionToken,
|
|
6
|
-
import { INITIAL_STATE_TOKEN, InitialState,
|
|
7
|
-
import { FEATURE_STATE_TOKEN,
|
|
8
|
-
import {
|
|
5
|
+
import { APP_BOOTSTRAP_LISTENER, InjectionToken, NgModule } from '@angular/core';
|
|
6
|
+
import { INITIAL_STATE_TOKEN, InitialState, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, NgxsBootstrapper } from '@ngxs/store/internals';
|
|
7
|
+
import { FEATURE_STATE_TOKEN, NgxsConfig, ROOT_STATE_TOKEN } from './symbols';
|
|
8
|
+
import { USER_PROVIDED_NGXS_EXECUTION_STRATEGY } from './execution/symbols';
|
|
9
9
|
import { StateFactory } from './internal/state-factory';
|
|
10
10
|
import { StateContextFactory } from './internal/state-context-factory';
|
|
11
11
|
import { Actions, InternalActions } from './actions-stream';
|
|
@@ -13,15 +13,11 @@ import { LifecycleStateManager } from './internal/lifecycle-state-manager';
|
|
|
13
13
|
import { InternalDispatchedActionResults, InternalDispatcher } from './internal/dispatcher';
|
|
14
14
|
import { InternalStateOperations } from './internal/state-operations';
|
|
15
15
|
import { Store } from './store';
|
|
16
|
-
import { SelectFactory } from './decorators/select/select-factory';
|
|
17
16
|
import { StateStream } from './internal/state-stream';
|
|
18
17
|
import { PluginManager } from './plugin-manager';
|
|
19
18
|
import { NgxsRootModule } from './modules/ngxs-root.module';
|
|
20
19
|
import { NgxsFeatureModule } from './modules/ngxs-feature.module';
|
|
21
|
-
import { DispatchOutsideZoneNgxsExecutionStrategy } from './execution/dispatch-outside-zone-ngxs-execution-strategy';
|
|
22
20
|
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
23
|
-
import { HostEnvironment } from './host-environment/host-environment';
|
|
24
|
-
import { ConfigValidator } from './internal/config-validator';
|
|
25
21
|
import { mergeDeep } from './utils/utils';
|
|
26
22
|
/**
|
|
27
23
|
* Ngxs Module
|
|
@@ -42,8 +38,6 @@ export class NgxsModule {
|
|
|
42
38
|
Actions,
|
|
43
39
|
InternalActions,
|
|
44
40
|
NgxsBootstrapper,
|
|
45
|
-
ConfigValidator,
|
|
46
|
-
HostEnvironment,
|
|
47
41
|
LifecycleStateManager,
|
|
48
42
|
InternalDispatcher,
|
|
49
43
|
InternalDispatchedActionResults,
|
|
@@ -51,7 +45,6 @@ export class NgxsModule {
|
|
|
51
45
|
InternalNgxsExecutionStrategy,
|
|
52
46
|
Store,
|
|
53
47
|
StateStream,
|
|
54
|
-
SelectFactory,
|
|
55
48
|
PluginManager,
|
|
56
49
|
...states,
|
|
57
50
|
...NgxsModule.ngxsTokenProviders(states, options)
|
|
@@ -87,16 +80,8 @@ export class NgxsModule {
|
|
|
87
80
|
static ngxsTokenProviders(states, options) {
|
|
88
81
|
return [
|
|
89
82
|
{
|
|
90
|
-
provide:
|
|
91
|
-
useValue:
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
provide: NG_DEV_MODE,
|
|
95
|
-
useValue: isDevMode
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
provide: NGXS_EXECUTION_STRATEGY,
|
|
99
|
-
useClass: options.executionStrategy || DispatchOutsideZoneNgxsExecutionStrategy
|
|
83
|
+
provide: USER_PROVIDED_NGXS_EXECUTION_STRATEGY,
|
|
84
|
+
useValue: options.executionStrategy
|
|
100
85
|
},
|
|
101
86
|
{
|
|
102
87
|
provide: ROOT_STATE_TOKEN,
|
|
@@ -169,4 +154,4 @@ if (false) {
|
|
|
169
154
|
*/
|
|
170
155
|
NgxsModule.ROOT_OPTIONS;
|
|
171
156
|
}
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxTQUFTLEVBRVQsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUVqQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLFlBQVksRUFDWixVQUFVLEVBRVYsZ0JBQWdCLEVBQ2pCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU0xQyxNQUFNLE9BQU8sVUFBVTs7Ozs7OztJQU1kLE1BQU0sQ0FBQyxPQUFPLENBQ25CLFNBQXVCLEVBQUUsRUFDekIsVUFBNkIsRUFBRTtRQUUvQixPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNULFlBQVk7Z0JBQ1osbUJBQW1CO2dCQUNuQixPQUFPO2dCQUNQLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQixlQUFlO2dCQUNmLGVBQWU7Z0JBQ2YscUJBQXFCO2dCQUNyQixrQkFBa0I7Z0JBQ2xCLCtCQUErQjtnQkFDL0IsdUJBQXVCO2dCQUN2Qiw2QkFBNkI7Z0JBQzdCLEtBQUs7Z0JBQ0wsV0FBVztnQkFDWCxhQUFhO2dCQUNiLGFBQWE7Z0JBQ2IsR0FBRyxNQUFNO2dCQUNULEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7YUFDbEQ7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBS00sTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUF1QixFQUFFO1FBQ2hELE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCxZQUFZO2dCQUNaLGFBQWE7Z0JBQ2IsR0FBRyxNQUFNO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7Ozs7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQy9CLE1BQW9CLEVBQ3BCLE9BQTBCO1FBRTFCLE9BQU87WUFDTDtnQkFDRSxPQUFPLEVBQUUsWUFBWTtnQkFDckIsUUFBUSxFQUFFLG1CQUFtQjthQUM5QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixRQUFRLEVBQUUsU0FBUzthQUNwQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCLElBQUksd0NBQXdDO2FBQ2hGO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsUUFBUSxFQUFFLE1BQU07YUFDakI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsVUFBVSxDQUFDLFlBQVk7Z0JBQ2hDLFFBQVEsRUFBRSxPQUFPO2FBQ2xCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFVBQVUsRUFBRSxVQUFVLENBQUMsaUJBQWlCO2dCQUN4QyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2FBQ2hDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHNCQUFzQjtnQkFDL0IsVUFBVSxFQUFFLFVBQVUsQ0FBQywyQkFBMkI7Z0JBQ2xELEtBQUssRUFBRSxJQUFJO2dCQUNYLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2FBQ3pCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxlQUFlO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLDBCQUEwQjtnQkFDbkMsV0FBVyxFQUFFLG1CQUFtQjthQUNqQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxZQUFZO2FBQzFCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7OztJQUVPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUEwQjtRQUN6RCxPQUFPLFNBQVMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Ozs7OztJQUVPLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxZQUE4QjtRQUN2RTs7O1FBQU8sR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFDO0lBQ3hDLENBQUM7Ozs7O0lBRU8sTUFBTSxDQUFDLGVBQWU7UUFDNUIsT0FBTyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7QUFsSHVCLHVCQUFZLEdBQUcsSUFBSSxjQUFjLENBQW9CLGNBQWMsQ0FBQyxDQUFDOztZQUY5RixRQUFROzs7Ozs7O0lBRVAsd0JBQTZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSLFxyXG4gIEluamVjdGlvblRva2VuLFxyXG4gIGlzRGV2TW9kZSxcclxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gIE5nTW9kdWxlLFxyXG4gIFByb3ZpZGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSU5JVElBTF9TVEFURV9UT0tFTixcclxuICBJbml0aWFsU3RhdGUsXHJcbiAgaXNBbmd1bGFySW5UZXN0TW9kZSxcclxuICBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcclxuICBOR1hTX1NUQVRFX0ZBQ1RPUlksXHJcbiAgTmd4c0Jvb3RzdHJhcHBlcixcclxuICBTdGF0ZUNsYXNzXHJcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRkVBVFVSRV9TVEFURV9UT0tFTixcclxuICBOR19ERVZfTU9ERSxcclxuICBOR19URVNUX01PREUsXHJcbiAgTmd4c0NvbmZpZyxcclxuICBOZ3hzTW9kdWxlT3B0aW9ucyxcclxuICBST09UX1NUQVRFX1RPS0VOXHJcbn0gZnJvbSAnLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcclxuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcclxuaW1wb3J0IHsgU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtY29udGV4dC1mYWN0b3J5JztcclxuaW1wb3J0IHsgQWN0aW9ucywgSW50ZXJuYWxBY3Rpb25zIH0gZnJvbSAnLi9hY3Rpb25zLXN0cmVhbSc7XHJcbmltcG9ydCB7IExpZmVjeWNsZVN0YXRlTWFuYWdlciB9IGZyb20gJy4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xyXG5pbXBvcnQgeyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLCBJbnRlcm5hbERpc3BhdGNoZXIgfSBmcm9tICcuL2ludGVybmFsL2Rpc3BhdGNoZXInO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XHJcbmltcG9ydCB7IFNlbGVjdEZhY3RvcnkgfSBmcm9tICcuL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLXN0cmVhbSc7XHJcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL3BsdWdpbi1tYW5hZ2VyJztcclxuaW1wb3J0IHsgTmd4c1Jvb3RNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbmd4cy1yb290Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE5neHNGZWF0dXJlTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL25neHMtZmVhdHVyZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XHJcbmltcG9ydCB7IEhvc3RFbnZpcm9ubWVudCB9IGZyb20gJy4vaG9zdC1lbnZpcm9ubWVudC9ob3N0LWVudmlyb25tZW50JztcclxuaW1wb3J0IHsgQ29uZmlnVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnRlcm5hbC9jb25maWctdmFsaWRhdG9yJztcclxuaW1wb3J0IHsgbWVyZ2VEZWVwIH0gZnJvbSAnLi91dGlscy91dGlscyc7XHJcblxyXG4vKipcclxuICogTmd4cyBNb2R1bGVcclxuICovXHJcbkBOZ01vZHVsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzTW9kdWxlIHtcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBST09UX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c01vZHVsZU9wdGlvbnM+KCdST09UX09QVElPTlMnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUm9vdCBtb2R1bGUgZmFjdG9yeVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChcclxuICAgIHN0YXRlczogU3RhdGVDbGFzc1tdID0gW10sXHJcbiAgICBvcHRpb25zOiBOZ3hzTW9kdWxlT3B0aW9ucyA9IHt9XHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzUm9vdE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE5neHNSb290TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBTdGF0ZUZhY3RvcnksXHJcbiAgICAgICAgU3RhdGVDb250ZXh0RmFjdG9yeSxcclxuICAgICAgICBBY3Rpb25zLFxyXG4gICAgICAgIEludGVybmFsQWN0aW9ucyxcclxuICAgICAgICBOZ3hzQm9vdHN0cmFwcGVyLFxyXG4gICAgICAgIENvbmZpZ1ZhbGlkYXRvcixcclxuICAgICAgICBIb3N0RW52aXJvbm1lbnQsXHJcbiAgICAgICAgTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLFxyXG4gICAgICAgIEludGVybmFsRGlzcGF0Y2hlcixcclxuICAgICAgICBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxyXG4gICAgICAgIEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxyXG4gICAgICAgIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxyXG4gICAgICAgIFN0b3JlLFxyXG4gICAgICAgIFN0YXRlU3RyZWFtLFxyXG4gICAgICAgIFNlbGVjdEZhY3RvcnksXHJcbiAgICAgICAgUGx1Z2luTWFuYWdlcixcclxuICAgICAgICAuLi5zdGF0ZXMsXHJcbiAgICAgICAgLi4uTmd4c01vZHVsZS5uZ3hzVG9rZW5Qcm92aWRlcnMoc3RhdGVzLCBvcHRpb25zKVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmVhdHVyZSBtb2R1bGUgZmFjdG9yeVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yRmVhdHVyZShzdGF0ZXM6IFN0YXRlQ2xhc3NbXSA9IFtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzRmVhdHVyZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE5neHNGZWF0dXJlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBTdGF0ZUZhY3RvcnksXHJcbiAgICAgICAgUGx1Z2luTWFuYWdlcixcclxuICAgICAgICAuLi5zdGF0ZXMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogRkVBVFVSRV9TVEFURV9UT0tFTixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHN0YXRlc1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG5neHNUb2tlblByb3ZpZGVycyhcclxuICAgIHN0YXRlczogU3RhdGVDbGFzc1tdLFxyXG4gICAgb3B0aW9uczogTmd4c01vZHVsZU9wdGlvbnNcclxuICApOiBQcm92aWRlcltdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOR19URVNUX01PREUsXHJcbiAgICAgICAgdXNlVmFsdWU6IGlzQW5ndWxhckluVGVzdE1vZGVcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX0RFVl9NT0RFLFxyXG4gICAgICAgIHVzZVZhbHVlOiBpc0Rldk1vZGVcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HWFNfRVhFQ1VUSU9OX1NUUkFURUdZLFxyXG4gICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLmV4ZWN1dGlvblN0cmF0ZWd5IHx8IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IFJPT1RfU1RBVEVfVE9LRU4sXHJcbiAgICAgICAgdXNlVmFsdWU6IHN0YXRlc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTmd4c01vZHVsZS5ST09UX09QVElPTlMsXHJcbiAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5neHNDb25maWcsXHJcbiAgICAgICAgdXNlRmFjdG9yeTogTmd4c01vZHVsZS5uZ3hzQ29uZmlnRmFjdG9yeSxcclxuICAgICAgICBkZXBzOiBbTmd4c01vZHVsZS5ST09UX09QVElPTlNdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IE5neHNNb2R1bGUuYXBwQm9vdHN0cmFwTGlzdGVuZXJGYWN0b3J5LFxyXG4gICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIGRlcHM6IFtOZ3hzQm9vdHN0cmFwcGVyXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogSU5JVElBTF9TVEFURV9UT0tFTixcclxuICAgICAgICB1c2VGYWN0b3J5OiBOZ3hzTW9kdWxlLmdldEluaXRpYWxTdGF0ZVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlksXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IFN0YXRlQ29udGV4dEZhY3RvcnlcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HWFNfU1RBVEVfRkFDVE9SWSxcclxuICAgICAgICB1c2VFeGlzdGluZzogU3RhdGVGYWN0b3J5XHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBuZ3hzQ29uZmlnRmFjdG9yeShvcHRpb25zOiBOZ3hzTW9kdWxlT3B0aW9ucyk6IE5neHNDb25maWcge1xyXG4gICAgcmV0dXJuIG1lcmdlRGVlcChuZXcgTmd4c0NvbmZpZygpLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGFwcEJvb3RzdHJhcExpc3RlbmVyRmFjdG9yeShib290c3RyYXBwZXI6IE5neHNCb290c3RyYXBwZXIpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gKCkgPT4gYm9vdHN0cmFwcGVyLmJvb3RzdHJhcCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0SW5pdGlhbFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIEluaXRpYWxTdGF0ZS5wb3AoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGNBQWMsRUFFZCxRQUFRLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFakIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFVBQVUsRUFFVixnQkFBZ0IsRUFDakIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxP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XG4gIEluamVjdGlvblRva2VuLFxyXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXHJcbiAgTmdNb2R1bGUsXHJcbiAgUHJvdmlkZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBJTklUSUFMX1NUQVRFX1RPS0VOLFxyXG4gIEluaXRpYWxTdGF0ZSxcclxuICBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcclxuICBOR1hTX1NUQVRFX0ZBQ1RPUlksXHJcbiAgTmd4c0Jvb3RzdHJhcHBlcixcclxuICBTdGF0ZUNsYXNzXHJcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRkVBVFVSRV9TVEFURV9UT0tFTixcclxuICBOZ3hzQ29uZmlnLFxyXG4gIE5neHNNb2R1bGVPcHRpb25zLFxyXG4gIFJPT1RfU1RBVEVfVE9LRU5cclxufSBmcm9tICcuL3N5bWJvbHMnO1xyXG5pbXBvcnQgeyBVU0VSX1BST1ZJREVEX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZIH0gZnJvbSAnLi9leGVjdXRpb24vc3ltYm9scyc7XHJcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtZmFjdG9yeSc7XHJcbmltcG9ydCB7IFN0YXRlQ29udGV4dEZhY3RvcnkgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeSc7XHJcbmltcG9ydCB7IEFjdGlvbnMsIEludGVybmFsQWN0aW9ucyB9IGZyb20gJy4vYWN0aW9ucy1zdHJlYW0nO1xyXG5pbXBvcnQgeyBMaWZlY3ljbGVTdGF0ZU1hbmFnZXIgfSBmcm9tICcuL2ludGVybmFsL2xpZmVjeWNsZS1zdGF0ZS1tYW5hZ2VyJztcclxuaW1wb3J0IHsgSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cywgSW50ZXJuYWxEaXNwYXRjaGVyIH0gZnJvbSAnLi9pbnRlcm5hbC9kaXNwYXRjaGVyJztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xyXG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtc3RyZWFtJztcclxuaW1wb3J0IHsgUGx1Z2luTWFuYWdlciB9IGZyb20gJy4vcGx1Z2luLW1hbmFnZXInO1xyXG5pbXBvcnQgeyBOZ3hzUm9vdE1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9uZ3hzLXJvb3QubW9kdWxlJztcclxuaW1wb3J0IHsgTmd4c0ZlYXR1cmVNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbmd4cy1mZWF0dXJlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xyXG5pbXBvcnQgeyBtZXJnZURlZXAgfSBmcm9tICcuL3V0aWxzL3V0aWxzJztcclxuXHJcbi8qKlxyXG4gKiBOZ3hzIE1vZHVsZVxyXG4gKi9cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIE5neHNNb2R1bGUge1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJPT1RfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzTW9kdWxlT3B0aW9ucz4oJ1JPT1RfT1BUSU9OUycpO1xyXG5cclxuICAvKipcclxuICAgKiBSb290IG1vZHVsZSBmYWN0b3J5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgc3RhdGVzOiBTdGF0ZUNsYXNzW10gPSBbXSxcclxuICAgIG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zID0ge31cclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSb290TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4c1Jvb3RNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFN0YXRlRmFjdG9yeSxcclxuICAgICAgICBTdGF0ZUNvbnRleHRGYWN0b3J5LFxyXG4gICAgICAgIEFjdGlvbnMsXHJcbiAgICAgICAgSW50ZXJuYWxBY3Rpb25zLFxyXG4gICAgICAgIE5neHNCb290c3RyYXBwZXIsXHJcbiAgICAgICAgTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyLFxyXG4gICAgICAgIEludGVybmFsRGlzcGF0Y2hlcixcclxuICAgICAgICBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxyXG4gICAgICAgIEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxyXG4gICAgICAgIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxyXG4gICAgICAgIFN0b3JlLFxyXG4gICAgICAgIFN0YXRlU3RyZWFtLFxyXG4gICAgICAgIFBsdWdpbk1hbmFnZXIsXHJcbiAgICAgICAgLi4uc3RhdGVzLFxyXG4gICAgICAgIC4uLk5neHNNb2R1bGUubmd4c1Rva2VuUHJvdmlkZXJzKHN0YXRlcywgb3B0aW9ucylcclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZlYXR1cmUgbW9kdWxlIGZhY3RvcnlcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGZvckZlYXR1cmUoc3RhdGVzOiBTdGF0ZUNsYXNzW10gPSBbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0ZlYXR1cmVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBOZ3hzRmVhdHVyZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgU3RhdGVGYWN0b3J5LFxyXG4gICAgICAgIFBsdWdpbk1hbmFnZXIsXHJcbiAgICAgICAgLi4uc3RhdGVzLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEZFQVRVUkVfU1RBVEVfVE9LRU4sXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIHVzZVZhbHVlOiBzdGF0ZXNcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBuZ3hzVG9rZW5Qcm92aWRlcnMoXHJcbiAgICBzdGF0ZXM6IFN0YXRlQ2xhc3NbXSxcclxuICAgIG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zXHJcbiAgKTogUHJvdmlkZXJbXSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogVVNFUl9QUk9WSURFRF9OR1hTX0VYRUNVVElPTl9TVFJBVEVHWSxcclxuICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5leGVjdXRpb25TdHJhdGVneVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogUk9PVF9TVEFURV9UT0tFTixcclxuICAgICAgICB1c2VWYWx1ZTogc3RhdGVzXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOZ3hzTW9kdWxlLlJPT1RfT1BUSU9OUyxcclxuICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTmd4c0NvbmZpZyxcclxuICAgICAgICB1c2VGYWN0b3J5OiBOZ3hzTW9kdWxlLm5neHNDb25maWdGYWN0b3J5LFxyXG4gICAgICAgIGRlcHM6IFtOZ3hzTW9kdWxlLlJPT1RfT1BUSU9OU11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9CT09UU1RSQVBfTElTVEVORVIsXHJcbiAgICAgICAgdXNlRmFjdG9yeTogTmd4c01vZHVsZS5hcHBCb290c3RyYXBMaXN0ZW5lckZhY3RvcnksXHJcbiAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgZGVwczogW05neHNCb290c3RyYXBwZXJdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBJTklUSUFMX1NUQVRFX1RPS0VOLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IE5neHNNb2R1bGUuZ2V0SW5pdGlhbFN0YXRlXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcclxuICAgICAgICB1c2VFeGlzdGluZzogU3RhdGVDb250ZXh0RmFjdG9yeVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdYU19TVEFURV9GQUNUT1JZLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBTdGF0ZUZhY3RvcnlcclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG5neHNDb25maWdGYWN0b3J5KG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zKTogTmd4c0NvbmZpZyB7XHJcbiAgICByZXR1cm4gbWVyZ2VEZWVwKG5ldyBOZ3hzQ29uZmlnKCksIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgYXBwQm9vdHN0cmFwTGlzdGVuZXJGYWN0b3J5KGJvb3RzdHJhcHBlcjogTmd4c0Jvb3RzdHJhcHBlcik6IEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiAoKSA9PiBib290c3RyYXBwZXIuYm9vdHN0cmFwKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRJbml0aWFsU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gSW5pdGlhbFN0YXRlLnBvcCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
|
-
import { Inject, NgModule, Optional } from '@angular/core';
|
|
5
|
+
import { Inject, Injector, NgModule, Optional, ɵivyEnabled } from '@angular/core';
|
|
6
6
|
import { StateFactory } from '../internal/state-factory';
|
|
7
7
|
import { InternalStateOperations } from '../internal/state-operations';
|
|
8
8
|
import { Store } from '../store';
|
|
@@ -10,7 +10,6 @@ import { SelectFactory } from '../decorators/select/select-factory';
|
|
|
10
10
|
import { ROOT_STATE_TOKEN } from '../symbols';
|
|
11
11
|
import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
|
|
12
12
|
import { InitState } from '../actions/actions';
|
|
13
|
-
import { setIvyEnabledInDevMode } from '../ivy/ivy-enabled-in-dev-mode';
|
|
14
13
|
/**
|
|
15
14
|
* Root module
|
|
16
15
|
* @ignore
|
|
@@ -20,13 +19,14 @@ export class NgxsRootModule {
|
|
|
20
19
|
* @param {?} factory
|
|
21
20
|
* @param {?} internalStateOperations
|
|
22
21
|
* @param {?} _store
|
|
23
|
-
* @param {?}
|
|
22
|
+
* @param {?} injector
|
|
24
23
|
* @param {?=} states
|
|
25
24
|
* @param {?=} lifecycleStateManager
|
|
26
25
|
*/
|
|
27
|
-
constructor(factory, internalStateOperations, _store,
|
|
28
|
-
//
|
|
29
|
-
|
|
26
|
+
constructor(factory, internalStateOperations, _store, injector, states = [], lifecycleStateManager) {
|
|
27
|
+
// If the user is running View Engine then we create the `SelectFactory` instance,
|
|
28
|
+
// otherwise it'll be tree-shaken away in Ivy.
|
|
29
|
+
!ɵivyEnabled && injector.get(SelectFactory);
|
|
30
30
|
// Add stores to the state graph and return their defaults
|
|
31
31
|
/** @type {?} */
|
|
32
32
|
const results = factory.addAndReturnDefaults(states);
|
|
@@ -45,8 +45,8 @@ NgxsRootModule.ctorParameters = () => [
|
|
|
45
45
|
{ type: StateFactory },
|
|
46
46
|
{ type: InternalStateOperations },
|
|
47
47
|
{ type: Store },
|
|
48
|
-
{ type:
|
|
48
|
+
{ type: Injector },
|
|
49
49
|
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [ROOT_STATE_TOKEN,] }] },
|
|
50
50
|
{ type: LifecycleStateManager }
|
|
51
51
|
];
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1yb290Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL21vZHVsZXMvbmd4cy1yb290Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTy9DLE1BQU0sT0FBTyxjQUFjOzs7Ozs7Ozs7SUFDekIsWUFDRSxPQUFxQixFQUNyQix1QkFBZ0QsRUFDaEQsTUFBYSxFQUNiLFFBQWtCLEVBR2xCLFNBQStCLEVBQUUsRUFDakMscUJBQTRDO1FBRTVDLGtGQUFrRjtRQUNsRiw4Q0FBOEM7UUFDOUMsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzs7O2NBR3RDLE9BQU8sR0FBc0IsT0FBTyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQUV2RSx1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3RCw2QkFBNkI7UUFDN0IsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFaEMseUVBQXlFO1FBQ3pFLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OztZQTFCRixRQUFROzs7O1lBYkEsWUFBWTtZQUNaLHVCQUF1QjtZQUN2QixLQUFLO1lBSkcsUUFBUTt3Q0FzQnBCLFFBQVEsWUFDUixNQUFNLFNBQUMsZ0JBQWdCO1lBZm5CLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0b3IsIE5nTW9kdWxlLCBPcHRpb25hbCwgybVpdnlFbmFibGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdGF0ZUZhY3RvcnkgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XHJcbmltcG9ydCB7IFNlbGVjdEZhY3RvcnkgfSBmcm9tICcuLi9kZWNvcmF0b3JzL3NlbGVjdC9zZWxlY3QtZmFjdG9yeSc7XHJcbmltcG9ydCB7IFJPT1RfU1RBVEVfVE9LRU4gfSBmcm9tICcuLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgU3RhdGVDbGFzc0ludGVybmFsLCBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XHJcbmltcG9ydCB7IExpZmVjeWNsZVN0YXRlTWFuYWdlciB9IGZyb20gJy4uL2ludGVybmFsL2xpZmVjeWNsZS1zdGF0ZS1tYW5hZ2VyJztcclxuaW1wb3J0IHsgSW5pdFN0YXRlIH0gZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb25zJztcclxuXHJcbi8qKlxyXG4gKiBSb290IG1vZHVsZVxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4c1Jvb3RNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgZmFjdG9yeTogU3RhdGVGYWN0b3J5LFxyXG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxyXG4gICAgX3N0b3JlOiBTdG9yZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KFJPT1RfU1RBVEVfVE9LRU4pXHJcbiAgICBzdGF0ZXM6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gW10sXHJcbiAgICBsaWZlY3ljbGVTdGF0ZU1hbmFnZXI6IExpZmVjeWNsZVN0YXRlTWFuYWdlclxyXG4gICkge1xyXG4gICAgLy8gSWYgdGhlIHVzZXIgaXMgcnVubmluZyBWaWV3IEVuZ2luZSB0aGVuIHdlIGNyZWF0ZSB0aGUgYFNlbGVjdEZhY3RvcnlgIGluc3RhbmNlLFxyXG4gICAgLy8gb3RoZXJ3aXNlIGl0J2xsIGJlIHRyZWUtc2hha2VuIGF3YXkgaW4gSXZ5LlxyXG4gICAgIcm1aXZ5RW5hYmxlZCAmJiBpbmplY3Rvci5nZXQoU2VsZWN0RmFjdG9yeSk7XHJcblxyXG4gICAgLy8gQWRkIHN0b3JlcyB0byB0aGUgc3RhdGUgZ3JhcGggYW5kIHJldHVybiB0aGVpciBkZWZhdWx0c1xyXG4gICAgY29uc3QgcmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMgPSBmYWN0b3J5LmFkZEFuZFJldHVybkRlZmF1bHRzKHN0YXRlcyk7XHJcblxyXG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xyXG5cclxuICAgIC8vIENvbm5lY3Qgb3VyIGFjdGlvbnMgc3RyZWFtXHJcbiAgICBmYWN0b3J5LmNvbm5lY3RBY3Rpb25IYW5kbGVycygpO1xyXG5cclxuICAgIC8vIERpc3BhdGNoIHRoZSBpbml0IGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXJcclxuICAgIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBJbml0U3RhdGUoKSwgcmVzdWx0cyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/src/store.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// tslint:disable:unified-signatures
|
|
6
6
|
import { Inject, Injectable, Optional } from '@angular/core';
|
|
7
7
|
import { of, throwError } from 'rxjs';
|
|
8
|
-
import { catchError, distinctUntilChanged, map, take } from 'rxjs/operators';
|
|
8
|
+
import { catchError, distinctUntilChanged, map, publishReplay, refCount, take } from 'rxjs/operators';
|
|
9
9
|
import { INITIAL_STATE_TOKEN } from '@ngxs/store/internals';
|
|
10
10
|
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
11
11
|
import { InternalStateOperations } from './internal/state-operations';
|
|
@@ -29,6 +29,12 @@ export class Store {
|
|
|
29
29
|
this._config = _config;
|
|
30
30
|
this._internalExecutionStrategy = _internalExecutionStrategy;
|
|
31
31
|
this._stateFactory = _stateFactory;
|
|
32
|
+
/**
|
|
33
|
+
* This is a derived state stream that leaves NGXS execution strategy to emit state changes within the Angular zone,
|
|
34
|
+
* because state is being changed actually within the `<root>` zone, see `InternalDispatcher#dispatchSingle`.
|
|
35
|
+
* All selects would use this stream, and it would call leave only once for any state change across all active selectors.
|
|
36
|
+
*/
|
|
37
|
+
this._selectableStateStream = this._stateStream.pipe(leaveNgxs(this._internalExecutionStrategy), publishReplay(1), refCount());
|
|
32
38
|
this.initStateStream(initialStateValue);
|
|
33
39
|
}
|
|
34
40
|
/**
|
|
@@ -46,7 +52,7 @@ export class Store {
|
|
|
46
52
|
select(selector) {
|
|
47
53
|
/** @type {?} */
|
|
48
54
|
const selectorFn = this.getStoreBoundSelectorFn(selector);
|
|
49
|
-
return this.
|
|
55
|
+
return this._selectableStateStream.pipe(map(selectorFn), catchError((/**
|
|
50
56
|
* @param {?} err
|
|
51
57
|
* @return {?}
|
|
52
58
|
*/
|
|
@@ -82,7 +88,9 @@ export class Store {
|
|
|
82
88
|
* @return {?}
|
|
83
89
|
*/
|
|
84
90
|
subscribe(fn) {
|
|
85
|
-
return this.
|
|
91
|
+
return this._selectableStateStream
|
|
92
|
+
.pipe(leaveNgxs(this._internalExecutionStrategy))
|
|
93
|
+
.subscribe(fn);
|
|
86
94
|
}
|
|
87
95
|
/**
|
|
88
96
|
* Return the raw value of the state.
|
|
@@ -145,6 +153,14 @@ Store.ctorParameters = () => [
|
|
|
145
153
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [INITIAL_STATE_TOKEN,] }] }
|
|
146
154
|
];
|
|
147
155
|
if (false) {
|
|
156
|
+
/**
|
|
157
|
+
* This is a derived state stream that leaves NGXS execution strategy to emit state changes within the Angular zone,
|
|
158
|
+
* because state is being changed actually within the `<root>` zone, see `InternalDispatcher#dispatchSingle`.
|
|
159
|
+
* All selects would use this stream, and it would call leave only once for any state change across all active selectors.
|
|
160
|
+
* @type {?}
|
|
161
|
+
* @private
|
|
162
|
+
*/
|
|
163
|
+
Store.prototype._selectableStateStream;
|
|
148
164
|
/**
|
|
149
165
|
* @type {?}
|
|
150
166
|
* @private
|
|
@@ -171,4 +187,4 @@ if (false) {
|
|
|
171
187
|
*/
|
|
172
188
|
Store.prototype._stateFactory;
|
|
173
189
|
}
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQWMsRUFBRSxFQUFnQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd4RCxNQUFNLE9BQU8sS0FBSzs7Ozs7Ozs7O0lBQ2hCLFlBQ1UsWUFBeUIsRUFDekIsd0JBQWlELEVBQ2pELE9BQW1CLEVBQ25CLDBCQUF5RCxFQUN6RCxhQUEyQixFQUduQyxpQkFBc0I7UUFQZCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUErQjtRQUN6RCxrQkFBYSxHQUFiLGFB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QUFXLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7OztZQTdHRixVQUFVOzs7O1lBTkYsV0FBVztZQUZYLHVCQUF1QjtZQUl2QixVQUFVO1lBTFYsNkJBQTZCO1lBTzdCLFlBQVk7NENBVWhCLFFBQVEsWUFDUixNQUFNLFNBQUMsbUJBQW1COzs7Ozs7O0lBTjNCLDZCQUFpQzs7Ozs7SUFDakMseUNBQXlEOzs7OztJQUN6RCx3QkFBMkI7Ozs7O0lBQzNCLDJDQUFpRTs7Ozs7SUFDakUsOEJBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dW5pZmllZC1zaWduYXR1cmVzXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJTklUSUFMX1NUQVRFX1RPS0VOLCBQbGFpbk9iamVjdCB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XHJcblxyXG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBnZXRSb290U2VsZWN0b3JGYWN0b3J5IH0gZnJvbSAnLi91dGlscy9zZWxlY3Rvci11dGlscyc7XHJcbmltcG9ydCB7IFN0YXRlU3RyZWFtIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1zdHJlYW0nO1xyXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcclxuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4vc3ltYm9scyc7XHJcbmltcG9ydCB7IFN0YXRlVG9rZW4gfSBmcm9tICcuL3N0YXRlLXRva2VuL3N0YXRlLXRva2VuJztcclxuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0b3JlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0YXRlU3RyZWFtOiBTdGF0ZVN0cmVhbSxcclxuICAgIHByaXZhdGUgX2ludGVybmFsU3RhdGVPcGVyYXRpb25zOiBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyxcclxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZyxcclxuICAgIHByaXZhdGUgX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3k6IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxyXG4gICAgcHJpdmF0ZSBfc3RhdGVGYWN0b3J5OiBTdGF0ZUZhY3RvcnksXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQEluamVjdChJTklUSUFMX1NUQVRFX1RPS0VOKVxyXG4gICAgaW5pdGlhbFN0YXRlVmFsdWU6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGF0Y2hlcyBldmVudChzKS5cclxuICAgKi9cclxuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9ucy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCkuZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdHMgYSBzbGljZSBvZiBkYXRhIGZyb20gdGhlIHN0b3JlLlxyXG4gICAqL1xyXG4gIHNlbGVjdDxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIHNlbGVjdDxUID0gYW55PihzZWxlY3Rvcjogc3RyaW5nIHwgVHlwZTxhbnk+KTogT2JzZXJ2YWJsZTxUPjtcclxuICBzZWxlY3Q8VD4oc2VsZWN0b3I6IFN0YXRlVG9rZW48VD4pOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIHNlbGVjdChzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHNlbGVjdG9yRm4gPSB0aGlzLmdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yKTtcclxuICAgIHJldHVybiB0aGlzLl9zdGF0ZVN0cmVhbS5waXBlKFxyXG4gICAgICBtYXAoc2VsZWN0b3JGbiksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogRXJyb3IpOiBPYnNlcnZhYmxlPG5ldmVyPiB8IE9ic2VydmFibGU8dW5kZWZpbmVkPiA9PiB7XHJcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgVHlwZUVycm9yIHdlIHN3YWxsb3cgaXQgdG8gcHJldmVudCB1c3VhbCBlcnJvcnMgd2l0aCBwcm9wZXJ0eSBhY2Nlc3NcclxuICAgICAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSB0aGlzLl9jb25maWcuc2VsZWN0b3JPcHRpb25zO1xyXG5cclxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHN1cHByZXNzRXJyb3JzKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgfSksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBvbmUgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cclxuICAgKi9cclxuXHJcbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIHNlbGVjdE9uY2U8VCA9IGFueT4oc2VsZWN0b3I6IHN0cmluZyB8IFR5cGU8YW55Pik6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogU3RhdGVUb2tlbjxUPik6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0T25jZShzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdChzZWxlY3RvcikucGlwZSh0YWtlKDEpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBhIHNuYXBzaG90IGZyb20gdGhlIHN0YXRlLlxyXG4gICAqL1xyXG4gIHNlbGVjdFNuYXBzaG90PFQ+KHNlbGVjdG9yOiAoc3RhdGU6IGFueSwgLi4uc3RhdGVzOiBhbnlbXSkgPT4gVCk6IFQ7XHJcbiAgc2VsZWN0U25hcHNob3Q8VCA9IGFueT4oc2VsZWN0b3I6IHN0cmluZyB8IFR5cGU8YW55Pik6IFQ7XHJcbiAgc2VsZWN0U25hcHNob3Q8VD4oc2VsZWN0b3I6IFN0YXRlVG9rZW48VD4pOiBUO1xyXG4gIHNlbGVjdFNuYXBzaG90KHNlbGVjdG9yOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xyXG4gICAgcmV0dXJuIHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzdWJzY3JpYmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHN0YXRlXHJcbiAgICovXHJcbiAgc3Vic2NyaWJlKGZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlU3RyZWFtLnBpcGUobGVhdmVOZ3hzKHRoaXMuX2ludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKS5zdWJzY3JpYmUoZm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIHN0YXRlLlxyXG4gICAqL1xyXG4gIHNuYXBzaG90KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmdldFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWxcclxuICAgKiBmb3IgcGx1Z2luJ3Mgd2hvIG5lZWQgdG8gbW9kaWZ5IHRoZSBzdGF0ZSBkaXJlY3RseSBvciB1bml0IHRlc3RpbmcuXHJcbiAgICovXHJcbiAgcmVzZXQoc3RhdGU6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5zZXRTdGF0ZShzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yOiBhbnkpIHtcclxuICAgIGNvbnN0IG1ha2VTZWxlY3RvckZuID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XHJcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XHJcbiAgICByZXR1cm4gbWFrZVNlbGVjdG9yRm4ocnVudGltZUNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWU6IFBsYWluT2JqZWN0ID0gdGhpcy5fc3RhdGVTdHJlYW0udmFsdWU7XHJcbiAgICBjb25zdCBzdG9yZUlzRW1wdHk6IGJvb2xlYW4gPSAhdmFsdWUgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcclxuICAgIGlmIChzdG9yZUlzRW1wdHkpIHtcclxuICAgICAgY29uc3QgZGVmYXVsdFN0YXRlTm90RW1wdHk6IGJvb2xlYW4gPSBPYmplY3Qua2V5cyh0aGlzLl9jb25maWcuZGVmYXVsdHNTdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgY29uc3Qgc3RvcmVWYWx1ZXM6IFBsYWluT2JqZWN0ID0gZGVmYXVsdFN0YXRlTm90RW1wdHlcclxuICAgICAgICA/IHsgLi4udGhpcy5fY29uZmlnLmRlZmF1bHRzU3RhdGUsIC4uLmluaXRpYWxTdGF0ZVZhbHVlIH1cclxuICAgICAgICA6IGluaXRpYWxTdGF0ZVZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChzdG9yZVZhbHVlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQWMsRUFBRSxFQUFnQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUNMLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILGFBQWEsRUFDYixRQUFRLEVBQ1IsSUFBSSxFQUNMLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd4RCxNQUFNLE9BQU8sS0FBSzs7Ozs7Ozs7O0lBWWhCLFlBQ1UsWUFBeUIsRUFDekIsd0JBQWlELEVBQ2pELE9BQW1CLEVBQ25CLDBCQUF5RCxFQUN6RCxhQUEyQixFQUduQyxpQkFBc0I7UUFQZCxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2pELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUEr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QUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQzs7a0JBQ2xGLFdBQVcsR0FBZ0Isb0JBQW9CO2dCQUNuRCxDQUFDLG1CQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFLLGlCQUFpQixFQUN2RCxDQUFDLENBQUMsaUJBQWlCO1lBRXJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQzs7O1lBMUhGLFVBQVU7Ozs7WUFORixXQUFXO1lBRlgsdUJBQXVCO1lBSXZCLFVBQVU7WUFMViw2QkFBNkI7WUFPN0IsWUFBWTs0Q0FxQmhCLFFBQVEsWUFDUixNQUFNLFNBQUMsbUJBQW1COzs7Ozs7Ozs7O0lBYjdCLHVDQUlFOzs7OztJQUdBLDZCQUFpQzs7Ozs7SUFDakMseUNBQXlEOzs7OztJQUN6RCx3QkFBMkI7Ozs7O0lBQzNCLDJDQUFpRTs7Ozs7SUFDakUsOEJBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6dW5pZmllZC1zaWduYXR1cmVzXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIGNhdGNoRXJyb3IsXHJcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXHJcbiAgbWFwLFxyXG4gIHB1Ymxpc2hSZXBsYXksXHJcbiAgcmVmQ291bnQsXHJcbiAgdGFrZVxyXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSU5JVElBTF9TVEFURV9UT0tFTiwgUGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xyXG5cclxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XHJcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcclxuaW1wb3J0IHsgZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeSB9IGZyb20gJy4vdXRpbHMvc2VsZWN0b3ItdXRpbHMnO1xyXG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtc3RyZWFtJztcclxuaW1wb3J0IHsgbGVhdmVOZ3hzIH0gZnJvbSAnLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XHJcbmltcG9ydCB7IE5neHNDb25maWcgfSBmcm9tICcuL3N5bWJvbHMnO1xyXG5pbXBvcnQgeyBTdGF0ZVRva2VuIH0gZnJvbSAnLi9zdGF0ZS10b2tlbi9zdGF0ZS10b2tlbic7XHJcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtZmFjdG9yeSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdG9yZSB7XHJcbiAgLyoqXHJcbiAgICogVGhpcyBpcyBhIGRlcml2ZWQgc3RhdGUgc3RyZWFtIHRoYXQgbGVhdmVzIE5HWFMgZXhlY3V0aW9uIHN0cmF0ZWd5IHRvIGVtaXQgc3RhdGUgY2hhbmdlcyB3aXRoaW4gdGhlIEFuZ3VsYXIgem9uZSxcclxuICAgKiBiZWNhdXNlIHN0YXRlIGlzIGJlaW5nIGNoYW5nZWQgYWN0dWFsbHkgd2l0aGluIHRoZSBgPHJvb3Q+YCB6b25lLCBzZWUgYEludGVybmFsRGlzcGF0Y2hlciNkaXNwYXRjaFNpbmdsZWAuXHJcbiAgICogQWxsIHNlbGVjdHMgd291bGQgdXNlIHRoaXMgc3RyZWFtLCBhbmQgaXQgd291bGQgY2FsbCBsZWF2ZSBvbmx5IG9uY2UgZm9yIGFueSBzdGF0ZSBjaGFuZ2UgYWNyb3NzIGFsbCBhY3RpdmUgc2VsZWN0b3JzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3NlbGVjdGFibGVTdGF0ZVN0cmVhbSA9IHRoaXMuX3N0YXRlU3RyZWFtLnBpcGUoXHJcbiAgICBsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSksXHJcbiAgICBwdWJsaXNoUmVwbGF5KDEpLFxyXG4gICAgcmVmQ291bnQoKVxyXG4gICk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxyXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBOZ3hzQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXHJcbiAgICBwcml2YXRlIF9zdGF0ZUZhY3Rvcnk6IFN0YXRlRmFjdG9yeSxcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBASW5qZWN0KElOSVRJQUxfU1RBVEVfVE9LRU4pXHJcbiAgICBpbml0aWFsU3RhdGVWYWx1ZTogYW55XHJcbiAgKSB7XHJcbiAgICB0aGlzLmluaXRTdGF0ZVN0cmVhbShpbml0aWFsU3RhdGVWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXRjaGVzIGV2ZW50KHMpLlxyXG4gICAqL1xyXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5kaXNwYXRjaChhY3Rpb25PckFjdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VsZWN0cyBhIHNsaWNlIG9mIGRhdGEgZnJvbSB0aGUgc3RvcmUuXHJcbiAgICovXHJcbiAgc2VsZWN0PFQ+KHNlbGVjdG9yOiAoc3RhdGU6IGFueSwgLi4uc3RhdGVzOiBhbnlbXSkgPT4gVCk6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0PFQgPSBhbnk+KHNlbGVjdG9yOiBzdHJpbmcgfCBUeXBlPGFueT4pOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIHNlbGVjdDxUPihzZWxlY3RvcjogU3RhdGVUb2tlbjxUPik6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0KHNlbGVjdG9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbS5waXBlKFxyXG4gICAgICBtYXAoc2VsZWN0b3JGbiksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogRXJyb3IpOiBPYnNlcnZhYmxlPG5ldmVyPiB8IE9ic2VydmFibGU8dW5kZWZpbmVkPiA9PiB7XHJcbiAgICAgICAgLy8gaWYgZXJyb3IgaXMgVHlwZUVycm9yIHdlIHN3YWxsb3cgaXQgdG8gcHJldmVudCB1c3VhbCBlcnJvcnMgd2l0aCBwcm9wZXJ0eSBhY2Nlc3NcclxuICAgICAgICBjb25zdCB7IHN1cHByZXNzRXJyb3JzIH0gPSB0aGlzLl9jb25maWcuc2VsZWN0b3JPcHRpb25zO1xyXG5cclxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHN1cHByZXNzRXJyb3JzKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHJldGhyb3cgb3RoZXIgZXJyb3JzXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgfSksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9pbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBvbmUgc2xpY2Ugb2YgZGF0YSBmcm9tIHRoZSBzdG9yZS5cclxuICAgKi9cclxuXHJcbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogKHN0YXRlOiBhbnksIC4uLnN0YXRlczogYW55W10pID0+IFQpOiBPYnNlcnZhYmxlPFQ+O1xyXG4gIHNlbGVjdE9uY2U8VCA9IGFueT4oc2VsZWN0b3I6IHN0cmluZyB8IFR5cGU8YW55Pik6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0T25jZTxUPihzZWxlY3RvcjogU3RhdGVUb2tlbjxUPik6IE9ic2VydmFibGU8VD47XHJcbiAgc2VsZWN0T25jZShzZWxlY3RvcjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdChzZWxlY3RvcikucGlwZSh0YWtlKDEpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBhIHNuYXBzaG90IGZyb20gdGhlIHN0YXRlLlxyXG4gICAqL1xyXG4gIHNlbGVjdFNuYXBzaG90PFQ+KHNlbGVjdG9yOiAoc3RhdGU6IGFueSwgLi4uc3RhdGVzOiBhbnlbXSkgPT4gVCk6IFQ7XHJcbiAgc2VsZWN0U25hcHNob3Q8VCA9IGFueT4oc2VsZWN0b3I6IHN0cmluZyB8IFR5cGU8YW55Pik6IFQ7XHJcbiAgc2VsZWN0U25hcHNob3Q8VD4oc2VsZWN0b3I6IFN0YXRlVG9rZW48VD4pOiBUO1xyXG4gIHNlbGVjdFNuYXBzaG90KHNlbGVjdG9yOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3Qgc2VsZWN0b3JGbiA9IHRoaXMuZ2V0U3RvcmVCb3VuZFNlbGVjdG9yRm4oc2VsZWN0b3IpO1xyXG4gICAgcmV0dXJuIHNlbGVjdG9yRm4odGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyB0aGUgdXNlciB0byBzdWJzY3JpYmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHN0YXRlXHJcbiAgICovXHJcbiAgc3Vic2NyaWJlKGZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGVTdGF0ZVN0cmVhbVxyXG4gICAgICAucGlwZShsZWF2ZU5neHModGhpcy5faW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoZm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSByYXcgdmFsdWUgb2YgdGhlIHN0YXRlLlxyXG4gICAqL1xyXG4gIHNuYXBzaG90KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpLmdldFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCB0aGUgc3RhdGUgdG8gYSBzcGVjaWZpYyBwb2ludCBpbiB0aW1lLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWxcclxuICAgKiBmb3IgcGx1Z2luJ3Mgd2hvIG5lZWQgdG8gbW9kaWZ5IHRoZSBzdGF0ZSBkaXJlY3RseSBvciB1bml0IHRlc3RpbmcuXHJcbiAgICovXHJcbiAgcmVzZXQoc3RhdGU6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKS5zZXRTdGF0ZShzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN0b3JlQm91bmRTZWxlY3RvckZuKHNlbGVjdG9yOiBhbnkpIHtcclxuICAgIGNvbnN0IG1ha2VTZWxlY3RvckZuID0gZ2V0Um9vdFNlbGVjdG9yRmFjdG9yeShzZWxlY3Rvcik7XHJcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuX3N0YXRlRmFjdG9yeS5nZXRSdW50aW1lU2VsZWN0b3JDb250ZXh0KCk7XHJcbiAgICByZXR1cm4gbWFrZVNlbGVjdG9yRm4ocnVudGltZUNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0U3RhdGVTdHJlYW0oaW5pdGlhbFN0YXRlVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWU6IFBsYWluT2JqZWN0ID0gdGhpcy5fc3RhdGVTdHJlYW0udmFsdWU7XHJcbiAgICBjb25zdCBzdG9yZUlzRW1wdHk6IGJvb2xlYW4gPSAhdmFsdWUgfHwgT2JqZWN0LmtleXModmFsdWUpLmxlbmd0aCA9PT0gMDtcclxuICAgIGlmIChzdG9yZUlzRW1wdHkpIHtcclxuICAgICAgY29uc3QgZGVmYXVsdFN0YXRlTm90RW1wdHk6IGJvb2xlYW4gPSBPYmplY3Qua2V5cyh0aGlzLl9jb25maWcuZGVmYXVsdHNTdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgY29uc3Qgc3RvcmVWYWx1ZXM6IFBsYWluT2JqZWN0ID0gZGVmYXVsdFN0YXRlTm90RW1wdHlcclxuICAgICAgICA/IHsgLi4udGhpcy5fY29uZmlnLmRlZmF1bHRzU3RhdGUsIC4uLmluaXRpYWxTdGF0ZVZhbHVlIH1cclxuICAgICAgICA6IGluaXRpYWxTdGF0ZVZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChzdG9yZVZhbHVlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|