@ngxs/store 3.7.4 → 3.7.5-dev.master-17a1bb8
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
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaWlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQXVCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7O0FBR3pGLFNBQVMsYUFBYSxDQUNwQixlQUFxQyxFQUNyQyxRQUFrQztJQUVsQyxrQ0FBa0M7SUFDbEMsc0NBQXNDO0lBQ3RDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFOztZQUM5QixLQUFLLEdBQUcsZUFBZSxDQUFDLG1CQUFBLG1CQUFBLFFBQVEsRUFBQyxFQUFlLENBQUM7UUFDdkQsT0FBTyxtQkFBQSxLQUFLLEVBQWlCLENBQUM7S0FDL0I7SUFFRCx3Q0FBd0M7SUFDeEMsNENBQTRDO0lBQzVDLHdDQUF3QztJQUN4QyxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNoQyxPQUFPLG1CQUFBLG1CQUFBLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsRUFBQyxFQUFpQixDQUFDO0tBQzFDO0lBRUQsT0FBTyxtQkFBQSxlQUFlLEVBQWlCLENBQUM7QUFDMUMsQ0FBQzs7Ozs7Ozs7OztBQVNELE1BQU0sVUFBVSxHQUFHLENBQ2pCLFNBQTBDLEVBQzFDLG1CQUFrRCxFQUNsRCxtQkFBbUQ7SUFFbkQ7Ozs7SUFBTyxTQUFTLFdBQVcsQ0FBQyxRQUFpQzs7O1lBRXZELE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUztRQUN4Qix3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDMUIsTUFBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxhQUFhLENBQUksbUJBQW1CLEVBQUUsbUJBQUEsUUFBUSxFQUFpQixDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLGFBQWEsQ0FBSSxtQkFBQSxtQkFBbUIsRUFBQyxFQUFFLG1CQUFBLFFBQVEsRUFBaUIsQ0FBQyxDQUFDO0lBQzNFLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuXG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IsIGlzVW5kZWZpbmVkLCBpc1ByZWRpY2F0ZSwgUmVwYWlyVHlwZSwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgUHJlZGljYXRlIH0gZnJvbSAnLi9pbnRlcm5hbHMnO1xuXG5mdW5jdGlvbiByZXRyaWV2ZVZhbHVlPFQ+KFxuICBvcGVyYXRvck9yVmFsdWU6IFN0YXRlT3BlcmF0b3I8VD4gfCBULFxuICBleGlzdGluZz86IFJlYWRvbmx5PFJlcGFpclR5cGU8VD4+XG4pOiBSZXBhaXJUeXBlPFQ+IHtcbiAgLy8gSWYgc3RhdGUgb3BlcmF0b3IgaXMgYSBmdW5jdGlvblxuICAvLyB0aGVuIGNhbGwgaXQgd2l0aCBhbiBvcmlnaW5hbCB2YWx1ZVxuICBpZiAoaXNTdGF0ZU9wZXJhdG9yKG9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZShleGlzdGluZyEgYXMgUmVhZG9ubHk8VD4pO1xuICAgIHJldHVybiB2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xuICB9XG5cbiAgLy8gSWYgb3BlcmF0b3Igb3IgdmFsdWUgd2FzIG5vdCBwcm92aWRlZFxuICAvLyBlLmcuIGBlbHNlT3BlcmF0b3JPclZhbHVlYCBpcyBgdW5kZWZpbmVkYFxuICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1VuZGVmaW5lZChvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgcmV0dXJuICg8YW55PmV4aXN0aW5nKSEgYXMgUmVwYWlyVHlwZTxUPjtcbiAgfVxuXG4gIHJldHVybiBvcGVyYXRvck9yVmFsdWUgYXMgUmVwYWlyVHlwZTxUPjtcbn1cblxuLyoqXG4gKiBAcGFyYW0gY29uZGl0aW9uIC0gQ29uZGl0aW9uIGNhbiBiZSBhIHBsYWluIGJvb2xlYW4gdmFsdWUgb3IgYSBmdW5jdGlvbixcbiAqIHRoYXQgcmV0dXJucyBib29sZWFuLCBhbHNvIHRoaXMgZnVuY3Rpb24gY2FuIHRha2UgYSB2YWx1ZSBhcyBhbiBhcmd1bWVudFxuICogdG8gd2hpY2ggdGhpcyBzdGF0ZSBvcGVyYXRvciBhcHBsaWVzXG4gKiBAcGFyYW0gdHJ1ZU9wZXJhdG9yT3JWYWx1ZSAtIEFueSB2YWx1ZSBvciBhIHN0YXRlIG9wZXJhdG9yXG4gKiBAcGFyYW0gZWxzZU9wZXJhdG9yT3JWYWx1ZSAtIEFueSB2YWx1ZSBvciBhIHN0YXRlIG9wZXJhdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpaWY8VD4oXG4gIGNvbmRpdGlvbjogTm9JbmZlcjxQcmVkaWNhdGU8VD4+IHwgYm9vbGVhbixcbiAgdHJ1ZU9wZXJhdG9yT3JWYWx1ZTogTm9JbmZlcjxTdGF0ZU9wZXJhdG9yPFQ+PiB8IFQsXG4gIGVsc2VPcGVyYXRvck9yVmFsdWU/OiBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD4+IHwgVFxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+PiB7XG4gIHJldHVybiBmdW5jdGlvbiBpaWZPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj4pOiBSZXBhaXJUeXBlPFQ+IHtcbiAgICAvLyBDb252ZXJ0IHRoZSB2YWx1ZSB0byBhIGJvb2xlYW5cbiAgICBsZXQgcmVzdWx0ID0gISFjb25kaXRpb247XG4gICAgLy8gYnV0IGlmIGl0IGlzIGEgZnVuY3Rpb24gdGhlbiBydW4gaXQgdG8gZ2V0IHRoZSByZXN1bHRcbiAgICBpZiAoaXNQcmVkaWNhdGUoY29uZGl0aW9uKSkge1xuICAgICAgcmVzdWx0ID0gY29uZGl0aW9uKGV4aXN0aW5nKTtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPih0cnVlT3BlcmF0b3JPclZhbHVlLCBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPihlbHNlT3BlcmF0b3JPclZhbHVlISwgZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPik7XG4gIH07XG59XG4iXX0=
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBVyxNQUFNLFNBQVMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXG4gKi9cbmV4cG9ydCB7IGFwcGVuZCB9IGZyb20gJy4vYXBwZW5kJztcbmV4cG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuL2NvbXBvc2UnO1xuZXhwb3J0IHsgaWlmIH0gZnJvbSAnLi9paWYnO1xuZXhwb3J0IHsgaW5zZXJ0SXRlbSB9IGZyb20gJy4vaW5zZXJ0LWl0ZW0nO1xuZXhwb3J0IHsgcGF0Y2ggfSBmcm9tICcuL3BhdGNoJztcbmV4cG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IHsgdXBkYXRlSXRlbSB9IGZyb20gJy4vdXBkYXRlLWl0ZW0nO1xuZXhwb3J0IHsgcmVtb3ZlSXRlbSB9IGZyb20gJy4vcmVtb3ZlLWl0ZW0nO1xuIl19
|
|
@@ -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 {?} */ (((/** @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 {?} */ (((/** @type {?} */ (value))))));
|
|
38
|
+
return clone;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbnNlcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBdUIsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7QUFNckQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBaUIsRUFDakIsY0FBdUI7SUFFdkI7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DO1FBQ3BFLHNEQUFzRDtRQUN0RCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO1lBQzVCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxtQkFBQSxDQUFDLG1CQUFBLEtBQUssRUFBVyxDQUFDLEVBQWlCLENBQUMsQ0FBQztTQUM5Qzs7WUFFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTs7WUFFMUIsS0FBSyxHQUFHLENBQUM7UUFFYiw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBQ3RDLGtEQUFrRDtRQUNsRCxJQUFJLG1CQUFBLGNBQWMsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsbUJBQUEsY0FBYyxFQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQUEsQ0FBQyxtQkFBQSxLQUFLLEVBQVcsQ0FBQyxFQUFpQixDQUFDLENBQUM7UUFDNUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzTmlsLCBSZXBhaXJUeXBlLCBOb0luZmVyIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gaW5zZXJ0XG4gKiBAcGFyYW0gW2JlZm9yZVBvc2l0aW9uXSAtICBTcGVjaWZpZWQgaW5kZXggdG8gaW5zZXJ0IHZhbHVlIGJlZm9yZSwgb3B0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEl0ZW08VD4oXG4gIHZhbHVlOiBOb0luZmVyPFQ+LFxuICBiZWZvcmVQb3NpdGlvbj86IG51bWJlclxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+W10+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGluc2VydEl0ZW1PcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPltdPik6IFJlcGFpclR5cGU8VD5bXSB7XG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgLy8gYmVjYXVzZSBgdmFsdWVgIGNhbiBiZSBgMGAsIHRodXMgYCF2YWx1ZWAgd2lsbCByZXR1cm4gYHRydWVgXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiBleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcbiAgICB9XG5cbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIFsodmFsdWUgYXMgdW5rbm93bikgYXMgUmVwYWlyVHlwZTxUPl07XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xuXG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIC8vIE5vIG5lZWQgdG8gY2FsbCBgaXNOdW1iZXJgXG4gICAgLy8gYXMgd2UgYXJlIGNoZWNraW5nIGA+IDBgIG5vdCBgPj0gMGBcbiAgICAvLyBldmVyeXRoaW5nIGV4Y2VwdCBudW1iZXIgd2lsbCByZXR1cm4gZmFsc2UgaGVyZVxuICAgIGlmIChiZWZvcmVQb3NpdGlvbiEgPiAwKSB7XG4gICAgICBpbmRleCA9IGJlZm9yZVBvc2l0aW9uITtcbiAgICB9XG5cbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDAsICh2YWx1ZSBhcyB1bmtub3duKSBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH07XG59XG4iXX0=
|
|
@@ -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,39 @@
|
|
|
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
|
-
* @
|
|
15
|
-
* @
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/** @type {?} */
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7OztBQVUxQyxNQUFNLFVBQVUsS0FBSyxDQUFJLFdBQXlCO0lBQ2hEOzs7OztJQUFPLFNBQVMsa0JBQWtCLENBQTJCLFFBQXFCOztZQUM1RSxLQUFLLEdBQUcsSUFBSTtRQUNoQixLQUFLLElBQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRTs7Z0JBQ3JCLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDOztnQkFDekIsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQzs7Z0JBQy9CLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUM1QyxDQUFDLENBQUMsUUFBUSxDQUFDLG1CQUFLLGlCQUFpQixFQUFBLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxRQUFRO1lBQ1osSUFBSSxZQUFZLEtBQUssaUJBQWlCLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsS0FBSyx3QkFBUSxDQUFDLG1CQUFLLFFBQVEsRUFBQSxDQUFDLENBQUUsQ0FBQztpQkFDaEM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUN6QjtTQUNGO1FBQ0QsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDO0lBQzNCLENBQUMsRUFBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xyXG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3V0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIFBhdGNoU3BlYzxUPiA9IHsgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIHwgU3RhdGVPcGVyYXRvcjxOb25OdWxsYWJsZTxUW1BdPj4gfTtcclxuXHJcbnR5cGUgUGF0Y2hWYWx1ZXM8VD4gPSB7XHJcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBSID8gUiA6IFRbUF07XHJcbn07XHJcblxyXG50eXBlIFBhdGNoT3BlcmF0b3I8VD4gPSA8VSBleHRlbmRzIFBhdGNoVmFsdWVzPFQ+PihleGlzdGluZzogUmVhZG9ubHk8VT4pID0+IFU7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2g8VD4ocGF0Y2hPYmplY3Q6IFBhdGNoU3BlYzxUPik6IFBhdGNoT3BlcmF0b3I8VD4ge1xyXG4gIHJldHVybiBmdW5jdGlvbiBwYXRjaFN0YXRlT3BlcmF0b3I8VSBleHRlbmRzIFBhdGNoVmFsdWVzPFQ+PihleGlzdGluZzogUmVhZG9ubHk8VT4pOiBVIHtcclxuICAgIGxldCBjbG9uZSA9IG51bGw7XHJcbiAgICBmb3IgKGNvbnN0IGsgaW4gcGF0Y2hPYmplY3QpIHtcclxuICAgICAgY29uc3QgbmV3VmFsdWUgPSBwYXRjaE9iamVjdFtrXTtcclxuICAgICAgY29uc3QgZXhpc3RpbmdQcm9wVmFsdWUgPSBleGlzdGluZ1trXTtcclxuICAgICAgY29uc3QgbmV3UHJvcFZhbHVlID0gaXNTdGF0ZU9wZXJhdG9yKG5ld1ZhbHVlKVxyXG4gICAgICAgID8gbmV3VmFsdWUoPGFueT5leGlzdGluZ1Byb3BWYWx1ZSlcclxuICAgICAgICA6IG5ld1ZhbHVlO1xyXG4gICAgICBpZiAobmV3UHJvcFZhbHVlICE9PSBleGlzdGluZ1Byb3BWYWx1ZSkge1xyXG4gICAgICAgIGlmICghY2xvbmUpIHtcclxuICAgICAgICAgIGNsb25lID0geyAuLi4oPGFueT5leGlzdGluZykgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2xvbmVba10gPSBuZXdQcm9wVmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjbG9uZSB8fCBleGlzdGluZztcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
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 (/** @type {?} */ (((/** @type {?} */ ((/**
|
|
14
|
+
* @param {?} existing
|
|
15
|
+
* @return {?}
|
|
16
|
+
*/
|
|
17
|
+
function patchStateOperator(existing) {
|
|
18
|
+
/** @type {?} */
|
|
19
|
+
var clone = null;
|
|
20
|
+
for (var k in patchObject) {
|
|
21
|
+
/** @type {?} */
|
|
22
|
+
var newValue = patchObject[k];
|
|
23
|
+
/** @type {?} */
|
|
24
|
+
var existingPropValue = existing[(/** @type {?} */ (k))];
|
|
25
|
+
/** @type {?} */
|
|
26
|
+
var newPropValue = isStateOperator(newValue)
|
|
27
|
+
? newValue((/** @type {?} */ (existingPropValue)))
|
|
28
|
+
: newValue;
|
|
29
|
+
if (newPropValue !== existingPropValue) {
|
|
30
|
+
if (!clone) {
|
|
31
|
+
clone = tslib_1.__assign({}, ((/** @type {?} */ (existing))));
|
|
32
|
+
}
|
|
33
|
+
clone[k] = newPropValue;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return clone || existing;
|
|
37
|
+
}))))));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQVcsTUFBTSxTQUFTLENBQUM7Ozs7OztBQVFuRCxNQUFNLFVBQVUsS0FBSyxDQUFJLFdBQWtDO0lBQ3pELE9BQU8sbUJBQUEsQ0FBQzs7OztJQUFBLFNBQVMsa0JBQWtCLENBQUMsUUFBa0M7O1lBQ2hFLEtBQUssR0FBRyxJQUFJO1FBQ2hCLEtBQUssSUFBTSxDQUFDLElBQUksV0FBVyxFQUFFOztnQkFDckIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2dCQUN6QixpQkFBaUIsR0FBRyxRQUFRLENBQUMsbUJBQUEsQ0FBQyxFQUE0QixDQUFDOztnQkFDM0QsWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQUssaUJBQWlCLEVBQUEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDWixJQUFJLFlBQVksS0FBSyxpQkFBaUIsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLHdCQUFRLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsQ0FBRSxDQUFDO2lCQUNoQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUM7SUFDM0IsQ0FBQyxHQUFXLENBQUMsRUFBaUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgTm9JbmZlciB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBQYXRjaFNwZWM8VD4gPSB7IFtQIGluIGtleW9mIFRdPzogVFtQXSB8IFN0YXRlT3BlcmF0b3I8Tm9uTnVsbGFibGU8VFtQXT4+IH07XG5cbnR5cGUgUGF0Y2hWYWx1ZXM8VD4gPSB7XG4gIHJlYWRvbmx5IFtQIGluIGtleW9mIFRdPzogVFtQXSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gaW5mZXIgUiA/IFIgOiBUW1BdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoPFQ+KHBhdGNoT2JqZWN0OiBOb0luZmVyPFBhdGNoU3BlYzxUPj4pOiBTdGF0ZU9wZXJhdG9yPE5vbk51bGxhYmxlPFQ+PiB7XG4gIHJldHVybiAoZnVuY3Rpb24gcGF0Y2hTdGF0ZU9wZXJhdG9yKGV4aXN0aW5nOiBSZWFkb25seTxQYXRjaFZhbHVlczxUPj4pOiBOb25OdWxsYWJsZTxUPiB7XG4gICAgbGV0IGNsb25lID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGsgaW4gcGF0Y2hPYmplY3QpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gcGF0Y2hPYmplY3Rba107XG4gICAgICBjb25zdCBleGlzdGluZ1Byb3BWYWx1ZSA9IGV4aXN0aW5nW2sgYXMgRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+XTtcbiAgICAgIGNvbnN0IG5ld1Byb3BWYWx1ZSA9IGlzU3RhdGVPcGVyYXRvcihuZXdWYWx1ZSlcbiAgICAgICAgPyBuZXdWYWx1ZSg8YW55PmV4aXN0aW5nUHJvcFZhbHVlKVxuICAgICAgICA6IG5ld1ZhbHVlO1xuICAgICAgaWYgKG5ld1Byb3BWYWx1ZSAhPT0gZXhpc3RpbmdQcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKCFjbG9uZSkge1xuICAgICAgICAgIGNsb25lID0geyAuLi4oPGFueT5leGlzdGluZykgfTtcbiAgICAgICAgfVxuICAgICAgICBjbG9uZVtrXSA9IG5ld1Byb3BWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lIHx8IGV4aXN0aW5nO1xuICB9IGFzIHVua25vd24pIGFzIFN0YXRlT3BlcmF0b3I8Tm9uTnVsbGFibGU8VD4+O1xufVxuIl19
|
|
@@ -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,54 @@
|
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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((/** @type {?} */ (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
|
+
/** @type {?} */
|
|
36
|
+
var theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
|
|
37
|
+
if (isStateOperator(theOperatorOrValue)) {
|
|
38
|
+
value = theOperatorOrValue((/** @type {?} */ (existing[index])));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
value = theOperatorOrValue;
|
|
42
|
+
}
|
|
43
|
+
// If the value hasn't been mutated
|
|
44
|
+
// then we just return `existing` array
|
|
45
|
+
if (value === existing[index]) {
|
|
46
|
+
return (/** @type {?} */ (existing));
|
|
47
|
+
}
|
|
48
|
+
/** @type {?} */
|
|
49
|
+
var clone = existing.slice();
|
|
50
|
+
clone[index] = (/** @type {?} */ (value));
|
|
51
|
+
return clone;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1cGRhdGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUNMLGVBQWUsRUFDZixXQUFXLEVBQ1gsUUFBUSxFQUNSLFlBQVksRUFHYixNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7O0FBU2pCLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFFBQXdDLEVBQ3hDLGVBQXVEO0lBRXZEOzs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUFtQzs7WUFDaEUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLG1CQUFBLFFBQVEsRUFBZ0IsQ0FBQyxDQUFDO1NBQ3REO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVHLEtBQUssR0FBTSxtQkFBQSxJQUFJLEVBQUM7Ozs7WUFHZCxrQkFBa0IsR0FBRyxtQkFBQSxlQUFlLEVBQXdCO1FBQ2xFLElBQUksZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLG1CQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztTQUM1QjtRQUVELG1DQUFtQztRQUNuQyx1Q0FBdUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVLLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFO1FBQzlCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxtQkFBQSxLQUFLLEVBQWlCLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHtcbiAgaXNTdGF0ZU9wZXJhdG9yLFxuICBpc1ByZWRpY2F0ZSxcbiAgaXNOdW1iZXIsXG4gIGludmFsaWRJbmRleCxcbiAgUmVwYWlyVHlwZSxcbiAgTm9JbmZlclxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuLyoqXG4gKiBAcGFyYW0gc2VsZWN0b3IgLSBJbmRleCBvZiBpdGVtIGluIHRoZSBhcnJheSBvciBhIHByZWRpY2F0ZSBmdW5jdGlvblxuICogdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXhgXG4gKiBAcGFyYW0gb3BlcmF0b3JPclZhbHVlIC0gTmV3IHZhbHVlIHVuZGVyIHRoZSBgc2VsZWN0b3JgIGluZGV4IG9yIGFcbiAqIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYW4gZXhpc3RpbmcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBOb0luZmVyPFByZWRpY2F0ZTxUPj4sXG4gIG9wZXJhdG9yT3JWYWx1ZTogTm9JbmZlcjxUPiB8IE5vSW5mZXI8U3RhdGVPcGVyYXRvcjxUPj5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IgYXMgUHJlZGljYXRlPFQ+KTtcbiAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBpZiAoaW52YWxpZEluZGV4KGluZGV4KSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IFQgPSBudWxsITtcbiAgICAvLyBOZWVkIHRvIGNoZWNrIGlmIHRoZSBuZXcgaXRlbSB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgZXhpc3RpbmcgaXRlbSB2YWx1ZVxuICAgIC8vIHRoZW4sIG9ubHkgaWYgaXQgd2lsbCBjaGFuZ2UgaXQgdGhlbiBjbG9uZSB0aGUgYXJyYXkgYW5kIHNldCB0aGUgaXRlbVxuICAgIGNvbnN0IHRoZU9wZXJhdG9yT3JWYWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZSBhcyBUIHwgU3RhdGVPcGVyYXRvcjxUPjtcbiAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKHRoZU9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nW2luZGV4XSBhcyBSZWFkb25seTxUPik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBtdXRhdGVkXG4gICAgLy8gdGhlbiB3ZSBqdXN0IHJldHVybiBgZXhpc3RpbmdgIGFycmF5XG4gICAgaWYgKHZhbHVlID09PSBleGlzdGluZ1tpbmRleF0pIHtcbiAgICAgIHJldHVybiBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+W107XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xuICAgIGNsb25lW2luZGV4XSA9IHZhbHVlIGFzIFJlcGFpclR5cGU8VD47XG4gICAgcmV0dXJuIGNsb25lO1xuICB9O1xufVxuIl19
|