@ngxs/store 3.7.4 → 3.7.5
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 +310 -310
- package/bundles/ngxs-store-operators.umd.js.map +1 -1
- package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
- package/bundles/ngxs-store.umd.js +4401 -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 +39 -39
- package/esm2015/operators/remove-item.js +34 -34
- package/esm2015/operators/update-item.js +52 -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 +140 -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 +191 -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 +40 -40
- package/esm5/operators/remove-item.js +34 -34
- package/esm5/operators/update-item.js +52 -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 +186 -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 +217 -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 +312 -312
- package/fesm2015/ngxs-store-operators.js.map +1 -1
- package/fesm2015/ngxs-store.js +3915 -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 +316 -316
- package/fesm5/ngxs-store-operators.js.map +1 -1
- package/fesm5/ngxs-store.js +4410 -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 +2 -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/patch.d.ts +10 -10
- package/operators/remove-item.d.ts +7 -7
- package/operators/update-item.d.ts +10 -10
- package/operators/utils.d.ts +9 -9
- package/package.json +1 -1
- 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 +43 -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
package/esm5/operators/iif.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { isStateOperator, isUndefined, isPredicate } from './utils';
|
|
6
|
-
/**
|
|
7
|
-
* @template T
|
|
8
|
-
* @param {?} operatorOrValue
|
|
9
|
-
* @param {?=} existing
|
|
10
|
-
* @return {?}
|
|
11
|
-
*/
|
|
12
|
-
function retrieveValue(operatorOrValue, existing) {
|
|
13
|
-
// If state operator is a function
|
|
14
|
-
// then call it with an original value
|
|
15
|
-
if (isStateOperator(operatorOrValue)) {
|
|
16
|
-
/** @type {?} */
|
|
17
|
-
var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
|
|
18
|
-
return (/** @type {?} */ (value));
|
|
19
|
-
}
|
|
20
|
-
// If operator or value was not provided
|
|
21
|
-
// e.g. `elseOperatorOrValue` is `undefined`
|
|
22
|
-
// then we just return an original value
|
|
23
|
-
if (isUndefined(operatorOrValue)) {
|
|
24
|
-
return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
|
|
25
|
-
}
|
|
26
|
-
return (/** @type {?} */ (operatorOrValue));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @template T
|
|
30
|
-
* @param {?} condition - Condition can be a plain boolean value or a function,
|
|
31
|
-
* that returns boolean, also this function can take a value as an argument
|
|
32
|
-
* to which this state operator applies
|
|
33
|
-
* @param {?} trueOperatorOrValue - Any value or a state operator
|
|
34
|
-
* @param {?=} elseOperatorOrValue - Any value or a state operator
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
export function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
|
|
38
|
-
return (/**
|
|
39
|
-
* @param {?} existing
|
|
40
|
-
* @return {?}
|
|
41
|
-
*/
|
|
42
|
-
function iifOperator(existing) {
|
|
43
|
-
// Convert the value to a boolean
|
|
44
|
-
/** @type {?} */
|
|
45
|
-
var result = !!condition;
|
|
46
|
-
// but if it is a function then run it to get the result
|
|
47
|
-
if (isPredicate(condition)) {
|
|
48
|
-
result = condition(existing);
|
|
49
|
-
}
|
|
50
|
-
if (result) {
|
|
51
|
-
return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
|
|
52
|
-
}
|
|
53
|
-
return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { isStateOperator, isUndefined, isPredicate } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {?} operatorOrValue
|
|
9
|
+
* @param {?=} existing
|
|
10
|
+
* @return {?}
|
|
11
|
+
*/
|
|
12
|
+
function retrieveValue(operatorOrValue, existing) {
|
|
13
|
+
// If state operator is a function
|
|
14
|
+
// then call it with an original value
|
|
15
|
+
if (isStateOperator(operatorOrValue)) {
|
|
16
|
+
/** @type {?} */
|
|
17
|
+
var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
|
|
18
|
+
return (/** @type {?} */ (value));
|
|
19
|
+
}
|
|
20
|
+
// If operator or value was not provided
|
|
21
|
+
// e.g. `elseOperatorOrValue` is `undefined`
|
|
22
|
+
// then we just return an original value
|
|
23
|
+
if (isUndefined(operatorOrValue)) {
|
|
24
|
+
return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
|
|
25
|
+
}
|
|
26
|
+
return (/** @type {?} */ (operatorOrValue));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @template T
|
|
30
|
+
* @param {?} condition - Condition can be a plain boolean value or a function,
|
|
31
|
+
* that returns boolean, also this function can take a value as an argument
|
|
32
|
+
* to which this state operator applies
|
|
33
|
+
* @param {?} trueOperatorOrValue - Any value or a state operator
|
|
34
|
+
* @param {?=} elseOperatorOrValue - Any value or a state operator
|
|
35
|
+
* @return {?}
|
|
36
|
+
*/
|
|
37
|
+
export function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
|
|
38
|
+
return (/**
|
|
39
|
+
* @param {?} existing
|
|
40
|
+
* @return {?}
|
|
41
|
+
*/
|
|
42
|
+
function iifOperator(existing) {
|
|
43
|
+
// Convert the value to a boolean
|
|
44
|
+
/** @type {?} */
|
|
45
|
+
var result = !!condition;
|
|
46
|
+
// but if it is a function then run it to get the result
|
|
47
|
+
if (isPredicate(condition)) {
|
|
48
|
+
result = condition(existing);
|
|
49
|
+
}
|
|
50
|
+
if (result) {
|
|
51
|
+
return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
|
|
52
|
+
}
|
|
53
|
+
return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaWlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7QUFHaEYsU0FBUyxhQUFhLENBQ3BCLGVBQXFDLEVBQ3JDLFFBQWtDO0lBRWxDLGtDQUFrQztJQUNsQyxzQ0FBc0M7SUFDdEMsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUU7O1lBQzlCLEtBQUssR0FBRyxlQUFlLENBQUMsbUJBQUEsbUJBQUEsUUFBUSxFQUFDLEVBQWUsQ0FBQztRQUN2RCxPQUFPLG1CQUFBLEtBQUssRUFBaUIsQ0FBQztLQUMvQjtJQUVELHdDQUF3QztJQUN4Qyw0Q0FBNEM7SUFDNUMsd0NBQXdDO0lBQ3hDLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sbUJBQUEsbUJBQUEsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxFQUFDLEVBQWlCLENBQUM7S0FDMUM7SUFFRCxPQUFPLG1CQUFBLGVBQWUsRUFBaUIsQ0FBQztBQUMxQyxDQUFDOzs7Ozs7Ozs7O0FBU0QsTUFBTSxVQUFVLEdBQUcsQ0FDakIsU0FBaUMsRUFDakMsbUJBQXlDLEVBQ3pDLG1CQUEwQztJQUUxQzs7OztJQUFPLFNBQVMsV0FBVyxDQUFDLFFBQWlDOzs7WUFFdkQsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTO1FBQ3hCLHdEQUF3RDtRQUN4RCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLGFBQWEsQ0FBSSxtQkFBbUIsRUFBRSxtQkFBQSxRQUFRLEVBQWlCLENBQUMsQ0FBQztTQUN6RTtRQUVELE9BQU8sYUFBYSxDQUFJLG1CQUFBLG1CQUFtQixFQUFDLEVBQUUsbUJBQUEsUUFBUSxFQUFpQixDQUFDLENBQUM7SUFDM0UsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgaXNVbmRlZmluZWQsIGlzUHJlZGljYXRlLCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuL2ludGVybmFscyc7XG5cbmZ1bmN0aW9uIHJldHJpZXZlVmFsdWU8VD4oXG4gIG9wZXJhdG9yT3JWYWx1ZTogU3RhdGVPcGVyYXRvcjxUPiB8IFQsXG4gIGV4aXN0aW5nPzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj5cbik6IFJlcGFpclR5cGU8VD4ge1xuICAvLyBJZiBzdGF0ZSBvcGVyYXRvciBpcyBhIGZ1bmN0aW9uXG4gIC8vIHRoZW4gY2FsbCBpdCB3aXRoIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1N0YXRlT3BlcmF0b3Iob3BlcmF0b3JPclZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlID0gb3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nISBhcyBSZWFkb25seTxUPik7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFJlcGFpclR5cGU8VD47XG4gIH1cblxuICAvLyBJZiBvcGVyYXRvciBvciB2YWx1ZSB3YXMgbm90IHByb3ZpZGVkXG4gIC8vIGUuZy4gYGVsc2VPcGVyYXRvck9yVmFsdWVgIGlzIGB1bmRlZmluZWRgXG4gIC8vIHRoZW4gd2UganVzdCByZXR1cm4gYW4gb3JpZ2luYWwgdmFsdWVcbiAgaWYgKGlzVW5kZWZpbmVkKG9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gKDxhbnk+ZXhpc3RpbmcpISBhcyBSZXBhaXJUeXBlPFQ+O1xuICB9XG5cbiAgcmV0dXJuIG9wZXJhdG9yT3JWYWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xufVxuXG4vKipcbiAqIEBwYXJhbSBjb25kaXRpb24gLSBDb25kaXRpb24gY2FuIGJlIGEgcGxhaW4gYm9vbGVhbiB2YWx1ZSBvciBhIGZ1bmN0aW9uLFxuICogdGhhdCByZXR1cm5zIGJvb2xlYW4sIGFsc28gdGhpcyBmdW5jdGlvbiBjYW4gdGFrZSBhIHZhbHVlIGFzIGFuIGFyZ3VtZW50XG4gKiB0byB3aGljaCB0aGlzIHN0YXRlIG9wZXJhdG9yIGFwcGxpZXNcbiAqIEBwYXJhbSB0cnVlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqIEBwYXJhbSBlbHNlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlpZjxUPihcbiAgY29uZGl0aW9uOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuLFxuICB0cnVlT3BlcmF0b3JPclZhbHVlOiBTdGF0ZU9wZXJhdG9yPFQ+IHwgVCxcbiAgZWxzZU9wZXJhdG9yT3JWYWx1ZT86IFN0YXRlT3BlcmF0b3I8VD4gfCBUXG4pOiBTdGF0ZU9wZXJhdG9yPFJlcGFpclR5cGU8VD4+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlpZk9wZXJhdG9yKGV4aXN0aW5nOiBSZWFkb25seTxSZXBhaXJUeXBlPFQ+Pik6IFJlcGFpclR5cGU8VD4ge1xuICAgIC8vIENvbnZlcnQgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgIGxldCByZXN1bHQgPSAhIWNvbmRpdGlvbjtcbiAgICAvLyBidXQgaWYgaXQgaXMgYSBmdW5jdGlvbiB0aGVuIHJ1biBpdCB0byBnZXQgdGhlIHJlc3VsdFxuICAgIGlmIChpc1ByZWRpY2F0ZShjb25kaXRpb24pKSB7XG4gICAgICByZXN1bHQgPSBjb25kaXRpb24oZXhpc3RpbmcpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXRyaWV2ZVZhbHVlPFQ+KHRydWVPcGVyYXRvck9yVmFsdWUsIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD4pO1xuICAgIH1cblxuICAgIHJldHVybiByZXRyaWV2ZVZhbHVlPFQ+KGVsc2VPcGVyYXRvck9yVmFsdWUhLCBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgfTtcbn1cbiJdfQ==
|
package/esm5/operators/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module
|
|
7
|
-
* @description
|
|
8
|
-
* Entry point for all public APIs of this package.
|
|
9
|
-
*/
|
|
10
|
-
export { append } from './append';
|
|
11
|
-
export { compose } from './compose';
|
|
12
|
-
export { iif } from './iif';
|
|
13
|
-
export { insertItem } from './insert-item';
|
|
14
|
-
export { patch } from './patch';
|
|
15
|
-
export { isStateOperator } from './utils';
|
|
16
|
-
export { updateItem } from './update-item';
|
|
17
|
-
export { removeItem } from './remove-item';
|
|
18
|
-
//# 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
|
+
* @module
|
|
7
|
+
* @description
|
|
8
|
+
* Entry point for all public APIs of this package.
|
|
9
|
+
*/
|
|
10
|
+
export { append } from './append';
|
|
11
|
+
export { compose } from './compose';
|
|
12
|
+
export { iif } from './iif';
|
|
13
|
+
export { insertItem } from './insert-item';
|
|
14
|
+
export { patch } from './patch';
|
|
15
|
+
export { isStateOperator } from './utils';
|
|
16
|
+
export { updateItem } from './update-item';
|
|
17
|
+
export { removeItem } from './remove-item';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCB7IGFwcGVuZCB9IGZyb20gJy4vYXBwZW5kJztcbmV4cG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuL2NvbXBvc2UnO1xuZXhwb3J0IHsgaWlmIH0gZnJvbSAnLi9paWYnO1xuZXhwb3J0IHsgaW5zZXJ0SXRlbSB9IGZyb20gJy4vaW5zZXJ0LWl0ZW0nO1xuZXhwb3J0IHsgcGF0Y2ggfSBmcm9tICcuL3BhdGNoJztcbmV4cG9ydCB7IGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgdXBkYXRlSXRlbSB9IGZyb20gJy4vdXBkYXRlLWl0ZW0nO1xuZXhwb3J0IHsgcmVtb3ZlSXRlbSB9IGZyb20gJy4vcmVtb3ZlLWl0ZW0nO1xuIl19
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { isNil } from './utils';
|
|
6
|
-
/**
|
|
7
|
-
* @template T
|
|
8
|
-
* @param {?} value - Value to insert
|
|
9
|
-
* @param {?=} beforePosition
|
|
10
|
-
* @return {?}
|
|
11
|
-
*/
|
|
12
|
-
export function insertItem(value, beforePosition) {
|
|
13
|
-
return (/**
|
|
14
|
-
* @param {?} existing
|
|
15
|
-
* @return {?}
|
|
16
|
-
*/
|
|
17
|
-
function insertItemOperator(existing) {
|
|
18
|
-
// Have to check explicitly for `null` and `undefined`
|
|
19
|
-
// because `value` can be `0`, thus `!value` will return `true`
|
|
20
|
-
if (isNil(value) && existing) {
|
|
21
|
-
return (/** @type {?} */ (existing));
|
|
22
|
-
}
|
|
23
|
-
// Property may be dynamic and might not existed before
|
|
24
|
-
if (!Array.isArray(existing)) {
|
|
25
|
-
return [(/** @type {?} */ (value))];
|
|
26
|
-
}
|
|
27
|
-
/** @type {?} */
|
|
28
|
-
var clone = existing.slice();
|
|
29
|
-
/** @type {?} */
|
|
30
|
-
var index = 0;
|
|
31
|
-
// No need to call `isNumber`
|
|
32
|
-
// as we are checking `> 0` not `>= 0`
|
|
33
|
-
// everything except number will return false here
|
|
34
|
-
if ((/** @type {?} */ (beforePosition)) > 0) {
|
|
35
|
-
index = (/** @type {?} */ (beforePosition));
|
|
36
|
-
}
|
|
37
|
-
clone.splice(index, 0, (/** @type {?} */ (value)));
|
|
38
|
-
return clone;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { isNil } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {?} value - Value to insert
|
|
9
|
+
* @param {?=} beforePosition
|
|
10
|
+
* @return {?}
|
|
11
|
+
*/
|
|
12
|
+
export function insertItem(value, beforePosition) {
|
|
13
|
+
return (/**
|
|
14
|
+
* @param {?} existing
|
|
15
|
+
* @return {?}
|
|
16
|
+
*/
|
|
17
|
+
function insertItemOperator(existing) {
|
|
18
|
+
// Have to check explicitly for `null` and `undefined`
|
|
19
|
+
// because `value` can be `0`, thus `!value` will return `true`
|
|
20
|
+
if (isNil(value) && existing) {
|
|
21
|
+
return (/** @type {?} */ (existing));
|
|
22
|
+
}
|
|
23
|
+
// Property may be dynamic and might not existed before
|
|
24
|
+
if (!Array.isArray(existing)) {
|
|
25
|
+
return [(/** @type {?} */ (value))];
|
|
26
|
+
}
|
|
27
|
+
/** @type {?} */
|
|
28
|
+
var clone = existing.slice();
|
|
29
|
+
/** @type {?} */
|
|
30
|
+
var index = 0;
|
|
31
|
+
// No need to call `isNumber`
|
|
32
|
+
// as we are checking `> 0` not `>= 0`
|
|
33
|
+
// everything except number will return false here
|
|
34
|
+
if ((/** @type {?} */ (beforePosition)) > 0) {
|
|
35
|
+
index = (/** @type {?} */ (beforePosition));
|
|
36
|
+
}
|
|
37
|
+
clone.splice(index, 0, (/** @type {?} */ (value)));
|
|
38
|
+
return clone;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbnNlcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7OztBQU01QyxNQUFNLFVBQVUsVUFBVSxDQUN4QixLQUFRLEVBQ1IsY0FBdUI7SUFFdkI7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DO1FBQ3BFLHNEQUFzRDtRQUN0RCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO1lBQzVCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxtQkFBQSxLQUFLLEVBQWlCLENBQUMsQ0FBQztTQUNqQzs7WUFFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTs7WUFFMUIsS0FBSyxHQUFHLENBQUM7UUFFYiw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBQ3RDLGtEQUFrRDtRQUNsRCxJQUFJLG1CQUFBLGNBQWMsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsbUJBQUEsY0FBYyxFQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQUEsS0FBSyxFQUFpQixDQUFDLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzTmlsLCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gaW5zZXJ0XG4gKiBAcGFyYW0gW2JlZm9yZVBvc2l0aW9uXSAtICBTcGVjaWZpZWQgaW5kZXggdG8gaW5zZXJ0IHZhbHVlIGJlZm9yZSwgb3B0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEl0ZW08VD4oXG4gIHZhbHVlOiBULFxuICBiZWZvcmVQb3NpdGlvbj86IG51bWJlclxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+W10+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGluc2VydEl0ZW1PcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPltdPik6IFJlcGFpclR5cGU8VD5bXSB7XG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgLy8gYmVjYXVzZSBgdmFsdWVgIGNhbiBiZSBgMGAsIHRodXMgYCF2YWx1ZWAgd2lsbCByZXR1cm4gYHRydWVgXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiBleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcbiAgICB9XG5cbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIFt2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+XTtcbiAgICB9XG5cbiAgICBjb25zdCBjbG9uZSA9IGV4aXN0aW5nLnNsaWNlKCk7XG5cbiAgICBsZXQgaW5kZXggPSAwO1xuXG4gICAgLy8gTm8gbmVlZCB0byBjYWxsIGBpc051bWJlcmBcbiAgICAvLyBhcyB3ZSBhcmUgY2hlY2tpbmcgYD4gMGAgbm90IGA+PSAwYFxuICAgIC8vIGV2ZXJ5dGhpbmcgZXhjZXB0IG51bWJlciB3aWxsIHJldHVybiBmYWxzZSBoZXJlXG4gICAgaWYgKGJlZm9yZVBvc2l0aW9uISA+IDApIHtcbiAgICAgIGluZGV4ID0gYmVmb3JlUG9zaXRpb24hO1xuICAgIH1cblxuICAgIGNsb25lLnNwbGljZShpbmRleCwgMCwgdmFsdWUgYXMgUmVwYWlyVHlwZTxUPik7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9O1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFByZWRpY2F0ZTxUID0gYW55PiA9ICh2YWx1ZT86IFJlcGFpclR5cGU8VD4gfCBSZWFkb25seTxSZXBhaXJUeXBlPFQ+PikgPT4gYm9vbGVhbjtcbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Generated bundle index. Do not edit.
|
|
7
|
-
*/
|
|
8
|
-
export { append, compose, iif, insertItem, patch, isStateOperator, updateItem, removeItem } from './index';
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Generated bundle index. Do not edit.
|
|
7
|
+
*/
|
|
8
|
+
export { append, compose, iif, insertItem, patch, isStateOperator, updateItem, removeItem } from './index';
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJuZ3hzLXN0b3JlLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsaUdBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm5/operators/patch.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import * as tslib_1 from "tslib";
|
|
6
|
-
import { isStateOperator } from './utils';
|
|
7
|
-
/**
|
|
8
|
-
* @template T
|
|
9
|
-
* @param {?} patchObject
|
|
10
|
-
* @return {?}
|
|
11
|
-
*/
|
|
12
|
-
export function patch(patchObject) {
|
|
13
|
-
return (/**
|
|
14
|
-
* @template U
|
|
15
|
-
* @param {?} existing
|
|
16
|
-
* @return {?}
|
|
17
|
-
*/
|
|
18
|
-
function patchStateOperator(existing) {
|
|
19
|
-
/** @type {?} */
|
|
20
|
-
var clone = null;
|
|
21
|
-
for (var k in patchObject) {
|
|
22
|
-
/** @type {?} */
|
|
23
|
-
var newValue = patchObject[k];
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
var existingPropValue = existing[k];
|
|
26
|
-
/** @type {?} */
|
|
27
|
-
var newPropValue = isStateOperator(newValue)
|
|
28
|
-
? newValue((/** @type {?} */ (existingPropValue)))
|
|
29
|
-
: newValue;
|
|
30
|
-
if (newPropValue !== existingPropValue) {
|
|
31
|
-
if (!clone) {
|
|
32
|
-
clone = tslib_1.__assign({}, ((/** @type {?} */ (existing))));
|
|
33
|
-
}
|
|
34
|
-
clone[k] = newPropValue;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return clone || existing;
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import * as tslib_1 from "tslib";
|
|
6
|
+
import { isStateOperator } from './utils';
|
|
7
|
+
/**
|
|
8
|
+
* @template T
|
|
9
|
+
* @param {?} patchObject
|
|
10
|
+
* @return {?}
|
|
11
|
+
*/
|
|
12
|
+
export function patch(patchObject) {
|
|
13
|
+
return (/**
|
|
14
|
+
* @template U
|
|
15
|
+
* @param {?} existing
|
|
16
|
+
* @return {?}
|
|
17
|
+
*/
|
|
18
|
+
function patchStateOperator(existing) {
|
|
19
|
+
/** @type {?} */
|
|
20
|
+
var clone = null;
|
|
21
|
+
for (var k in patchObject) {
|
|
22
|
+
/** @type {?} */
|
|
23
|
+
var newValue = patchObject[k];
|
|
24
|
+
/** @type {?} */
|
|
25
|
+
var existingPropValue = existing[k];
|
|
26
|
+
/** @type {?} */
|
|
27
|
+
var newPropValue = isStateOperator(newValue)
|
|
28
|
+
? newValue((/** @type {?} */ (existingPropValue)))
|
|
29
|
+
: newValue;
|
|
30
|
+
if (newPropValue !== existingPropValue) {
|
|
31
|
+
if (!clone) {
|
|
32
|
+
clone = tslib_1.__assign({}, ((/** @type {?} */ (existing))));
|
|
33
|
+
}
|
|
34
|
+
clone[k] = newPropValue;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return clone || existing;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7OztBQVUxQyxNQUFNLFVBQVUsS0FBSyxDQUFJLFdBQXlCO0lBQ2hEOzs7OztJQUFPLFNBQVMsa0JBQWtCLENBQTJCLFFBQXFCOztZQUM1RSxLQUFLLEdBQUcsSUFBSTtRQUNoQixLQUFLLElBQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRTs7Z0JBQ3JCLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDOztnQkFDekIsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQzs7Z0JBQy9CLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUM1QyxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFLLGlCQUFpQixFQUFBLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxRQUFRO1lBQ1osSUFBSSxZQUFZLEtBQUssaUJBQWlCLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsS0FBSyx3QkFBUSxDQUFDLG1CQUFLLFFBQVEsRUFBQSxDQUFDLENBQUUsQ0FBQztpQkFDaEM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUN6QjtTQUNGO1FBQ0QsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDO0lBQzNCLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB0eXBlIFBhdGNoU3BlYzxUPiA9IHsgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIHwgU3RhdGVPcGVyYXRvcjxOb25OdWxsYWJsZTxUW1BdPj4gfTtcblxudHlwZSBQYXRjaFZhbHVlczxUPiA9IHtcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBSID8gUiA6IFRbUF07XG59O1xuXG50eXBlIFBhdGNoT3BlcmF0b3I8VD4gPSA8VSBleHRlbmRzIFBhdGNoVmFsdWVzPFQ+PihleGlzdGluZzogUmVhZG9ubHk8VT4pID0+IFU7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaDxUPihwYXRjaE9iamVjdDogUGF0Y2hTcGVjPFQ+KTogUGF0Y2hPcGVyYXRvcjxUPiB7XG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaFN0YXRlT3BlcmF0b3I8VSBleHRlbmRzIFBhdGNoVmFsdWVzPFQ+PihleGlzdGluZzogUmVhZG9ubHk8VT4pOiBVIHtcbiAgICBsZXQgY2xvbmUgPSBudWxsO1xuICAgIGZvciAoY29uc3QgayBpbiBwYXRjaE9iamVjdCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBwYXRjaE9iamVjdFtrXTtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUHJvcFZhbHVlID0gZXhpc3Rpbmdba107XG4gICAgICBjb25zdCBuZXdQcm9wVmFsdWUgPSBpc1N0YXRlT3BlcmF0b3IobmV3VmFsdWUpXG4gICAgICAgID8gbmV3VmFsdWUoPGFueT5leGlzdGluZ1Byb3BWYWx1ZSlcbiAgICAgICAgOiBuZXdWYWx1ZTtcbiAgICAgIGlmIChuZXdQcm9wVmFsdWUgIT09IGV4aXN0aW5nUHJvcFZhbHVlKSB7XG4gICAgICAgIGlmICghY2xvbmUpIHtcbiAgICAgICAgICBjbG9uZSA9IHsgLi4uKDxhbnk+ZXhpc3RpbmcpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2xvbmVba10gPSBuZXdQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSB8fCBleGlzdGluZztcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { isPredicate, isNumber, invalidIndex } from './utils';
|
|
6
|
-
/**
|
|
7
|
-
* @template T
|
|
8
|
-
* @param {?} selector - index or predicate to remove an item from an array by
|
|
9
|
-
* @return {?}
|
|
10
|
-
*/
|
|
11
|
-
export function removeItem(selector) {
|
|
12
|
-
return (/**
|
|
13
|
-
* @param {?} existing
|
|
14
|
-
* @return {?}
|
|
15
|
-
*/
|
|
16
|
-
function removeItemOperator(existing) {
|
|
17
|
-
/** @type {?} */
|
|
18
|
-
var index = -1;
|
|
19
|
-
if (isPredicate(selector)) {
|
|
20
|
-
index = existing.findIndex(selector);
|
|
21
|
-
}
|
|
22
|
-
else if (isNumber(selector)) {
|
|
23
|
-
index = selector;
|
|
24
|
-
}
|
|
25
|
-
if (invalidIndex(index)) {
|
|
26
|
-
return (/** @type {?} */ (existing));
|
|
27
|
-
}
|
|
28
|
-
/** @type {?} */
|
|
29
|
-
var clone = existing.slice();
|
|
30
|
-
clone.splice(index, 1);
|
|
31
|
-
return clone;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { isPredicate, isNumber, invalidIndex } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {?} selector - index or predicate to remove an item from an array by
|
|
9
|
+
* @return {?}
|
|
10
|
+
*/
|
|
11
|
+
export function removeItem(selector) {
|
|
12
|
+
return (/**
|
|
13
|
+
* @param {?} existing
|
|
14
|
+
* @return {?}
|
|
15
|
+
*/
|
|
16
|
+
function removeItemOperator(existing) {
|
|
17
|
+
/** @type {?} */
|
|
18
|
+
var index = -1;
|
|
19
|
+
if (isPredicate(selector)) {
|
|
20
|
+
index = existing.findIndex(selector);
|
|
21
|
+
}
|
|
22
|
+
else if (isNumber(selector)) {
|
|
23
|
+
index = selector;
|
|
24
|
+
}
|
|
25
|
+
if (invalidIndex(index)) {
|
|
26
|
+
return (/** @type {?} */ (existing));
|
|
27
|
+
}
|
|
28
|
+
/** @type {?} */
|
|
29
|
+
var clone = existing.slice();
|
|
30
|
+
clone.splice(index, 1);
|
|
31
|
+
return clone;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJyZW1vdmUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFjLE1BQU0sU0FBUyxDQUFDOzs7Ozs7QUFLMUUsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsUUFBK0I7SUFFL0I7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DOztZQUNoRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxtQkFBQSxRQUFRLEVBQW1CLENBQUM7U0FDcEM7O1lBRUssS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcbmltcG9ydCB7IGlzUHJlZGljYXRlLCBpc051bWJlciwgaW52YWxpZEluZGV4LCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHNlbGVjdG9yIC0gaW5kZXggb3IgcHJlZGljYXRlIHRvIHJlbW92ZSBhbiBpdGVtIGZyb20gYW4gYXJyYXkgYnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBQcmVkaWNhdGU8VD5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiByZW1vdmVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IpO1xuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { isStateOperator, isPredicate, isNumber, invalidIndex } from './utils';
|
|
6
|
-
/**
|
|
7
|
-
* @template T
|
|
8
|
-
* @param {?} selector - Index of item in the array or a predicate function
|
|
9
|
-
* that can be provided in `Array.prototype.findIndex`
|
|
10
|
-
* @param {?} operatorOrValue - New value under the `selector` index or a
|
|
11
|
-
* function that can be applied to an existing value
|
|
12
|
-
* @return {?}
|
|
13
|
-
*/
|
|
14
|
-
export function updateItem(selector, operatorOrValue) {
|
|
15
|
-
return (/**
|
|
16
|
-
* @param {?} existing
|
|
17
|
-
* @return {?}
|
|
18
|
-
*/
|
|
19
|
-
function updateItemOperator(existing) {
|
|
20
|
-
/** @type {?} */
|
|
21
|
-
var index = -1;
|
|
22
|
-
if (isPredicate(selector)) {
|
|
23
|
-
index = existing.findIndex(selector);
|
|
24
|
-
}
|
|
25
|
-
else if (isNumber(selector)) {
|
|
26
|
-
index = selector;
|
|
27
|
-
}
|
|
28
|
-
if (invalidIndex(index)) {
|
|
29
|
-
return (/** @type {?} */ (existing));
|
|
30
|
-
}
|
|
31
|
-
/** @type {?} */
|
|
32
|
-
var value = (/** @type {?} */ (null));
|
|
33
|
-
// Need to check if the new item value will change the existing item value
|
|
34
|
-
// then, only if it will change it then clone the array and set the item
|
|
35
|
-
if (isStateOperator(operatorOrValue)) {
|
|
36
|
-
value = operatorOrValue((/** @type {?} */ (existing[index])));
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
value = operatorOrValue;
|
|
40
|
-
}
|
|
41
|
-
// If the value hasn't been mutated
|
|
42
|
-
// then we just return `existing` array
|
|
43
|
-
if (value === existing[index]) {
|
|
44
|
-
return (/** @type {?} */ (existing));
|
|
45
|
-
}
|
|
46
|
-
/** @type {?} */
|
|
47
|
-
var clone = existing.slice();
|
|
48
|
-
clone[index] = (/** @type {?} */ (value));
|
|
49
|
-
return clone;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
import { isStateOperator, isPredicate, isNumber, invalidIndex } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* @template T
|
|
8
|
+
* @param {?} selector - Index of item in the array or a predicate function
|
|
9
|
+
* that can be provided in `Array.prototype.findIndex`
|
|
10
|
+
* @param {?} operatorOrValue - New value under the `selector` index or a
|
|
11
|
+
* function that can be applied to an existing value
|
|
12
|
+
* @return {?}
|
|
13
|
+
*/
|
|
14
|
+
export function updateItem(selector, operatorOrValue) {
|
|
15
|
+
return (/**
|
|
16
|
+
* @param {?} existing
|
|
17
|
+
* @return {?}
|
|
18
|
+
*/
|
|
19
|
+
function updateItemOperator(existing) {
|
|
20
|
+
/** @type {?} */
|
|
21
|
+
var index = -1;
|
|
22
|
+
if (isPredicate(selector)) {
|
|
23
|
+
index = existing.findIndex(selector);
|
|
24
|
+
}
|
|
25
|
+
else if (isNumber(selector)) {
|
|
26
|
+
index = selector;
|
|
27
|
+
}
|
|
28
|
+
if (invalidIndex(index)) {
|
|
29
|
+
return (/** @type {?} */ (existing));
|
|
30
|
+
}
|
|
31
|
+
/** @type {?} */
|
|
32
|
+
var value = (/** @type {?} */ (null));
|
|
33
|
+
// Need to check if the new item value will change the existing item value
|
|
34
|
+
// then, only if it will change it then clone the array and set the item
|
|
35
|
+
if (isStateOperator(operatorOrValue)) {
|
|
36
|
+
value = operatorOrValue((/** @type {?} */ (existing[index])));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
value = operatorOrValue;
|
|
40
|
+
}
|
|
41
|
+
// If the value hasn't been mutated
|
|
42
|
+
// then we just return `existing` array
|
|
43
|
+
if (value === existing[index]) {
|
|
44
|
+
return (/** @type {?} */ (existing));
|
|
45
|
+
}
|
|
46
|
+
/** @type {?} */
|
|
47
|
+
var clone = existing.slice();
|
|
48
|
+
clone[index] = (/** @type {?} */ (value));
|
|
49
|
+
return clone;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1cGRhdGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7O0FBUzNGLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFFBQStCLEVBQy9CLGVBQXFDO0lBRXJDOzs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUFtQzs7WUFDaEUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVHLEtBQUssR0FBTSxtQkFBQSxJQUFJLEVBQUM7UUFDcEIsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNwQyxLQUFLLEdBQUcsZUFBZSxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLEtBQUssR0FBRyxlQUFlLENBQUM7U0FDekI7UUFFRCxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLG1CQUFBLFFBQVEsRUFBbUIsQ0FBQztTQUNwQzs7WUFFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsbUJBQUEsS0FBSyxFQUFpQixDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgaXNQcmVkaWNhdGUsIGlzTnVtYmVyLCBpbnZhbGlkSW5kZXgsIFJlcGFpclR5cGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuLyoqXG4gKiBAcGFyYW0gc2VsZWN0b3IgLSBJbmRleCBvZiBpdGVtIGluIHRoZSBhcnJheSBvciBhIHByZWRpY2F0ZSBmdW5jdGlvblxuICogdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXhgXG4gKiBAcGFyYW0gb3BlcmF0b3JPclZhbHVlIC0gTmV3IHZhbHVlIHVuZGVyIHRoZSBgc2VsZWN0b3JgIGluZGV4IG9yIGFcbiAqIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYW4gZXhpc3RpbmcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBQcmVkaWNhdGU8VD4sXG4gIG9wZXJhdG9yT3JWYWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IpO1xuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogVCA9IG51bGwhO1xuICAgIC8vIE5lZWQgdG8gY2hlY2sgaWYgdGhlIG5ldyBpdGVtIHZhbHVlIHdpbGwgY2hhbmdlIHRoZSBleGlzdGluZyBpdGVtIHZhbHVlXG4gICAgLy8gdGhlbiwgb25seSBpZiBpdCB3aWxsIGNoYW5nZSBpdCB0aGVuIGNsb25lIHRoZSBhcnJheSBhbmQgc2V0IHRoZSBpdGVtXG4gICAgaWYgKGlzU3RhdGVPcGVyYXRvcihvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZShleGlzdGluZ1tpbmRleF0gYXMgUmVhZG9ubHk8VD4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgdmFsdWUgaGFzbid0IGJlZW4gbXV0YXRlZFxuICAgIC8vIHRoZW4gd2UganVzdCByZXR1cm4gYGV4aXN0aW5nYCBhcnJheVxuICAgIGlmICh2YWx1ZSA9PT0gZXhpc3RpbmdbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcbiAgICBjbG9uZVtpbmRleF0gPSB2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==
|