@ngxs/store 3.7.4 → 3.7.5-dev.master-887cc32
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/README.md +16 -16
- package/bundles/ngxs-store-internals-testing.umd.js +315 -315
- package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
- package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
- package/bundles/ngxs-store-internals.umd.js +192 -397
- 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-operators.umd.js +311 -310
- package/bundles/ngxs-store-operators.umd.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.min.js +1 -1
- package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +4405 -4481
- 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/index.js +13 -13
- package/esm2015/internals/angular.js +20 -20
- package/esm2015/internals/index.js +10 -11
- package/esm2015/internals/initial-state.js +34 -34
- package/esm2015/internals/internal-tokens.js +16 -16
- package/esm2015/internals/memoize.js +70 -70
- package/esm2015/internals/ngxs-bootstrapper.js +41 -41
- package/esm2015/internals/ngxs-store-internals.js +9 -9
- package/esm2015/internals/src/symbols.js +14 -14
- package/esm2015/internals/symbols.js +14 -14
- package/esm2015/internals/testing/fresh-platform.js +110 -110
- package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
- package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
- package/esm2015/internals/testing/index.js +8 -8
- package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
- package/esm2015/internals/testing/ngxs.setup.js +76 -76
- package/esm2015/internals/testing/skip-console-logging.js +62 -62
- package/esm2015/internals/testing/symbol.js +29 -29
- package/esm2015/ngxs-store.js +24 -23
- package/esm2015/operators/append.js +31 -31
- package/esm2015/operators/compose.js +24 -24
- package/esm2015/operators/iif.js +56 -56
- package/esm2015/operators/index.js +18 -18
- package/esm2015/operators/insert-item.js +41 -41
- package/esm2015/operators/internals.js +5 -5
- package/esm2015/operators/ngxs-store-operators.js +8 -8
- package/esm2015/operators/patch.js +38 -39
- package/esm2015/operators/remove-item.js +34 -34
- package/esm2015/operators/update-item.js +54 -52
- package/esm2015/operators/utils.js +50 -50
- package/esm2015/src/actions/actions.js +39 -39
- package/esm2015/src/actions/symbols.js +39 -39
- package/esm2015/src/actions-stream.js +138 -140
- package/esm2015/src/configs/messages.config.js +79 -79
- package/esm2015/src/decorators/action.js +48 -48
- package/esm2015/src/decorators/select/select-factory.js +45 -49
- package/esm2015/src/decorators/select/select.js +45 -81
- package/esm2015/src/decorators/select/symbols.js +50 -94
- package/esm2015/src/decorators/selector/selector.js +59 -59
- package/esm2015/src/decorators/selector/symbols.js +5 -5
- package/esm2015/src/decorators/selector-options.js +34 -34
- package/esm2015/src/decorators/state.js +77 -83
- package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
- package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
- package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
- package/esm2015/src/execution/symbols.js +52 -52
- package/esm2015/src/internal/dispatcher.js +219 -217
- package/esm2015/src/internal/internals.js +493 -493
- package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
- package/esm2015/src/internal/state-context-factory.js +138 -138
- package/esm2015/src/internal/state-factory.js +457 -449
- package/esm2015/src/internal/state-operations.js +124 -133
- package/esm2015/src/internal/state-operators.js +33 -33
- package/esm2015/src/internal/state-stream.js +30 -30
- package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
- package/esm2015/src/module.js +159 -157
- package/esm2015/src/modules/ngxs-feature.module.js +63 -63
- package/esm2015/src/modules/ngxs-root.module.js +49 -52
- package/esm2015/src/operators/leave-ngxs.js +58 -58
- package/esm2015/src/operators/of-action.js +197 -191
- package/esm2015/src/plugin-manager.js +70 -70
- package/esm2015/src/plugin_api.js +10 -10
- package/esm2015/src/public_api.js +29 -29
- package/esm2015/src/public_to_deprecate.js +64 -64
- package/esm2015/src/state-token/state-token.js +45 -45
- package/esm2015/src/state-token/symbols.js +5 -5
- package/esm2015/src/store.js +190 -190
- package/esm2015/src/symbols.js +221 -220
- package/esm2015/src/utils/compose.js +44 -44
- package/esm2015/src/utils/freeze.js +35 -35
- package/esm2015/src/utils/selector-utils.js +221 -221
- package/esm2015/src/utils/store-validators.js +60 -60
- package/esm2015/src/utils/utils.js +143 -143
- package/esm5/index.js +13 -13
- package/esm5/internals/angular.js +20 -20
- package/esm5/internals/index.js +10 -11
- package/esm5/internals/initial-state.js +45 -45
- package/esm5/internals/internal-tokens.js +16 -16
- package/esm5/internals/memoize.js +71 -71
- package/esm5/internals/ngxs-bootstrapper.js +56 -56
- package/esm5/internals/ngxs-store-internals.js +9 -9
- package/esm5/internals/src/symbols.js +14 -14
- package/esm5/internals/symbols.js +14 -14
- package/esm5/internals/testing/fresh-platform.js +121 -121
- package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
- package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
- package/esm5/internals/testing/index.js +8 -8
- package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
- package/esm5/internals/testing/ngxs.setup.js +98 -98
- package/esm5/internals/testing/skip-console-logging.js +62 -62
- package/esm5/internals/testing/symbol.js +29 -29
- package/esm5/ngxs-store.js +24 -23
- package/esm5/operators/append.js +31 -31
- package/esm5/operators/compose.js +28 -28
- package/esm5/operators/iif.js +56 -56
- package/esm5/operators/index.js +18 -18
- package/esm5/operators/insert-item.js +41 -41
- package/esm5/operators/internals.js +5 -5
- package/esm5/operators/ngxs-store-operators.js +8 -8
- package/esm5/operators/patch.js +39 -40
- package/esm5/operators/remove-item.js +34 -34
- package/esm5/operators/update-item.js +54 -52
- package/esm5/operators/utils.js +50 -50
- package/esm5/src/actions/actions.js +62 -62
- package/esm5/src/actions/symbols.js +39 -39
- package/esm5/src/actions-stream.js +184 -186
- package/esm5/src/configs/messages.config.js +79 -79
- package/esm5/src/decorators/action.js +60 -60
- package/esm5/src/decorators/select/select-factory.js +46 -50
- package/esm5/src/decorators/select/select.js +50 -87
- package/esm5/src/decorators/select/symbols.js +51 -95
- package/esm5/src/decorators/selector/selector.js +59 -59
- package/esm5/src/decorators/selector/symbols.js +5 -5
- package/esm5/src/decorators/selector-options.js +34 -34
- package/esm5/src/decorators/state.js +78 -84
- package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
- package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
- package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
- package/esm5/src/execution/symbols.js +52 -52
- package/esm5/src/internal/dispatcher.js +255 -253
- package/esm5/src/internal/internals.js +495 -495
- package/esm5/src/internal/lifecycle-state-manager.js +177 -177
- package/esm5/src/internal/state-context-factory.js +146 -146
- package/esm5/src/internal/state-factory.js +583 -575
- package/esm5/src/internal/state-operations.js +134 -143
- package/esm5/src/internal/state-operators.js +34 -34
- package/esm5/src/internal/state-stream.js +37 -37
- package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
- package/esm5/src/module.js +202 -200
- package/esm5/src/modules/ngxs-feature.module.js +65 -65
- package/esm5/src/modules/ngxs-root.module.js +44 -47
- package/esm5/src/operators/leave-ngxs.js +58 -58
- package/esm5/src/operators/of-action.js +223 -217
- package/esm5/src/plugin-manager.js +82 -82
- package/esm5/src/plugin_api.js +10 -10
- package/esm5/src/public_api.js +29 -29
- package/esm5/src/public_to_deprecate.js +64 -64
- package/esm5/src/state-token/state-token.js +57 -57
- package/esm5/src/state-token/symbols.js +5 -5
- package/esm5/src/store.js +241 -241
- package/esm5/src/symbols.js +230 -229
- package/esm5/src/utils/compose.js +55 -55
- package/esm5/src/utils/freeze.js +35 -35
- package/esm5/src/utils/selector-utils.js +230 -230
- package/esm5/src/utils/store-validators.js +78 -78
- package/esm5/src/utils/utils.js +151 -151
- package/fesm2015/ngxs-store-internals-testing.js +274 -274
- package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
- package/fesm2015/ngxs-store-internals.js +175 -377
- package/fesm2015/ngxs-store-internals.js.map +1 -1
- package/fesm2015/ngxs-store-operators.js +313 -312
- package/fesm2015/ngxs-store-operators.js.map +1 -1
- package/fesm2015/ngxs-store.js +3919 -3995
- package/fesm2015/ngxs-store.js.map +1 -1
- package/fesm5/ngxs-store-internals-testing.js +321 -321
- package/fesm5/ngxs-store-internals-testing.js.map +1 -1
- package/fesm5/ngxs-store-internals.js +200 -402
- package/fesm5/ngxs-store-internals.js.map +1 -1
- package/fesm5/ngxs-store-operators.js +317 -316
- package/fesm5/ngxs-store-operators.js.map +1 -1
- package/fesm5/ngxs-store.js +4414 -4491
- package/fesm5/ngxs-store.js.map +1 -1
- package/index.d.ts +8 -8
- package/internals/angular.d.ts +1 -1
- package/internals/index.d.ts +6 -7
- package/internals/initial-state.d.ts +8 -8
- package/internals/internal-tokens.d.ts +9 -9
- package/internals/memoize.d.ts +9 -9
- package/internals/ngxs-bootstrapper.d.ts +13 -13
- package/internals/ngxs-store-internals.d.ts +4 -4
- package/internals/ngxs-store-internals.metadata.json +1 -1
- package/internals/src/symbols.d.ts +7 -7
- package/internals/symbols.d.ts +7 -7
- package/internals/testing/fresh-platform.d.ts +1 -1
- package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
- package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
- package/internals/testing/index.d.ts +4 -4
- package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
- package/internals/testing/ngxs.setup.d.ts +7 -7
- package/internals/testing/skip-console-logging.d.ts +1 -1
- package/internals/testing/symbol.d.ts +14 -14
- package/ngxs-store.d.ts +20 -19
- package/ngxs-store.metadata.json +1 -1
- package/operators/append.d.ts +6 -6
- package/operators/compose.d.ts +3 -2
- package/operators/iif.d.ts +11 -11
- package/operators/index.d.ts +13 -13
- package/operators/insert-item.d.ts +7 -7
- package/operators/internals.d.ts +2 -2
- package/operators/ngxs-store-operators.d.ts +4 -4
- package/operators/ngxs-store-operators.metadata.json +1 -1
- package/operators/patch.d.ts +6 -10
- package/operators/remove-item.d.ts +7 -7
- package/operators/update-item.d.ts +10 -10
- package/operators/utils.d.ts +10 -9
- package/package.json +2 -2
- package/src/actions/actions.d.ts +15 -15
- package/src/actions/symbols.d.ts +21 -21
- package/src/actions-stream.d.ts +49 -49
- package/src/configs/messages.config.d.ts +11 -11
- package/src/decorators/action.d.ts +5 -5
- package/src/decorators/select/select-factory.d.ts +13 -13
- package/src/decorators/select/select.d.ts +4 -4
- package/src/decorators/select/symbols.d.ts +10 -14
- package/src/decorators/selector/selector.d.ts +5 -5
- package/src/decorators/selector/symbols.d.ts +4 -4
- package/src/decorators/selector-options.d.ts +5 -5
- package/src/decorators/state.d.ts +6 -6
- package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
- package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
- package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
- package/src/execution/symbols.d.ts +10 -10
- package/src/internal/dispatcher.d.ts +32 -32
- package/src/internal/internals.d.ts +166 -166
- package/src/internal/lifecycle-state-manager.d.ts +20 -20
- package/src/internal/state-context-factory.d.ts +15 -15
- package/src/internal/state-factory.d.ts +57 -57
- package/src/internal/state-operations.d.ts +19 -19
- package/src/internal/state-operators.d.ts +2 -2
- package/src/internal/state-stream.d.ts +11 -11
- package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
- package/src/module.d.ts +23 -23
- package/src/modules/ngxs-feature.module.d.ts +13 -13
- package/src/modules/ngxs-root.module.d.ts +13 -13
- package/src/operators/leave-ngxs.d.ts +7 -7
- package/src/operators/of-action.d.ts +56 -43
- package/src/plugin-manager.d.ts +10 -10
- package/src/plugin_api.d.ts +5 -5
- package/src/public_api.d.ts +17 -17
- package/src/public_to_deprecate.d.ts +21 -21
- package/src/state-token/state-token.d.ts +7 -7
- package/src/state-token/symbols.d.ts +5 -5
- package/src/store.d.ts +59 -59
- package/src/symbols.d.ts +139 -138
- package/src/utils/compose.d.ts +23 -23
- package/src/utils/freeze.d.ts +5 -5
- package/src/utils/selector-utils.d.ts +23 -23
- package/src/utils/store-validators.d.ts +7 -7
- package/src/utils/utils.d.ts +46 -46
- package/types/index.d.ts +2 -2
- package/esm2015/internals/decorator-injector-adapter.js +0 -204
- package/esm5/internals/decorator-injector-adapter.js +0 -204
- package/internals/decorator-injector-adapter.d.ts +0 -15
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @record
|
|
7
|
-
* @template T, U
|
|
8
|
-
*/
|
|
9
|
-
export function ActionDef() { }
|
|
10
|
-
if (false) {
|
|
11
|
-
/** @type {?} */
|
|
12
|
-
ActionDef.prototype.type;
|
|
13
|
-
/* Skipping unhandled member: new (...args: T[]): U;*/
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Actions that can be provided in a action decorator.
|
|
17
|
-
* @record
|
|
18
|
-
*/
|
|
19
|
-
export function ActionOptions() { }
|
|
20
|
-
if (false) {
|
|
21
|
-
/**
|
|
22
|
-
* Cancel the previous uncompleted observable(s).
|
|
23
|
-
* @type {?|undefined}
|
|
24
|
-
*/
|
|
25
|
-
ActionOptions.prototype.cancelUncompleted;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @record
|
|
29
|
-
*/
|
|
30
|
-
export function ActionHandlerMetaData() { }
|
|
31
|
-
if (false) {
|
|
32
|
-
/** @type {?} */
|
|
33
|
-
ActionHandlerMetaData.prototype.fn;
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
ActionHandlerMetaData.prototype.options;
|
|
36
|
-
/** @type {?} */
|
|
37
|
-
ActionHandlerMetaData.prototype.type;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @record
|
|
7
|
+
* @template T, U
|
|
8
|
+
*/
|
|
9
|
+
export function ActionDef() { }
|
|
10
|
+
if (false) {
|
|
11
|
+
/** @type {?} */
|
|
12
|
+
ActionDef.prototype.type;
|
|
13
|
+
/* Skipping unhandled member: new (...args: T[]): U;*/
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Actions that can be provided in a action decorator.
|
|
17
|
+
* @record
|
|
18
|
+
*/
|
|
19
|
+
export function ActionOptions() { }
|
|
20
|
+
if (false) {
|
|
21
|
+
/**
|
|
22
|
+
* Cancel the previous uncompleted observable(s).
|
|
23
|
+
* @type {?|undefined}
|
|
24
|
+
*/
|
|
25
|
+
ActionOptions.prototype.cancelUncompleted;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @record
|
|
29
|
+
*/
|
|
30
|
+
export function ActionHandlerMetaData() { }
|
|
31
|
+
if (false) {
|
|
32
|
+
/** @type {?} */
|
|
33
|
+
ActionHandlerMetaData.prototype.fn;
|
|
34
|
+
/** @type {?} */
|
|
35
|
+
ActionHandlerMetaData.prototype.options;
|
|
36
|
+
/** @type {?} */
|
|
37
|
+
ActionHandlerMetaData.prototype.type;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2FjdGlvbnMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLCtCQUlDOzs7SUFIQyx5QkFBYTs7Ozs7OztBQVVmLG1DQUtDOzs7Ozs7SUFEQywwQ0FBNEI7Ozs7O0FBRzlCLDJDQUlDOzs7SUFIQyxtQ0FBb0I7O0lBQ3BCLHdDQUF1Qjs7SUFDdkIscUNBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjdGlvbkRlZjxUID0gYW55LCBVID0gYW55PiB7XG4gIHR5cGU6IHN0cmluZztcblxuICBuZXcgKC4uLmFyZ3M6IFRbXSk6IFU7XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGUgPSBBY3Rpb25EZWYgfCB7IHR5cGU6IHN0cmluZyB9O1xuXG4vKipcbiAqIEFjdGlvbnMgdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYSBhY3Rpb24gZGVjb3JhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogQ2FuY2VsIHRoZSBwcmV2aW91cyB1bmNvbXBsZXRlZCBvYnNlcnZhYmxlKHMpLlxuICAgKi9cbiAgY2FuY2VsVW5jb21wbGV0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkhhbmRsZXJNZXRhRGF0YSB7XG4gIGZuOiBzdHJpbmcgfCBzeW1ib2w7XG4gIG9wdGlvbnM6IEFjdGlvbk9wdGlvbnM7XG4gIHR5cGU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,140 +1,138 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
import { Subject, Observable } from 'rxjs';
|
|
7
|
-
import { leaveNgxs } from './operators/leave-ngxs';
|
|
8
|
-
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
9
|
-
/** @enum {string} */
|
|
10
|
-
const ActionStatus = {
|
|
11
|
-
Dispatched: 'DISPATCHED',
|
|
12
|
-
Successful: 'SUCCESSFUL',
|
|
13
|
-
Canceled: 'CANCELED',
|
|
14
|
-
Errored: 'ERRORED',
|
|
15
|
-
};
|
|
16
|
-
export { ActionStatus };
|
|
17
|
-
/**
|
|
18
|
-
* @record
|
|
19
|
-
* @template T
|
|
20
|
-
*/
|
|
21
|
-
export function ActionContext() { }
|
|
22
|
-
if (false) {
|
|
23
|
-
/** @type {?} */
|
|
24
|
-
ActionContext.prototype.status;
|
|
25
|
-
/** @type {?} */
|
|
26
|
-
ActionContext.prototype.action;
|
|
27
|
-
/** @type {?|undefined} */
|
|
28
|
-
ActionContext.prototype.error;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Custom Subject that ensures that subscribers are notified of values in the order that they arrived.
|
|
32
|
-
* A standard Subject does not have this guarantee.
|
|
33
|
-
* For example, given the following code:
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const subject = new Subject<string>();
|
|
36
|
-
* subject.subscribe(value => {
|
|
37
|
-
* if (value === 'start') subject.next('end');
|
|
38
|
-
* });
|
|
39
|
-
* subject.subscribe(value => { });
|
|
40
|
-
* subject.next('start');
|
|
41
|
-
* ```
|
|
42
|
-
* When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.
|
|
43
|
-
* When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.
|
|
44
|
-
* @template T
|
|
45
|
-
*/
|
|
46
|
-
export class OrderedSubject extends Subject {
|
|
47
|
-
constructor() {
|
|
48
|
-
super(...arguments);
|
|
49
|
-
this._itemQueue = [];
|
|
50
|
-
this._busyPushingNext = false;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* @param {?=} value
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
next(value) {
|
|
57
|
-
if (this._busyPushingNext) {
|
|
58
|
-
this._itemQueue.unshift((/** @type {?} */ (value)));
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this._busyPushingNext = true;
|
|
62
|
-
super.next(value);
|
|
63
|
-
while (this._itemQueue.length > 0) {
|
|
64
|
-
/** @type {?} */
|
|
65
|
-
const nextValue = this._itemQueue.pop();
|
|
66
|
-
super.next(nextValue);
|
|
67
|
-
}
|
|
68
|
-
this._busyPushingNext = false;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (false) {
|
|
72
|
-
/**
|
|
73
|
-
* @type {?}
|
|
74
|
-
* @private
|
|
75
|
-
*/
|
|
76
|
-
OrderedSubject.prototype._itemQueue;
|
|
77
|
-
/**
|
|
78
|
-
* @type {?}
|
|
79
|
-
* @private
|
|
80
|
-
*/
|
|
81
|
-
OrderedSubject.prototype._busyPushingNext;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Internal Action stream that is emitted anytime an action is dispatched.
|
|
85
|
-
*/
|
|
86
|
-
export class InternalActions extends OrderedSubject {
|
|
87
|
-
}
|
|
88
|
-
InternalActions.decorators = [
|
|
89
|
-
{ type: Injectable }
|
|
90
|
-
];
|
|
91
|
-
/**
|
|
92
|
-
* Action stream that is emitted anytime an action is dispatched.
|
|
93
|
-
*
|
|
94
|
-
* You can listen to this in services to react without stores.
|
|
95
|
-
*/
|
|
96
|
-
export class Actions extends Observable {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
];
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9hY3Rpb25zLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztJQU0zRixZQUFhLFlBQVk7SUFDekIsWUFBYSxZQUFZO0lBQ3pCLFVBQVcsVUFBVTtJQUNyQixTQUFVLFNBQVM7Ozs7Ozs7QUFHckIsbUNBSUM7OztJQUhDLCtCQUFxQjs7SUFDckIsK0JBQVU7O0lBQ1YsOEJBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCaEIsTUFBTSxPQUFPLGNBQWtCLFNBQVEsT0FBVTtJQUFqRDs7UUFDVSxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQWVuQyxDQUFDOzs7OztJQWJDLElBQUksQ0FBQyxLQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQUEsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNGOzs7Ozs7SUFoQkMsb0NBQTZCOzs7OztJQUM3QiwwQ0FBaUM7Ozs7O0FBcUJuQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUE2Qjs7O1lBRGpFLFVBQVU7Ozs7Ozs7QUFTWCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQWU7Ozs7Ozs7SUFHMUMsWUFDRSxnQkFBaUMsRUFDakMseUJBQXdEO1FBRXhELEtBQUs7Ozs7UUFBQyxRQUFRLENBQUMsRUFBRTs7a0JBQ1QsaUJBQWlCLEdBQUcsZ0JBQWdCO2lCQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUM7aUJBQzFDLFNBQVMsQ0FBQztnQkFDVCxJQUFJOzs7O2dCQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDL0IsS0FBSzs7OztnQkFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3JDLFFBQVE7OztnQkFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUE7YUFDcEMsQ0FBQztZQUVKLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQW5CRixVQUFVOzs7O1lBS1csZUFBZTtZQXBFNUIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcclxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XHJcblxyXG4vKipcclxuICogU3RhdHVzIG9mIGEgZGlzcGF0Y2hlZCBhY3Rpb25cclxuICovXHJcbmV4cG9ydCBjb25zdCBlbnVtIEFjdGlvblN0YXR1cyB7XHJcbiAgRGlzcGF0Y2hlZCA9ICdESVNQQVRDSEVEJyxcclxuICBTdWNjZXNzZnVsID0gJ1NVQ0NFU1NGVUwnLFxyXG4gIENhbmNlbGVkID0gJ0NBTkNFTEVEJyxcclxuICBFcnJvcmVkID0gJ0VSUk9SRUQnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dDxUID0gYW55PiB7XHJcbiAgc3RhdHVzOiBBY3Rpb25TdGF0dXM7XHJcbiAgYWN0aW9uOiBUO1xyXG4gIGVycm9yPzogRXJyb3I7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gU3ViamVjdCB0aGF0IGVuc3VyZXMgdGhhdCBzdWJzY3JpYmVycyBhcmUgbm90aWZpZWQgb2YgdmFsdWVzIGluIHRoZSBvcmRlciB0aGF0IHRoZXkgYXJyaXZlZC5cclxuICogQSBzdGFuZGFyZCBTdWJqZWN0IGRvZXMgbm90IGhhdmUgdGhpcyBndWFyYW50ZWUuXHJcbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgIHN1YmplY3Quc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgIGlmICh2YWx1ZSA9PT0gJ3N0YXJ0Jykgc3ViamVjdC5uZXh0KCdlbmQnKTtcclxuICAgICB9KTtcclxuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7IH0pO1xyXG4gICAgIHN1YmplY3QubmV4dCgnc3RhcnQnKTtcclxuICogYGBgXHJcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgc3RhbmRhcmQgYFN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXHJcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgYE9yZGVyZWRTdWJqZWN0PFQ+YCB0aGUgc2Vjb25kIHN1YnNjcmliZXIgd291bGQgcmVjaWV2ZSBgc3RhcnRgIGFuZCB0aGVuIGBlbmRgLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE9yZGVyZWRTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XHJcbiAgcHJpdmF0ZSBfaXRlbVF1ZXVlOiBUW10gPSBbXTtcclxuICBwcml2YXRlIF9idXN5UHVzaGluZ05leHQgPSBmYWxzZTtcclxuXHJcbiAgbmV4dCh2YWx1ZT86IFQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9idXN5UHVzaGluZ05leHQpIHtcclxuICAgICAgdGhpcy5faXRlbVF1ZXVlLnVuc2hpZnQodmFsdWUhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gdHJ1ZTtcclxuICAgIHN1cGVyLm5leHQodmFsdWUpO1xyXG4gICAgd2hpbGUgKHRoaXMuX2l0ZW1RdWV1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRoaXMuX2l0ZW1RdWV1ZS5wb3AoKTtcclxuICAgICAgc3VwZXIubmV4dChuZXh0VmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJuYWwgQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEludGVybmFsQWN0aW9ucyBleHRlbmRzIE9yZGVyZWRTdWJqZWN0PEFjdGlvbkNvbnRleHQ+IHt9XHJcblxyXG4vKipcclxuICogQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cclxuICpcclxuICogWW91IGNhbiBsaXN0ZW4gdG8gdGhpcyBpbiBzZXJ2aWNlcyB0byByZWFjdCB3aXRob3V0IHN0b3Jlcy5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFjdGlvbnMgZXh0ZW5kcyBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIC8vIFRoaXMgaGFzIHRvIGJlIGBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+YCBpbiB0aGUgdjQuIEJlY2F1c2UgYEludGVybmFsQWN0aW9uc2BcclxuICAvLyBpcyBhIGBTdWJqZWN0PEFjdGlvbkNvbnRleHQ+YC4gTGVhdmUgaXQgYXMgYGFueWAgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlc1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaW50ZXJuYWxBY3Rpb25zJDogSW50ZXJuYWxBY3Rpb25zLFxyXG4gICAgaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcclxuICApIHtcclxuICAgIHN1cGVyKG9ic2VydmVyID0+IHtcclxuICAgICAgY29uc3QgY2hpbGRTdWJzY3JpcHRpb24gPSBpbnRlcm5hbEFjdGlvbnMkXHJcbiAgICAgICAgLnBpcGUobGVhdmVOZ3hzKGludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogY3R4ID0+IG9ic2VydmVyLm5leHQoY3R4KSxcclxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgb2JzZXJ2ZXIuYWRkKGNoaWxkU3Vic2NyaXB0aW9uKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { Subject, Observable } from 'rxjs';
|
|
7
|
+
import { leaveNgxs } from './operators/leave-ngxs';
|
|
8
|
+
import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
|
|
9
|
+
/** @enum {string} */
|
|
10
|
+
const ActionStatus = {
|
|
11
|
+
Dispatched: 'DISPATCHED',
|
|
12
|
+
Successful: 'SUCCESSFUL',
|
|
13
|
+
Canceled: 'CANCELED',
|
|
14
|
+
Errored: 'ERRORED',
|
|
15
|
+
};
|
|
16
|
+
export { ActionStatus };
|
|
17
|
+
/**
|
|
18
|
+
* @record
|
|
19
|
+
* @template T
|
|
20
|
+
*/
|
|
21
|
+
export function ActionContext() { }
|
|
22
|
+
if (false) {
|
|
23
|
+
/** @type {?} */
|
|
24
|
+
ActionContext.prototype.status;
|
|
25
|
+
/** @type {?} */
|
|
26
|
+
ActionContext.prototype.action;
|
|
27
|
+
/** @type {?|undefined} */
|
|
28
|
+
ActionContext.prototype.error;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Custom Subject that ensures that subscribers are notified of values in the order that they arrived.
|
|
32
|
+
* A standard Subject does not have this guarantee.
|
|
33
|
+
* For example, given the following code:
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const subject = new Subject<string>();
|
|
36
|
+
* subject.subscribe(value => {
|
|
37
|
+
* if (value === 'start') subject.next('end');
|
|
38
|
+
* });
|
|
39
|
+
* subject.subscribe(value => { });
|
|
40
|
+
* subject.next('start');
|
|
41
|
+
* ```
|
|
42
|
+
* When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.
|
|
43
|
+
* When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.
|
|
44
|
+
* @template T
|
|
45
|
+
*/
|
|
46
|
+
export class OrderedSubject extends Subject {
|
|
47
|
+
constructor() {
|
|
48
|
+
super(...arguments);
|
|
49
|
+
this._itemQueue = [];
|
|
50
|
+
this._busyPushingNext = false;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @param {?=} value
|
|
54
|
+
* @return {?}
|
|
55
|
+
*/
|
|
56
|
+
next(value) {
|
|
57
|
+
if (this._busyPushingNext) {
|
|
58
|
+
this._itemQueue.unshift((/** @type {?} */ (value)));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this._busyPushingNext = true;
|
|
62
|
+
super.next(value);
|
|
63
|
+
while (this._itemQueue.length > 0) {
|
|
64
|
+
/** @type {?} */
|
|
65
|
+
const nextValue = this._itemQueue.pop();
|
|
66
|
+
super.next(nextValue);
|
|
67
|
+
}
|
|
68
|
+
this._busyPushingNext = false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (false) {
|
|
72
|
+
/**
|
|
73
|
+
* @type {?}
|
|
74
|
+
* @private
|
|
75
|
+
*/
|
|
76
|
+
OrderedSubject.prototype._itemQueue;
|
|
77
|
+
/**
|
|
78
|
+
* @type {?}
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
OrderedSubject.prototype._busyPushingNext;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Internal Action stream that is emitted anytime an action is dispatched.
|
|
85
|
+
*/
|
|
86
|
+
export class InternalActions extends OrderedSubject {
|
|
87
|
+
}
|
|
88
|
+
InternalActions.decorators = [
|
|
89
|
+
{ type: Injectable }
|
|
90
|
+
];
|
|
91
|
+
/**
|
|
92
|
+
* Action stream that is emitted anytime an action is dispatched.
|
|
93
|
+
*
|
|
94
|
+
* You can listen to this in services to react without stores.
|
|
95
|
+
*/
|
|
96
|
+
export class Actions extends Observable {
|
|
97
|
+
/**
|
|
98
|
+
* @param {?} internalActions$
|
|
99
|
+
* @param {?} internalExecutionStrategy
|
|
100
|
+
*/
|
|
101
|
+
constructor(internalActions$, internalExecutionStrategy) {
|
|
102
|
+
super((/**
|
|
103
|
+
* @param {?} observer
|
|
104
|
+
* @return {?}
|
|
105
|
+
*/
|
|
106
|
+
observer => {
|
|
107
|
+
/** @type {?} */
|
|
108
|
+
const childSubscription = internalActions$
|
|
109
|
+
.pipe(leaveNgxs(internalExecutionStrategy))
|
|
110
|
+
.subscribe({
|
|
111
|
+
next: (/**
|
|
112
|
+
* @param {?} ctx
|
|
113
|
+
* @return {?}
|
|
114
|
+
*/
|
|
115
|
+
ctx => observer.next(ctx)),
|
|
116
|
+
error: (/**
|
|
117
|
+
* @param {?} error
|
|
118
|
+
* @return {?}
|
|
119
|
+
*/
|
|
120
|
+
error => observer.error(error)),
|
|
121
|
+
complete: (/**
|
|
122
|
+
* @return {?}
|
|
123
|
+
*/
|
|
124
|
+
() => observer.complete())
|
|
125
|
+
});
|
|
126
|
+
observer.add(childSubscription);
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
Actions.decorators = [
|
|
131
|
+
{ type: Injectable }
|
|
132
|
+
];
|
|
133
|
+
/** @nocollapse */
|
|
134
|
+
Actions.ctorParameters = () => [
|
|
135
|
+
{ type: InternalActions },
|
|
136
|
+
{ type: InternalNgxsExecutionStrategy }
|
|
137
|
+
];
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9hY3Rpb25zLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztJQU0zRixZQUFhLFlBQVk7SUFDekIsWUFBYSxZQUFZO0lBQ3pCLFVBQVcsVUFBVTtJQUNyQixTQUFVLFNBQVM7Ozs7Ozs7QUFHckIsbUNBSUM7OztJQUhDLCtCQUFxQjs7SUFDckIsK0JBQVU7O0lBQ1YsOEJBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCaEIsTUFBTSxPQUFPLGNBQWtCLFNBQVEsT0FBVTtJQUFqRDs7UUFDVSxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQWVuQyxDQUFDOzs7OztJQWJDLElBQUksQ0FBQyxLQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQUEsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNGOzs7Ozs7SUFoQkMsb0NBQTZCOzs7OztJQUM3QiwwQ0FBaUM7Ozs7O0FBcUJuQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUE2Qjs7O1lBRGpFLFVBQVU7Ozs7Ozs7QUFTWCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQXlCOzs7OztJQUNwRCxZQUNFLGdCQUFpQyxFQUNqQyx5QkFBd0Q7UUFFeEQsS0FBSzs7OztRQUFDLFFBQVEsQ0FBQyxFQUFFOztrQkFDVCxpQkFBaUIsR0FBRyxnQkFBZ0I7aUJBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQztpQkFDMUMsU0FBUyxDQUFDO2dCQUNULElBQUk7Ozs7Z0JBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUMvQixLQUFLOzs7O2dCQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDckMsUUFBUTs7O2dCQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQTthQUNwQyxDQUFDO1lBRUosUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakJGLFVBQVU7Ozs7WUFHVyxlQUFlO1lBbEU1Qiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogU3RhdHVzIG9mIGEgZGlzcGF0Y2hlZCBhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQWN0aW9uU3RhdHVzIHtcbiAgRGlzcGF0Y2hlZCA9ICdESVNQQVRDSEVEJyxcbiAgU3VjY2Vzc2Z1bCA9ICdTVUNDRVNTRlVMJyxcbiAgQ2FuY2VsZWQgPSAnQ0FOQ0VMRUQnLFxuICBFcnJvcmVkID0gJ0VSUk9SRUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dDxUID0gYW55PiB7XG4gIHN0YXR1czogQWN0aW9uU3RhdHVzO1xuICBhY3Rpb246IFQ7XG4gIGVycm9yPzogRXJyb3I7XG59XG5cbi8qKlxuICogQ3VzdG9tIFN1YmplY3QgdGhhdCBlbnN1cmVzIHRoYXQgc3Vic2NyaWJlcnMgYXJlIG5vdGlmaWVkIG9mIHZhbHVlcyBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IGFycml2ZWQuXG4gKiBBIHN0YW5kYXJkIFN1YmplY3QgZG9lcyBub3QgaGF2ZSB0aGlzIGd1YXJhbnRlZS5cbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgIHN1YmplY3Quc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICBpZiAodmFsdWUgPT09ICdzdGFydCcpIHN1YmplY3QubmV4dCgnZW5kJyk7XG4gICAgIH0pO1xuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7IH0pO1xuICAgICBzdWJqZWN0Lm5leHQoJ3N0YXJ0Jyk7XG4gKiBgYGBcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgc3RhbmRhcmQgYFN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXG4gKiBXaGVuIGBzdWJqZWN0YCBpcyBhIGBPcmRlcmVkU3ViamVjdDxUPmAgdGhlIHNlY29uZCBzdWJzY3JpYmVyIHdvdWxkIHJlY2lldmUgYHN0YXJ0YCBhbmQgdGhlbiBgZW5kYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9yZGVyZWRTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XG4gIHByaXZhdGUgX2l0ZW1RdWV1ZTogVFtdID0gW107XG4gIHByaXZhdGUgX2J1c3lQdXNoaW5nTmV4dCA9IGZhbHNlO1xuXG4gIG5leHQodmFsdWU/OiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2J1c3lQdXNoaW5nTmV4dCkge1xuICAgICAgdGhpcy5faXRlbVF1ZXVlLnVuc2hpZnQodmFsdWUhKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gdHJ1ZTtcbiAgICBzdXBlci5uZXh0KHZhbHVlKTtcbiAgICB3aGlsZSAodGhpcy5faXRlbVF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRoaXMuX2l0ZW1RdWV1ZS5wb3AoKTtcbiAgICAgIHN1cGVyLm5leHQobmV4dFZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBBY3Rpb24gc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCBhbnl0aW1lIGFuIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxBY3Rpb25zIGV4dGVuZHMgT3JkZXJlZFN1YmplY3Q8QWN0aW9uQ29udGV4dD4ge31cblxuLyoqXG4gKiBBY3Rpb24gc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCBhbnl0aW1lIGFuIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICpcbiAqIFlvdSBjYW4gbGlzdGVuIHRvIHRoaXMgaW4gc2VydmljZXMgdG8gcmVhY3Qgd2l0aG91dCBzdG9yZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25zIGV4dGVuZHMgT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGludGVybmFsQWN0aW9ucyQ6IEludGVybmFsQWN0aW9ucyxcbiAgICBpbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHtcbiAgICBzdXBlcihvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCBjaGlsZFN1YnNjcmlwdGlvbiA9IGludGVybmFsQWN0aW9ucyRcbiAgICAgICAgLnBpcGUobGVhdmVOZ3hzKGludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiBjdHggPT4gb2JzZXJ2ZXIubmV4dChjdHgpLFxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKClcbiAgICAgICAgfSk7XG5cbiAgICAgIG9ic2VydmVyLmFkZChjaGlsZFN1YnNjcmlwdGlvbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @param {?} name
|
|
7
|
-
* @return {?}
|
|
8
|
-
*/
|
|
9
|
-
export function throwStateNameError(name) {
|
|
10
|
-
throw new Error(`${name} is not a valid state name. It needs to be a valid object property name.`);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @return {?}
|
|
14
|
-
*/
|
|
15
|
-
export function throwStateNamePropertyError() {
|
|
16
|
-
throw new Error(`States must register a 'name' property.`);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @param {?} current
|
|
20
|
-
* @param {?} newName
|
|
21
|
-
* @param {?} oldName
|
|
22
|
-
* @return {?}
|
|
23
|
-
*/
|
|
24
|
-
export function throwStateUniqueError(current, newName, oldName) {
|
|
25
|
-
throw new Error(`State name '${current}' from ${newName} already exists in ${oldName}.`);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @param {?} name
|
|
29
|
-
* @return {?}
|
|
30
|
-
*/
|
|
31
|
-
export function throwStateDecoratorError(name) {
|
|
32
|
-
throw new Error(`States must be decorated with @State() decorator, but "${name}" isn't.`);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
export function throwActionDecoratorError() {
|
|
38
|
-
throw new Error('@Action() decorator cannot be used with static methods.');
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
export function throwSelectorDecoratorError() {
|
|
44
|
-
throw new Error('Selectors only work on methods.');
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
export function getZoneWarningMessage() {
|
|
50
|
-
return ('Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
|
|
51
|
-
'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
|
|
52
|
-
'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })');
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @param {?} name
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
export function getUndecoratedStateInIvyWarningMessage(name) {
|
|
59
|
-
return `'${name}' class should be decorated with @Injectable() right after the @State() decorator`;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
export function throwSelectFactoryNotConnectedError() {
|
|
65
|
-
throw new Error('You have forgotten to import the NGXS module!');
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
export function throwPatchingArrayError() {
|
|
71
|
-
throw new Error('Patching arrays is not supported.');
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* @return {?}
|
|
75
|
-
*/
|
|
76
|
-
export function throwPatchingPrimitiveError() {
|
|
77
|
-
throw new Error('Patching primitives is not supported.');
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @param {?} name
|
|
7
|
+
* @return {?}
|
|
8
|
+
*/
|
|
9
|
+
export function throwStateNameError(name) {
|
|
10
|
+
throw new Error(`${name} is not a valid state name. It needs to be a valid object property name.`);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @return {?}
|
|
14
|
+
*/
|
|
15
|
+
export function throwStateNamePropertyError() {
|
|
16
|
+
throw new Error(`States must register a 'name' property.`);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @param {?} current
|
|
20
|
+
* @param {?} newName
|
|
21
|
+
* @param {?} oldName
|
|
22
|
+
* @return {?}
|
|
23
|
+
*/
|
|
24
|
+
export function throwStateUniqueError(current, newName, oldName) {
|
|
25
|
+
throw new Error(`State name '${current}' from ${newName} already exists in ${oldName}.`);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param {?} name
|
|
29
|
+
* @return {?}
|
|
30
|
+
*/
|
|
31
|
+
export function throwStateDecoratorError(name) {
|
|
32
|
+
throw new Error(`States must be decorated with @State() decorator, but "${name}" isn't.`);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
export function throwActionDecoratorError() {
|
|
38
|
+
throw new Error('@Action() decorator cannot be used with static methods.');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @return {?}
|
|
42
|
+
*/
|
|
43
|
+
export function throwSelectorDecoratorError() {
|
|
44
|
+
throw new Error('Selectors only work on methods.');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @return {?}
|
|
48
|
+
*/
|
|
49
|
+
export function getZoneWarningMessage() {
|
|
50
|
+
return ('Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
|
|
51
|
+
'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
|
|
52
|
+
'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @param {?} name
|
|
56
|
+
* @return {?}
|
|
57
|
+
*/
|
|
58
|
+
export function getUndecoratedStateInIvyWarningMessage(name) {
|
|
59
|
+
return `'${name}' class should be decorated with @Injectable() right after the @State() decorator`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
export function throwSelectFactoryNotConnectedError() {
|
|
65
|
+
throw new Error('You have forgotten to import the NGXS module!');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @return {?}
|
|
69
|
+
*/
|
|
70
|
+
export function throwPatchingArrayError() {
|
|
71
|
+
throw new Error('Patching arrays is not supported.');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @return {?}
|
|
75
|
+
*/
|
|
76
|
+
export function throwPatchingPrimitiveError() {
|
|
77
|
+
throw new Error('Patching primitives is not supported.');
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvY29uZmlncy9tZXNzYWdlcy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSwwRUFBMEUsQ0FDbEYsQ0FBQztBQUNKLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFlLEVBQ2YsT0FBZSxFQUNmLE9BQWU7SUFFZixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsT0FBTyxVQUFVLE9BQU8sc0JBQXNCLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDM0YsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsSUFBWTtJQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxJQUFJLFVBQVUsQ0FBQyxDQUFDO0FBQzVGLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztBQUM3RSxDQUFDOzs7O0FBRUQsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFDckQsQ0FBQzs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsT0FBTyxDQUNMLDZHQUE2RztRQUM3Ryx3RkFBd0Y7UUFDeEYsOEVBQThFLENBQy9FLENBQUM7QUFDSixDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxJQUFZO0lBQ2pFLE9BQU8sSUFBSSxJQUFJLG1GQUFtRixDQUFDO0FBQ3JHLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztBQUNuRSxDQUFDOzs7O0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7QUFDdkQsQ0FBQzs7OztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0ZU5hbWVFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgJHtuYW1lfSBpcyBub3QgYSB2YWxpZCBzdGF0ZSBuYW1lLiBJdCBuZWVkcyB0byBiZSBhIHZhbGlkIG9iamVjdCBwcm9wZXJ0eSBuYW1lLmBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVOYW1lUHJvcGVydHlFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgcmVnaXN0ZXIgYSAnbmFtZScgcHJvcGVydHkuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1N0YXRlVW5pcXVlRXJyb3IoXG4gIGN1cnJlbnQ6IHN0cmluZyxcbiAgbmV3TmFtZTogc3RyaW5nLFxuICBvbGROYW1lOiBzdHJpbmdcbik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBuYW1lICcke2N1cnJlbnR9JyBmcm9tICR7bmV3TmFtZX0gYWxyZWFkeSBleGlzdHMgaW4gJHtvbGROYW1lfS5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVEZWNvcmF0b3JFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgYmUgZGVjb3JhdGVkIHdpdGggQFN0YXRlKCkgZGVjb3JhdG9yLCBidXQgXCIke25hbWV9XCIgaXNuJ3QuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0FjdGlvbkRlY29yYXRvckVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdAQWN0aW9uKCkgZGVjb3JhdG9yIGNhbm5vdCBiZSB1c2VkIHdpdGggc3RhdGljIG1ldGhvZHMuJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1NlbGVjdG9ycyBvbmx5IHdvcmsgb24gbWV0aG9kcy4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFpvbmVXYXJuaW5nTWVzc2FnZSgpOiBzdHJpbmcge1xuICByZXR1cm4gKFxuICAgICdZb3VyIGFwcGxpY2F0aW9uIHdhcyBib290c3RyYXBwZWQgd2l0aCBub29wZWQgem9uZSBhbmQgeW91ciBleGVjdXRpb24gc3RyYXRlZ3kgcmVxdWlyZXMgYW4gYWN0dWFsIE5nWm9uZSFcXG4nICtcbiAgICAnUGxlYXNlIHNldCB0aGUgdmFsdWUgb2YgdGhlIGV4ZWN1dGlvblN0cmF0ZWd5IHByb3BlcnR5IHRvIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kuXFxuJyArXG4gICAgJ05neHNNb2R1bGUuZm9yUm9vdChzdGF0ZXMsIHsgZXhlY3V0aW9uU3RyYXRlZ3k6IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSknXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmRlY29yYXRlZFN0YXRlSW5JdnlXYXJuaW5nTWVzc2FnZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCcke25hbWV9JyBjbGFzcyBzaG91bGQgYmUgZGVjb3JhdGVkIHdpdGggQEluamVjdGFibGUoKSByaWdodCBhZnRlciB0aGUgQFN0YXRlKCkgZGVjb3JhdG9yYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U2VsZWN0RmFjdG9yeU5vdENvbm5lY3RlZEVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSBmb3Jnb3R0ZW4gdG8gaW1wb3J0IHRoZSBOR1hTIG1vZHVsZSEnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdBcnJheUVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdQYXRjaGluZyBhcnJheXMgaXMgbm90IHN1cHBvcnRlZC4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdQcmltaXRpdmVFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcignUGF0Y2hpbmcgcHJpbWl0aXZlcyBpcyBub3Qgc3VwcG9ydGVkLicpO1xufVxuIl19
|