@ngxs/store 3.7.2 → 3.7.3-dev.master-1e7127b

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.
Files changed (266) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +475 -0
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -0
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +16 -0
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -0
  6. package/bundles/ngxs-store-internals.umd.js +380 -211
  7. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  9. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  10. package/bundles/ngxs-store-operators.umd.js +310 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  13. package/bundles/ngxs-store.umd.js +4402 -4518
  14. package/bundles/ngxs-store.umd.js.map +1 -1
  15. package/bundles/ngxs-store.umd.min.js +1 -1
  16. package/bundles/ngxs-store.umd.min.js.map +1 -1
  17. package/esm2015/index.js +13 -13
  18. package/esm2015/internals/angular.js +46 -40
  19. package/esm2015/internals/decorator-injector-adapter.js +162 -0
  20. package/esm2015/internals/index.js +11 -10
  21. package/esm2015/internals/initial-state.js +34 -34
  22. package/esm2015/internals/internal-tokens.js +16 -16
  23. package/esm2015/internals/memoize.js +70 -70
  24. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  25. package/esm2015/internals/ngxs-store-internals.js +9 -9
  26. package/esm2015/internals/src/symbols.js +14 -14
  27. package/esm2015/internals/symbols.js +14 -14
  28. package/esm2015/internals/testing/fresh-platform.js +90 -0
  29. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -0
  30. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -0
  31. package/esm2015/internals/testing/index.js +7 -0
  32. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -0
  33. package/esm2015/internals/testing/ngxs.setup.js +76 -0
  34. package/esm2015/internals/testing/symbol.js +29 -0
  35. package/esm2015/ngxs-store.js +24 -27
  36. package/esm2015/operators/append.js +31 -31
  37. package/esm2015/operators/compose.js +24 -24
  38. package/esm2015/operators/iif.js +56 -56
  39. package/esm2015/operators/index.js +18 -18
  40. package/esm2015/operators/insert-item.js +41 -41
  41. package/esm2015/operators/internals.js +5 -5
  42. package/esm2015/operators/ngxs-store-operators.js +8 -8
  43. package/esm2015/operators/patch.js +39 -39
  44. package/esm2015/operators/remove-item.js +34 -34
  45. package/esm2015/operators/update-item.js +52 -52
  46. package/esm2015/operators/utils.js +50 -50
  47. package/esm2015/src/actions/actions.js +39 -39
  48. package/esm2015/src/actions/symbols.js +39 -39
  49. package/esm2015/src/actions-stream.js +138 -140
  50. package/esm2015/src/configs/messages.config.js +79 -87
  51. package/esm2015/src/decorators/action.js +48 -44
  52. package/esm2015/src/decorators/select/select-factory.js +49 -46
  53. package/esm2015/src/decorators/select/select.js +60 -45
  54. package/esm2015/src/decorators/select/symbols.js +94 -50
  55. package/esm2015/src/decorators/selector/selector.js +59 -55
  56. package/esm2015/src/decorators/selector/symbols.js +5 -5
  57. package/esm2015/src/decorators/selector-options.js +34 -34
  58. package/esm2015/src/decorators/state.js +83 -75
  59. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +101 -96
  60. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  61. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  62. package/esm2015/src/execution/symbols.js +29 -29
  63. package/esm2015/src/internal/dispatcher.js +217 -217
  64. package/esm2015/src/internal/internals.js +493 -489
  65. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  66. package/esm2015/src/internal/state-context-factory.js +138 -138
  67. package/esm2015/src/internal/state-factory.js +449 -429
  68. package/esm2015/src/internal/state-operations.js +120 -125
  69. package/esm2015/src/internal/state-operators.js +33 -33
  70. package/esm2015/src/internal/state-stream.js +21 -21
  71. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  72. package/esm2015/src/module.js +158 -172
  73. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  74. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  75. package/esm2015/src/operators/leave-ngxs.js +58 -58
  76. package/esm2015/src/operators/of-action.js +191 -191
  77. package/esm2015/src/plugin-manager.js +70 -70
  78. package/esm2015/src/plugin_api.js +10 -10
  79. package/esm2015/src/public_api.js +29 -29
  80. package/esm2015/src/public_to_deprecate.js +64 -64
  81. package/esm2015/src/state-token/state-token.js +45 -45
  82. package/esm2015/src/state-token/symbols.js +5 -5
  83. package/esm2015/src/store.js +174 -174
  84. package/esm2015/src/symbols.js +217 -221
  85. package/esm2015/src/utils/compose.js +44 -44
  86. package/esm2015/src/utils/freeze.js +35 -35
  87. package/esm2015/src/utils/selector-utils.js +221 -221
  88. package/esm2015/src/utils/store-validators.js +60 -65
  89. package/esm2015/src/utils/utils.js +143 -143
  90. package/esm5/index.js +13 -13
  91. package/esm5/internals/angular.js +46 -40
  92. package/esm5/internals/decorator-injector-adapter.js +162 -0
  93. package/esm5/internals/index.js +11 -10
  94. package/esm5/internals/initial-state.js +45 -45
  95. package/esm5/internals/internal-tokens.js +16 -16
  96. package/esm5/internals/memoize.js +71 -71
  97. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  98. package/esm5/internals/ngxs-store-internals.js +9 -9
  99. package/esm5/internals/src/symbols.js +14 -14
  100. package/esm5/internals/symbols.js +14 -14
  101. package/esm5/internals/testing/fresh-platform.js +101 -0
  102. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -0
  103. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -0
  104. package/esm5/internals/testing/index.js +7 -0
  105. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -0
  106. package/esm5/internals/testing/ngxs.setup.js +98 -0
  107. package/esm5/internals/testing/symbol.js +29 -0
  108. package/esm5/ngxs-store.js +24 -27
  109. package/esm5/operators/append.js +31 -31
  110. package/esm5/operators/compose.js +28 -28
  111. package/esm5/operators/iif.js +56 -56
  112. package/esm5/operators/index.js +18 -18
  113. package/esm5/operators/insert-item.js +41 -41
  114. package/esm5/operators/internals.js +5 -5
  115. package/esm5/operators/ngxs-store-operators.js +8 -8
  116. package/esm5/operators/patch.js +40 -40
  117. package/esm5/operators/remove-item.js +34 -34
  118. package/esm5/operators/update-item.js +52 -52
  119. package/esm5/operators/utils.js +50 -50
  120. package/esm5/src/actions/actions.js +62 -62
  121. package/esm5/src/actions/symbols.js +39 -39
  122. package/esm5/src/actions-stream.js +184 -186
  123. package/esm5/src/configs/messages.config.js +79 -104
  124. package/esm5/src/decorators/action.js +60 -56
  125. package/esm5/src/decorators/select/select-factory.js +50 -47
  126. package/esm5/src/decorators/select/select.js +65 -50
  127. package/esm5/src/decorators/select/symbols.js +95 -51
  128. package/esm5/src/decorators/selector/selector.js +59 -55
  129. package/esm5/src/decorators/selector/symbols.js +5 -5
  130. package/esm5/src/decorators/selector-options.js +34 -34
  131. package/esm5/src/decorators/state.js +84 -76
  132. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  133. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  134. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  135. package/esm5/src/execution/symbols.js +29 -29
  136. package/esm5/src/internal/dispatcher.js +253 -253
  137. package/esm5/src/internal/internals.js +495 -491
  138. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  139. package/esm5/src/internal/state-context-factory.js +146 -146
  140. package/esm5/src/internal/state-factory.js +575 -563
  141. package/esm5/src/internal/state-operations.js +130 -139
  142. package/esm5/src/internal/state-operators.js +34 -34
  143. package/esm5/src/internal/state-stream.js +25 -25
  144. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  145. package/esm5/src/module.js +201 -215
  146. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  147. package/esm5/src/modules/ngxs-root.module.js +47 -47
  148. package/esm5/src/operators/leave-ngxs.js +58 -58
  149. package/esm5/src/operators/of-action.js +217 -217
  150. package/esm5/src/plugin-manager.js +82 -82
  151. package/esm5/src/plugin_api.js +10 -10
  152. package/esm5/src/public_api.js +29 -29
  153. package/esm5/src/public_to_deprecate.js +64 -64
  154. package/esm5/src/state-token/state-token.js +57 -57
  155. package/esm5/src/state-token/symbols.js +5 -5
  156. package/esm5/src/store.js +225 -225
  157. package/esm5/src/symbols.js +226 -230
  158. package/esm5/src/utils/compose.js +55 -55
  159. package/esm5/src/utils/freeze.js +35 -35
  160. package/esm5/src/utils/selector-utils.js +230 -230
  161. package/esm5/src/utils/store-validators.js +78 -86
  162. package/esm5/src/utils/utils.js +151 -151
  163. package/fesm2015/ngxs-store-internals-testing.js +216 -0
  164. package/fesm2015/ngxs-store-internals-testing.js.map +1 -0
  165. package/fesm2015/ngxs-store-internals.js +361 -194
  166. package/fesm2015/ngxs-store-internals.js.map +1 -1
  167. package/fesm2015/ngxs-store-operators.js +312 -312
  168. package/fesm2015/ngxs-store-operators.js.map +1 -1
  169. package/fesm2015/ngxs-store.js +3907 -3976
  170. package/fesm2015/ngxs-store.js.map +1 -1
  171. package/fesm5/ngxs-store-internals-testing.js +263 -0
  172. package/fesm5/ngxs-store-internals-testing.js.map +1 -0
  173. package/fesm5/ngxs-store-internals.js +386 -219
  174. package/fesm5/ngxs-store-internals.js.map +1 -1
  175. package/fesm5/ngxs-store-operators.js +316 -316
  176. package/fesm5/ngxs-store-operators.js.map +1 -1
  177. package/fesm5/ngxs-store.js +4399 -4510
  178. package/fesm5/ngxs-store.js.map +1 -1
  179. package/index.d.ts +8 -8
  180. package/internals/angular.d.ts +3 -3
  181. package/internals/decorator-injector-adapter.d.ts +8 -0
  182. package/internals/index.d.ts +7 -6
  183. package/internals/initial-state.d.ts +8 -8
  184. package/internals/internal-tokens.d.ts +9 -9
  185. package/internals/memoize.d.ts +9 -9
  186. package/internals/ngxs-bootstrapper.d.ts +13 -13
  187. package/internals/ngxs-store-internals.d.ts +4 -4
  188. package/internals/ngxs-store-internals.metadata.json +1 -1
  189. package/internals/src/symbols.d.ts +7 -7
  190. package/internals/symbols.d.ts +7 -7
  191. package/internals/testing/fresh-platform.d.ts +1 -0
  192. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -0
  193. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -0
  194. package/internals/testing/index.d.ts +3 -0
  195. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -0
  196. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -0
  197. package/internals/testing/ngxs.setup.d.ts +7 -0
  198. package/internals/testing/package.json +13 -0
  199. package/internals/testing/symbol.d.ts +14 -0
  200. package/ngxs-store.d.ts +20 -23
  201. package/ngxs-store.metadata.json +1 -1
  202. package/operators/append.d.ts +6 -6
  203. package/operators/compose.d.ts +2 -2
  204. package/operators/iif.d.ts +11 -11
  205. package/operators/index.d.ts +13 -13
  206. package/operators/insert-item.d.ts +7 -7
  207. package/operators/internals.d.ts +2 -2
  208. package/operators/ngxs-store-operators.d.ts +4 -4
  209. package/operators/patch.d.ts +10 -10
  210. package/operators/remove-item.d.ts +7 -7
  211. package/operators/update-item.d.ts +10 -10
  212. package/operators/utils.d.ts +9 -9
  213. package/package.json +3 -3
  214. package/src/actions/actions.d.ts +15 -15
  215. package/src/actions/symbols.d.ts +21 -21
  216. package/src/actions-stream.d.ts +49 -49
  217. package/src/configs/messages.config.d.ts +11 -30
  218. package/src/decorators/action.d.ts +5 -5
  219. package/src/decorators/select/select-factory.d.ts +13 -14
  220. package/src/decorators/select/select.d.ts +4 -4
  221. package/src/decorators/select/symbols.d.ts +14 -10
  222. package/src/decorators/selector/selector.d.ts +5 -5
  223. package/src/decorators/selector/symbols.d.ts +4 -4
  224. package/src/decorators/selector-options.d.ts +5 -5
  225. package/src/decorators/state.d.ts +6 -6
  226. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  227. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  228. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  229. package/src/execution/symbols.d.ts +6 -6
  230. package/src/internal/dispatcher.d.ts +32 -32
  231. package/src/internal/internals.d.ts +166 -167
  232. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  233. package/src/internal/state-context-factory.d.ts +15 -15
  234. package/src/internal/state-factory.d.ts +57 -58
  235. package/src/internal/state-operations.d.ts +19 -21
  236. package/src/internal/state-operators.d.ts +2 -2
  237. package/src/internal/state-stream.d.ts +9 -9
  238. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  239. package/src/module.d.ts +23 -23
  240. package/src/modules/ngxs-feature.module.d.ts +13 -13
  241. package/src/modules/ngxs-root.module.d.ts +13 -13
  242. package/src/operators/leave-ngxs.d.ts +7 -7
  243. package/src/operators/of-action.d.ts +43 -43
  244. package/src/plugin-manager.d.ts +10 -10
  245. package/src/plugin_api.d.ts +5 -5
  246. package/src/public_api.d.ts +17 -17
  247. package/src/public_to_deprecate.d.ts +21 -21
  248. package/src/state-token/state-token.d.ts +7 -7
  249. package/src/state-token/symbols.d.ts +5 -5
  250. package/src/store.d.ts +53 -53
  251. package/src/symbols.d.ts +135 -137
  252. package/src/utils/compose.d.ts +23 -23
  253. package/src/utils/freeze.d.ts +5 -5
  254. package/src/utils/selector-utils.d.ts +23 -23
  255. package/src/utils/store-validators.d.ts +7 -8
  256. package/src/utils/utils.d.ts +46 -46
  257. package/types/index.d.ts +2 -2
  258. package/esm2015/src/host-environment/host-environment.js +0 -31
  259. package/esm2015/src/internal/config-validator.js +0 -67
  260. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  261. package/esm5/src/host-environment/host-environment.js +0 -29
  262. package/esm5/src/internal/config-validator.js +0 -76
  263. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  264. package/src/host-environment/host-environment.d.ts +0 -6
  265. package/src/internal/config-validator.d.ts +0 -10
  266. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -1,24 +1,24 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @template T
7
- * @param {...?} operators
8
- * @return {?}
9
- */
10
- export function compose(...operators) {
11
- return (/**
12
- * @param {?} existing
13
- * @return {?}
14
- */
15
- function composeOperator(existing) {
16
- return operators.reduce((/**
17
- * @param {?} accumulator
18
- * @param {?} operator
19
- * @return {?}
20
- */
21
- (accumulator, operator) => operator(accumulator)), existing);
22
- });
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL29wZXJhdG9ycy8iLCJzb3VyY2VzIjpbImNvbXBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFVLE9BQU8sQ0FBSSxHQUFHLFNBQTZCO0lBQ3pEOzs7O0lBQU8sU0FBUyxlQUFlLENBQUMsUUFBcUI7UUFDbkQsT0FBTyxTQUFTLENBQUMsTUFBTTs7Ozs7UUFBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRSxRQUFRLENBQUMsQ0FBQztJQUN0RixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wb3NlPFQ+KC4uLm9wZXJhdG9yczogU3RhdGVPcGVyYXRvcjxUPltdKTogU3RhdGVPcGVyYXRvcjxUPiB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBvc2VPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8VD4pOiBUIHtcclxuICAgIHJldHVybiBvcGVyYXRvcnMucmVkdWNlKChhY2N1bXVsYXRvciwgb3BlcmF0b3IpID0+IG9wZXJhdG9yKGFjY3VtdWxhdG9yKSwgZXhpc3RpbmcpO1xyXG4gIH07XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @template T
7
+ * @param {...?} operators
8
+ * @return {?}
9
+ */
10
+ export function compose(...operators) {
11
+ return (/**
12
+ * @param {?} existing
13
+ * @return {?}
14
+ */
15
+ function composeOperator(existing) {
16
+ return operators.reduce((/**
17
+ * @param {?} accumulator
18
+ * @param {?} operator
19
+ * @return {?}
20
+ */
21
+ (accumulator, operator) => operator(accumulator)), existing);
22
+ });
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL29wZXJhdG9ycy8iLCJzb3VyY2VzIjpbImNvbXBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsTUFBTSxVQUFVLE9BQU8sQ0FBSSxHQUFHLFNBQTZCO0lBQ3pEOzs7O0lBQU8sU0FBUyxlQUFlLENBQUMsUUFBcUI7UUFDbkQsT0FBTyxTQUFTLENBQUMsTUFBTTs7Ozs7UUFBQyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRSxRQUFRLENBQUMsQ0FBQztJQUN0RixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvc2U8VD4oLi4ub3BlcmF0b3JzOiBTdGF0ZU9wZXJhdG9yPFQ+W10pOiBTdGF0ZU9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBvc2VPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8VD4pOiBUIHtcbiAgICByZXR1cm4gb3BlcmF0b3JzLnJlZHVjZSgoYWNjdW11bGF0b3IsIG9wZXJhdG9yKSA9PiBvcGVyYXRvcihhY2N1bXVsYXRvciksIGV4aXN0aW5nKTtcbiAgfTtcbn1cbiJdfQ==
@@ -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
- const 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
- let 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaWlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7QUFHaEYsU0FBUyxhQUFhLENBQ3BCLGVBQXFDLEVBQ3JDLFFBQWtDO0lBRWxDLGtDQUFrQztJQUNsQyxzQ0FBc0M7SUFDdEMsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUU7O2NBQzlCLEtBQUssR0FBRyxlQUFlLENBQUMsbUJBQUEsbUJBQUEsUUFBUSxFQUFDLEVBQWUsQ0FBQztRQUN2RCxPQUFPLG1CQUFBLEtBQUssRUFBaUIsQ0FBQztLQUMvQjtJQUVELHdDQUF3QztJQUN4Qyw0Q0FBNEM7SUFDNUMsd0NBQXdDO0lBQ3hDLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sbUJBQUEsbUJBQUEsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxFQUFDLEVBQWlCLENBQUM7S0FDMUM7SUFFRCxPQUFPLG1CQUFBLGVBQWUsRUFBaUIsQ0FBQztBQUMxQyxDQUFDOzs7Ozs7Ozs7O0FBU0QsTUFBTSxVQUFVLEdBQUcsQ0FDakIsU0FBaUMsRUFDakMsbUJBQXlDLEVBQ3pDLG1CQUEwQztJQUUxQzs7OztJQUFPLFNBQVMsV0FBVyxDQUFDLFFBQWlDOzs7WUFFdkQsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTO1FBQ3hCLHdEQUF3RDtRQUN4RCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLGFBQWEsQ0FBSSxtQkFBbUIsRUFBRSxtQkFBQSxRQUFRLEVBQWlCLENBQUMsQ0FBQztTQUN6RTtRQUVELE9BQU8sYUFBYSxDQUFJLG1CQUFBLG1CQUFtQixFQUFDLEVBQUUsbUJBQUEsUUFBUSxFQUFpQixDQUFDLENBQUM7SUFDM0UsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcblxyXG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IsIGlzVW5kZWZpbmVkLCBpc1ByZWRpY2F0ZSwgUmVwYWlyVHlwZSB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuL2ludGVybmFscyc7XHJcblxyXG5mdW5jdGlvbiByZXRyaWV2ZVZhbHVlPFQ+KFxyXG4gIG9wZXJhdG9yT3JWYWx1ZTogU3RhdGVPcGVyYXRvcjxUPiB8IFQsXHJcbiAgZXhpc3Rpbmc/OiBSZWFkb25seTxSZXBhaXJUeXBlPFQ+PlxyXG4pOiBSZXBhaXJUeXBlPFQ+IHtcclxuICAvLyBJZiBzdGF0ZSBvcGVyYXRvciBpcyBhIGZ1bmN0aW9uXHJcbiAgLy8gdGhlbiBjYWxsIGl0IHdpdGggYW4gb3JpZ2luYWwgdmFsdWVcclxuICBpZiAoaXNTdGF0ZU9wZXJhdG9yKG9wZXJhdG9yT3JWYWx1ZSkpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gb3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nISBhcyBSZWFkb25seTxUPik7XHJcbiAgICByZXR1cm4gdmFsdWUgYXMgUmVwYWlyVHlwZTxUPjtcclxuICB9XHJcblxyXG4gIC8vIElmIG9wZXJhdG9yIG9yIHZhbHVlIHdhcyBub3QgcHJvdmlkZWRcclxuICAvLyBlLmcuIGBlbHNlT3BlcmF0b3JPclZhbHVlYCBpcyBgdW5kZWZpbmVkYFxyXG4gIC8vIHRoZW4gd2UganVzdCByZXR1cm4gYW4gb3JpZ2luYWwgdmFsdWVcclxuICBpZiAoaXNVbmRlZmluZWQob3BlcmF0b3JPclZhbHVlKSkge1xyXG4gICAgcmV0dXJuICg8YW55PmV4aXN0aW5nKSEgYXMgUmVwYWlyVHlwZTxUPjtcclxuICB9XHJcblxyXG4gIHJldHVybiBvcGVyYXRvck9yVmFsdWUgYXMgUmVwYWlyVHlwZTxUPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSBjb25kaXRpb24gLSBDb25kaXRpb24gY2FuIGJlIGEgcGxhaW4gYm9vbGVhbiB2YWx1ZSBvciBhIGZ1bmN0aW9uLFxyXG4gKiB0aGF0IHJldHVybnMgYm9vbGVhbiwgYWxzbyB0aGlzIGZ1bmN0aW9uIGNhbiB0YWtlIGEgdmFsdWUgYXMgYW4gYXJndW1lbnRcclxuICogdG8gd2hpY2ggdGhpcyBzdGF0ZSBvcGVyYXRvciBhcHBsaWVzXHJcbiAqIEBwYXJhbSB0cnVlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcclxuICogQHBhcmFtIGVsc2VPcGVyYXRvck9yVmFsdWUgLSBBbnkgdmFsdWUgb3IgYSBzdGF0ZSBvcGVyYXRvclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlpZjxUPihcclxuICBjb25kaXRpb246IFByZWRpY2F0ZTxUPiB8IGJvb2xlYW4sXHJcbiAgdHJ1ZU9wZXJhdG9yT3JWYWx1ZTogU3RhdGVPcGVyYXRvcjxUPiB8IFQsXHJcbiAgZWxzZU9wZXJhdG9yT3JWYWx1ZT86IFN0YXRlT3BlcmF0b3I8VD4gfCBUXHJcbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPj4ge1xyXG4gIHJldHVybiBmdW5jdGlvbiBpaWZPcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj4pOiBSZXBhaXJUeXBlPFQ+IHtcclxuICAgIC8vIENvbnZlcnQgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxyXG4gICAgbGV0IHJlc3VsdCA9ICEhY29uZGl0aW9uO1xyXG4gICAgLy8gYnV0IGlmIGl0IGlzIGEgZnVuY3Rpb24gdGhlbiBydW4gaXQgdG8gZ2V0IHRoZSByZXN1bHRcclxuICAgIGlmIChpc1ByZWRpY2F0ZShjb25kaXRpb24pKSB7XHJcbiAgICAgIHJlc3VsdCA9IGNvbmRpdGlvbihleGlzdGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPih0cnVlT3BlcmF0b3JPclZhbHVlLCBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPihlbHNlT3BlcmF0b3JPclZhbHVlISwgZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPik7XHJcbiAgfTtcclxufVxyXG4iXX0=
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
+ const 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
+ let 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaWlmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7Ozs7QUFHaEYsU0FBUyxhQUFhLENBQ3BCLGVBQXFDLEVBQ3JDLFFBQWtDO0lBRWxDLGtDQUFrQztJQUNsQyxzQ0FBc0M7SUFDdEMsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLEVBQUU7O2NBQzlCLEtBQUssR0FBRyxlQUFlLENBQUMsbUJBQUEsbUJBQUEsUUFBUSxFQUFDLEVBQWUsQ0FBQztRQUN2RCxPQUFPLG1CQUFBLEtBQUssRUFBaUIsQ0FBQztLQUMvQjtJQUVELHdDQUF3QztJQUN4Qyw0Q0FBNEM7SUFDNUMsd0NBQXdDO0lBQ3hDLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sbUJBQUEsbUJBQUEsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxFQUFDLEVBQWlCLENBQUM7S0FDMUM7SUFFRCxPQUFPLG1CQUFBLGVBQWUsRUFBaUIsQ0FBQztBQUMxQyxDQUFDOzs7Ozs7Ozs7O0FBU0QsTUFBTSxVQUFVLEdBQUcsQ0FDakIsU0FBaUMsRUFDakMsbUJBQXlDLEVBQ3pDLG1CQUEwQztJQUUxQzs7OztJQUFPLFNBQVMsV0FBVyxDQUFDLFFBQWlDOzs7WUFFdkQsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTO1FBQ3hCLHdEQUF3RDtRQUN4RCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLGFBQWEsQ0FBSSxtQkFBbUIsRUFBRSxtQkFBQSxRQUFRLEVBQWlCLENBQUMsQ0FBQztTQUN6RTtRQUVELE9BQU8sYUFBYSxDQUFJLG1CQUFBLG1CQUFtQixFQUFDLEVBQUUsbUJBQUEsUUFBUSxFQUFpQixDQUFDLENBQUM7SUFDM0UsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgaXNVbmRlZmluZWQsIGlzUHJlZGljYXRlLCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICcuL2ludGVybmFscyc7XG5cbmZ1bmN0aW9uIHJldHJpZXZlVmFsdWU8VD4oXG4gIG9wZXJhdG9yT3JWYWx1ZTogU3RhdGVPcGVyYXRvcjxUPiB8IFQsXG4gIGV4aXN0aW5nPzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj5cbik6IFJlcGFpclR5cGU8VD4ge1xuICAvLyBJZiBzdGF0ZSBvcGVyYXRvciBpcyBhIGZ1bmN0aW9uXG4gIC8vIHRoZW4gY2FsbCBpdCB3aXRoIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1N0YXRlT3BlcmF0b3Iob3BlcmF0b3JPclZhbHVlKSkge1xuICAgIGNvbnN0IHZhbHVlID0gb3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nISBhcyBSZWFkb25seTxUPik7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFJlcGFpclR5cGU8VD47XG4gIH1cblxuICAvLyBJZiBvcGVyYXRvciBvciB2YWx1ZSB3YXMgbm90IHByb3ZpZGVkXG4gIC8vIGUuZy4gYGVsc2VPcGVyYXRvck9yVmFsdWVgIGlzIGB1bmRlZmluZWRgXG4gIC8vIHRoZW4gd2UganVzdCByZXR1cm4gYW4gb3JpZ2luYWwgdmFsdWVcbiAgaWYgKGlzVW5kZWZpbmVkKG9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gKDxhbnk+ZXhpc3RpbmcpISBhcyBSZXBhaXJUeXBlPFQ+O1xuICB9XG5cbiAgcmV0dXJuIG9wZXJhdG9yT3JWYWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xufVxuXG4vKipcbiAqIEBwYXJhbSBjb25kaXRpb24gLSBDb25kaXRpb24gY2FuIGJlIGEgcGxhaW4gYm9vbGVhbiB2YWx1ZSBvciBhIGZ1bmN0aW9uLFxuICogdGhhdCByZXR1cm5zIGJvb2xlYW4sIGFsc28gdGhpcyBmdW5jdGlvbiBjYW4gdGFrZSBhIHZhbHVlIGFzIGFuIGFyZ3VtZW50XG4gKiB0byB3aGljaCB0aGlzIHN0YXRlIG9wZXJhdG9yIGFwcGxpZXNcbiAqIEBwYXJhbSB0cnVlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqIEBwYXJhbSBlbHNlT3BlcmF0b3JPclZhbHVlIC0gQW55IHZhbHVlIG9yIGEgc3RhdGUgb3BlcmF0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlpZjxUPihcbiAgY29uZGl0aW9uOiBQcmVkaWNhdGU8VD4gfCBib29sZWFuLFxuICB0cnVlT3BlcmF0b3JPclZhbHVlOiBTdGF0ZU9wZXJhdG9yPFQ+IHwgVCxcbiAgZWxzZU9wZXJhdG9yT3JWYWx1ZT86IFN0YXRlT3BlcmF0b3I8VD4gfCBUXG4pOiBTdGF0ZU9wZXJhdG9yPFJlcGFpclR5cGU8VD4+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlpZk9wZXJhdG9yKGV4aXN0aW5nOiBSZWFkb25seTxSZXBhaXJUeXBlPFQ+Pik6IFJlcGFpclR5cGU8VD4ge1xuICAgIC8vIENvbnZlcnQgdGhlIHZhbHVlIHRvIGEgYm9vbGVhblxuICAgIGxldCByZXN1bHQgPSAhIWNvbmRpdGlvbjtcbiAgICAvLyBidXQgaWYgaXQgaXMgYSBmdW5jdGlvbiB0aGVuIHJ1biBpdCB0byBnZXQgdGhlIHJlc3VsdFxuICAgIGlmIChpc1ByZWRpY2F0ZShjb25kaXRpb24pKSB7XG4gICAgICByZXN1bHQgPSBjb25kaXRpb24oZXhpc3RpbmcpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXRyaWV2ZVZhbHVlPFQ+KHRydWVPcGVyYXRvck9yVmFsdWUsIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD4pO1xuICAgIH1cblxuICAgIHJldHVybiByZXRyaWV2ZVZhbHVlPFQ+KGVsc2VPcGVyYXRvck9yVmFsdWUhLCBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+KTtcbiAgfTtcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFLQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQG1vZHVsZVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogRW50cnkgcG9pbnQgZm9yIGFsbCBwdWJsaWMgQVBJcyBvZiB0aGlzIHBhY2thZ2UuXHJcbiAqL1xyXG5leHBvcnQgeyBhcHBlbmQgfSBmcm9tICcuL2FwcGVuZCc7XHJcbmV4cG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuL2NvbXBvc2UnO1xyXG5leHBvcnQgeyBpaWYgfSBmcm9tICcuL2lpZic7XHJcbmV4cG9ydCB7IGluc2VydEl0ZW0gfSBmcm9tICcuL2luc2VydC1pdGVtJztcclxuZXhwb3J0IHsgcGF0Y2ggfSBmcm9tICcuL3BhdGNoJztcclxuZXhwb3J0IHsgaXNTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi91dGlscyc7XHJcbmV4cG9ydCB7IHVwZGF0ZUl0ZW0gfSBmcm9tICcuL3VwZGF0ZS1pdGVtJztcclxuZXhwb3J0IHsgcmVtb3ZlSXRlbSB9IGZyb20gJy4vcmVtb3ZlLWl0ZW0nO1xyXG4iXX0=
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
- const clone = existing.slice();
29
- /** @type {?} */
30
- let 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbnNlcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7OztBQU01QyxNQUFNLFVBQVUsVUFBVSxDQUN4QixLQUFRLEVBQ1IsY0FBdUI7SUFFdkI7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DO1FBQ3BFLHNEQUFzRDtRQUN0RCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO1lBQzVCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxtQkFBQSxLQUFLLEVBQWlCLENBQUMsQ0FBQztTQUNqQzs7Y0FFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTs7WUFFMUIsS0FBSyxHQUFHLENBQUM7UUFFYiw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBQ3RDLGtEQUFrRDtRQUNsRCxJQUFJLG1CQUFBLGNBQWMsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsbUJBQUEsY0FBYyxFQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQUEsS0FBSyxFQUFpQixDQUFDLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgaXNOaWwsIFJlcGFpclR5cGUgfSBmcm9tICcuL3V0aWxzJztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB0byBpbnNlcnRcclxuICogQHBhcmFtIFtiZWZvcmVQb3NpdGlvbl0gLSAgU3BlY2lmaWVkIGluZGV4IHRvIGluc2VydCB2YWx1ZSBiZWZvcmUsIG9wdGlvbmFsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0SXRlbTxUPihcclxuICB2YWx1ZTogVCxcclxuICBiZWZvcmVQb3NpdGlvbj86IG51bWJlclxyXG4pOiBTdGF0ZU9wZXJhdG9yPFJlcGFpclR5cGU8VD5bXT4ge1xyXG4gIHJldHVybiBmdW5jdGlvbiBpbnNlcnRJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xyXG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXHJcbiAgICAvLyBiZWNhdXNlIGB2YWx1ZWAgY2FuIGJlIGAwYCwgdGh1cyBgIXZhbHVlYCB3aWxsIHJldHVybiBgdHJ1ZWBcclxuICAgIGlmIChpc05pbCh2YWx1ZSkgJiYgZXhpc3RpbmcpIHtcclxuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXhpc3RpbmcpKSB7XHJcbiAgICAgIHJldHVybiBbdmFsdWUgYXMgUmVwYWlyVHlwZTxUPl07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xyXG5cclxuICAgIGxldCBpbmRleCA9IDA7XHJcblxyXG4gICAgLy8gTm8gbmVlZCB0byBjYWxsIGBpc051bWJlcmBcclxuICAgIC8vIGFzIHdlIGFyZSBjaGVja2luZyBgPiAwYCBub3QgYD49IDBgXHJcbiAgICAvLyBldmVyeXRoaW5nIGV4Y2VwdCBudW1iZXIgd2lsbCByZXR1cm4gZmFsc2UgaGVyZVxyXG4gICAgaWYgKGJlZm9yZVBvc2l0aW9uISA+IDApIHtcclxuICAgICAgaW5kZXggPSBiZWZvcmVQb3NpdGlvbiE7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvbmUuc3BsaWNlKGluZGV4LCAwLCB2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+KTtcclxuICAgIHJldHVybiBjbG9uZTtcclxuICB9O1xyXG59XHJcbiJdfQ==
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
+ const clone = existing.slice();
29
+ /** @type {?} */
30
+ let 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJpbnNlcnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7OztBQU01QyxNQUFNLFVBQVUsVUFBVSxDQUN4QixLQUFRLEVBQ1IsY0FBdUI7SUFFdkI7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DO1FBQ3BFLHNEQUFzRDtRQUN0RCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO1lBQzVCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDO1FBRUQsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxtQkFBQSxLQUFLLEVBQWlCLENBQUMsQ0FBQztTQUNqQzs7Y0FFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTs7WUFFMUIsS0FBSyxHQUFHLENBQUM7UUFFYiw2QkFBNkI7UUFDN0Isc0NBQXNDO1FBQ3RDLGtEQUFrRDtRQUNsRCxJQUFJLG1CQUFBLGNBQWMsRUFBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsbUJBQUEsY0FBYyxFQUFDLENBQUM7U0FDekI7UUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsbUJBQUEsS0FBSyxFQUFpQixDQUFDLENBQUM7UUFDL0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGlzTmlsLCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdG8gaW5zZXJ0XG4gKiBAcGFyYW0gW2JlZm9yZVBvc2l0aW9uXSAtICBTcGVjaWZpZWQgaW5kZXggdG8gaW5zZXJ0IHZhbHVlIGJlZm9yZSwgb3B0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEl0ZW08VD4oXG4gIHZhbHVlOiBULFxuICBiZWZvcmVQb3NpdGlvbj86IG51bWJlclxuKTogU3RhdGVPcGVyYXRvcjxSZXBhaXJUeXBlPFQ+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvb3BlcmF0b3JzLyIsInNvdXJjZXMiOlsiaW50ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XHJcblxyXG5leHBvcnQgdHlwZSBQcmVkaWNhdGU8VCA9IGFueT4gPSAodmFsdWU/OiBSZXBhaXJUeXBlPFQ+IHwgUmVhZG9ubHk8UmVwYWlyVHlwZTxUPj4pID0+IGJvb2xlYW47XHJcbiJdfQ==
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==
@@ -1,39 +1,39 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { isStateOperator } from './utils';
6
- /**
7
- * @template T
8
- * @param {?} patchObject
9
- * @return {?}
10
- */
11
- export function patch(patchObject) {
12
- return (/**
13
- * @template U
14
- * @param {?} existing
15
- * @return {?}
16
- */
17
- function patchStateOperator(existing) {
18
- /** @type {?} */
19
- let clone = null;
20
- for (const k in patchObject) {
21
- /** @type {?} */
22
- const newValue = patchObject[k];
23
- /** @type {?} */
24
- const existingPropValue = existing[k];
25
- /** @type {?} */
26
- const newPropValue = isStateOperator(newValue)
27
- ? newValue((/** @type {?} */ (existingPropValue)))
28
- : newValue;
29
- if (newPropValue !== existingPropValue) {
30
- if (!clone) {
31
- clone = Object.assign({}, ((/** @type {?} */ (existing))));
32
- }
33
- clone[k] = newPropValue;
34
- }
35
- }
36
- return clone || existing;
37
- });
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBVTFDLE1BQU0sVUFBVSxLQUFLLENBQUksV0FBeUI7SUFDaEQ7Ozs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBMkIsUUFBcUI7O1lBQzVFLEtBQUssR0FBRyxJQUFJO1FBQ2hCLEtBQUssTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFOztrQkFDckIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2tCQUN6QixpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDOztrQkFDL0IsWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQUssaUJBQWlCLEVBQUEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDWixJQUFJLFlBQVksS0FBSyxpQkFBaUIsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLHFCQUFRLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsQ0FBRSxDQUFDO2lCQUNoQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUM7SUFDM0IsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgUGF0Y2hTcGVjPFQ+ID0geyBbUCBpbiBrZXlvZiBUXT86IFRbUF0gfCBTdGF0ZU9wZXJhdG9yPE5vbk51bGxhYmxlPFRbUF0+PiB9O1xyXG5cclxudHlwZSBQYXRjaFZhbHVlczxUPiA9IHtcclxuICByZWFkb25seSBbUCBpbiBrZXlvZiBUXT86IFRbUF0gZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGluZmVyIFIgPyBSIDogVFtQXTtcclxufTtcclxuXHJcbnR5cGUgUGF0Y2hPcGVyYXRvcjxUPiA9IDxVIGV4dGVuZHMgUGF0Y2hWYWx1ZXM8VD4+KGV4aXN0aW5nOiBSZWFkb25seTxVPikgPT4gVTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaDxUPihwYXRjaE9iamVjdDogUGF0Y2hTcGVjPFQ+KTogUGF0Y2hPcGVyYXRvcjxUPiB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIHBhdGNoU3RhdGVPcGVyYXRvcjxVIGV4dGVuZHMgUGF0Y2hWYWx1ZXM8VD4+KGV4aXN0aW5nOiBSZWFkb25seTxVPik6IFUge1xyXG4gICAgbGV0IGNsb25lID0gbnVsbDtcclxuICAgIGZvciAoY29uc3QgayBpbiBwYXRjaE9iamVjdCkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHBhdGNoT2JqZWN0W2tdO1xyXG4gICAgICBjb25zdCBleGlzdGluZ1Byb3BWYWx1ZSA9IGV4aXN0aW5nW2tdO1xyXG4gICAgICBjb25zdCBuZXdQcm9wVmFsdWUgPSBpc1N0YXRlT3BlcmF0b3IobmV3VmFsdWUpXHJcbiAgICAgICAgPyBuZXdWYWx1ZSg8YW55PmV4aXN0aW5nUHJvcFZhbHVlKVxyXG4gICAgICAgIDogbmV3VmFsdWU7XHJcbiAgICAgIGlmIChuZXdQcm9wVmFsdWUgIT09IGV4aXN0aW5nUHJvcFZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCFjbG9uZSkge1xyXG4gICAgICAgICAgY2xvbmUgPSB7IC4uLig8YW55PmV4aXN0aW5nKSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjbG9uZVtrXSA9IG5ld1Byb3BWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsb25lIHx8IGV4aXN0aW5nO1xyXG4gIH07XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { isStateOperator } from './utils';
6
+ /**
7
+ * @template T
8
+ * @param {?} patchObject
9
+ * @return {?}
10
+ */
11
+ export function patch(patchObject) {
12
+ return (/**
13
+ * @template U
14
+ * @param {?} existing
15
+ * @return {?}
16
+ */
17
+ function patchStateOperator(existing) {
18
+ /** @type {?} */
19
+ let clone = null;
20
+ for (const k in patchObject) {
21
+ /** @type {?} */
22
+ const newValue = patchObject[k];
23
+ /** @type {?} */
24
+ const existingPropValue = existing[k];
25
+ /** @type {?} */
26
+ const newPropValue = isStateOperator(newValue)
27
+ ? newValue((/** @type {?} */ (existingPropValue)))
28
+ : newValue;
29
+ if (newPropValue !== existingPropValue) {
30
+ if (!clone) {
31
+ clone = Object.assign({}, ((/** @type {?} */ (existing))));
32
+ }
33
+ clone[k] = newPropValue;
34
+ }
35
+ }
36
+ return clone || existing;
37
+ });
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJwYXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBVTFDLE1BQU0sVUFBVSxLQUFLLENBQUksV0FBeUI7SUFDaEQ7Ozs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBMkIsUUFBcUI7O1lBQzVFLEtBQUssR0FBRyxJQUFJO1FBQ2hCLEtBQUssTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFOztrQkFDckIsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2tCQUN6QixpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDOztrQkFDL0IsWUFBWSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxRQUFRLENBQUMsbUJBQUssaUJBQWlCLEVBQUEsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDWixJQUFJLFlBQVksS0FBSyxpQkFBaUIsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixLQUFLLHFCQUFRLENBQUMsbUJBQUssUUFBUSxFQUFBLENBQUMsQ0FBRSxDQUFDO2lCQUNoQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEtBQUssSUFBSSxRQUFRLENBQUM7SUFDM0IsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgUGF0Y2hTcGVjPFQ+ID0geyBbUCBpbiBrZXlvZiBUXT86IFRbUF0gfCBTdGF0ZU9wZXJhdG9yPE5vbk51bGxhYmxlPFRbUF0+PiB9O1xuXG50eXBlIFBhdGNoVmFsdWVzPFQ+ID0ge1xuICByZWFkb25seSBbUCBpbiBrZXlvZiBUXT86IFRbUF0gZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGluZmVyIFIgPyBSIDogVFtQXTtcbn07XG5cbnR5cGUgUGF0Y2hPcGVyYXRvcjxUPiA9IDxVIGV4dGVuZHMgUGF0Y2hWYWx1ZXM8VD4+KGV4aXN0aW5nOiBSZWFkb25seTxVPikgPT4gVTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoPFQ+KHBhdGNoT2JqZWN0OiBQYXRjaFNwZWM8VD4pOiBQYXRjaE9wZXJhdG9yPFQ+IHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHBhdGNoU3RhdGVPcGVyYXRvcjxVIGV4dGVuZHMgUGF0Y2hWYWx1ZXM8VD4+KGV4aXN0aW5nOiBSZWFkb25seTxVPik6IFUge1xuICAgIGxldCBjbG9uZSA9IG51bGw7XG4gICAgZm9yIChjb25zdCBrIGluIHBhdGNoT2JqZWN0KSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHBhdGNoT2JqZWN0W2tdO1xuICAgICAgY29uc3QgZXhpc3RpbmdQcm9wVmFsdWUgPSBleGlzdGluZ1trXTtcbiAgICAgIGNvbnN0IG5ld1Byb3BWYWx1ZSA9IGlzU3RhdGVPcGVyYXRvcihuZXdWYWx1ZSlcbiAgICAgICAgPyBuZXdWYWx1ZSg8YW55PmV4aXN0aW5nUHJvcFZhbHVlKVxuICAgICAgICA6IG5ld1ZhbHVlO1xuICAgICAgaWYgKG5ld1Byb3BWYWx1ZSAhPT0gZXhpc3RpbmdQcm9wVmFsdWUpIHtcbiAgICAgICAgaWYgKCFjbG9uZSkge1xuICAgICAgICAgIGNsb25lID0geyAuLi4oPGFueT5leGlzdGluZykgfTtcbiAgICAgICAgfVxuICAgICAgICBjbG9uZVtrXSA9IG5ld1Byb3BWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lIHx8IGV4aXN0aW5nO1xuICB9O1xufVxuIl19
@@ -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
- let 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
- const clone = existing.slice();
30
- clone.splice(index, 1);
31
- return clone;
32
- });
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJyZW1vdmUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFjLE1BQU0sU0FBUyxDQUFDOzs7Ozs7QUFLMUUsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsUUFBK0I7SUFFL0I7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DOztZQUNoRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxtQkFBQSxRQUFRLEVBQW1CLENBQUM7U0FDcEM7O2NBRUssS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcclxuaW1wb3J0IHsgUHJlZGljYXRlIH0gZnJvbSAnLi9pbnRlcm5hbHMnO1xyXG5pbXBvcnQgeyBpc1ByZWRpY2F0ZSwgaXNOdW1iZXIsIGludmFsaWRJbmRleCwgUmVwYWlyVHlwZSB9IGZyb20gJy4vdXRpbHMnO1xyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSBzZWxlY3RvciAtIGluZGV4IG9yIHByZWRpY2F0ZSB0byByZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5IGJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSXRlbTxUPihcclxuICBzZWxlY3RvcjogbnVtYmVyIHwgUHJlZGljYXRlPFQ+XHJcbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlbW92ZUl0ZW1PcGVyYXRvcihleGlzdGluZzogUmVhZG9ubHk8UmVwYWlyVHlwZTxUPltdPik6IFJlcGFpclR5cGU8VD5bXSB7XHJcbiAgICBsZXQgaW5kZXggPSAtMTtcclxuXHJcbiAgICBpZiAoaXNQcmVkaWNhdGUoc2VsZWN0b3IpKSB7XHJcbiAgICAgIGluZGV4ID0gZXhpc3RpbmcuZmluZEluZGV4KHNlbGVjdG9yKTtcclxuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XHJcbiAgICAgIGluZGV4ID0gc2VsZWN0b3I7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGludmFsaWRJbmRleChpbmRleCkpIHtcclxuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFJlcGFpclR5cGU8VD5bXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjbG9uZSA9IGV4aXN0aW5nLnNsaWNlKCk7XHJcbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgcmV0dXJuIGNsb25lO1xyXG4gIH07XHJcbn1cclxuIl19
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
+ let 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
+ const clone = existing.slice();
30
+ clone.splice(index, 1);
31
+ return clone;
32
+ });
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJyZW1vdmUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFjLE1BQU0sU0FBUyxDQUFDOzs7Ozs7QUFLMUUsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsUUFBK0I7SUFFL0I7Ozs7SUFBTyxTQUFTLGtCQUFrQixDQUFDLFFBQW1DOztZQUNoRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxtQkFBQSxRQUFRLEVBQW1CLENBQUM7U0FDcEM7O2NBRUssS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcbmltcG9ydCB7IGlzUHJlZGljYXRlLCBpc051bWJlciwgaW52YWxpZEluZGV4LCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHNlbGVjdG9yIC0gaW5kZXggb3IgcHJlZGljYXRlIHRvIHJlbW92ZSBhbiBpdGVtIGZyb20gYW4gYXJyYXkgYnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBQcmVkaWNhdGU8VD5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiByZW1vdmVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+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
- let 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
- let 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
- const clone = existing.slice();
48
- clone[index] = (/** @type {?} */ (value));
49
- return clone;
50
- });
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1cGRhdGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7O0FBUzNGLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFFBQStCLEVBQy9CLGVBQXFDO0lBRXJDOzs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUFtQzs7WUFDaEUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVHLEtBQUssR0FBTSxtQkFBQSxJQUFJLEVBQUM7UUFDcEIsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNwQyxLQUFLLEdBQUcsZUFBZSxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLEtBQUssR0FBRyxlQUFlLENBQUM7U0FDekI7UUFFRCxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLG1CQUFBLFFBQVEsRUFBbUIsQ0FBQztTQUNwQzs7Y0FFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsbUJBQUEsS0FBSyxFQUFpQixDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XHJcblxyXG5pbXBvcnQgeyBpc1N0YXRlT3BlcmF0b3IsIGlzUHJlZGljYXRlLCBpc051bWJlciwgaW52YWxpZEluZGV4LCBSZXBhaXJUeXBlIH0gZnJvbSAnLi91dGlscyc7XHJcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0gc2VsZWN0b3IgLSBJbmRleCBvZiBpdGVtIGluIHRoZSBhcnJheSBvciBhIHByZWRpY2F0ZSBmdW5jdGlvblxyXG4gKiB0aGF0IGNhbiBiZSBwcm92aWRlZCBpbiBgQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleGBcclxuICogQHBhcmFtIG9wZXJhdG9yT3JWYWx1ZSAtIE5ldyB2YWx1ZSB1bmRlciB0aGUgYHNlbGVjdG9yYCBpbmRleCBvciBhXHJcbiAqIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYW4gZXhpc3RpbmcgdmFsdWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJdGVtPFQ+KFxyXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBQcmVkaWNhdGU8VD4sXHJcbiAgb3BlcmF0b3JPclZhbHVlOiBUIHwgU3RhdGVPcGVyYXRvcjxUPlxyXG4pOiBTdGF0ZU9wZXJhdG9yPFJlcGFpclR5cGU8VD5bXT4ge1xyXG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xyXG4gICAgbGV0IGluZGV4ID0gLTE7XHJcblxyXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xyXG4gICAgICBpbmRleCA9IGV4aXN0aW5nLmZpbmRJbmRleChzZWxlY3Rvcik7XHJcbiAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHNlbGVjdG9yKSkge1xyXG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XHJcbiAgICAgIHJldHVybiBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+W107XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHZhbHVlOiBUID0gbnVsbCE7XHJcbiAgICAvLyBOZWVkIHRvIGNoZWNrIGlmIHRoZSBuZXcgaXRlbSB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgZXhpc3RpbmcgaXRlbSB2YWx1ZVxyXG4gICAgLy8gdGhlbiwgb25seSBpZiBpdCB3aWxsIGNoYW5nZSBpdCB0aGVuIGNsb25lIHRoZSBhcnJheSBhbmQgc2V0IHRoZSBpdGVtXHJcbiAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKG9wZXJhdG9yT3JWYWx1ZSkpIHtcclxuICAgICAgdmFsdWUgPSBvcGVyYXRvck9yVmFsdWUoZXhpc3RpbmdbaW5kZXhdIGFzIFJlYWRvbmx5PFQ+KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhbHVlID0gb3BlcmF0b3JPclZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBtdXRhdGVkXHJcbiAgICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGBleGlzdGluZ2AgYXJyYXlcclxuICAgIGlmICh2YWx1ZSA9PT0gZXhpc3RpbmdbaW5kZXhdKSB7XHJcbiAgICAgIHJldHVybiBleGlzdGluZyBhcyBSZXBhaXJUeXBlPFQ+W107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xyXG4gICAgY2xvbmVbaW5kZXhdID0gdmFsdWUgYXMgUmVwYWlyVHlwZTxUPjtcclxuICAgIHJldHVybiBjbG9uZTtcclxuICB9O1xyXG59XHJcbiJdfQ==
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
+ let 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
+ let 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
+ const clone = existing.slice();
48
+ clone[index] = (/** @type {?} */ (value));
49
+ return clone;
50
+ });
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9vcGVyYXRvcnMvIiwic291cmNlcyI6WyJ1cGRhdGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBYyxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7O0FBUzNGLE1BQU0sVUFBVSxVQUFVLENBQ3hCLFFBQStCLEVBQy9CLGVBQXFDO0lBRXJDOzs7O0lBQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUFtQzs7WUFDaEUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUNsQjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sbUJBQUEsUUFBUSxFQUFtQixDQUFDO1NBQ3BDOztZQUVHLEtBQUssR0FBTSxtQkFBQSxJQUFJLEVBQUM7UUFDcEIsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNwQyxLQUFLLEdBQUcsZUFBZSxDQUFDLG1CQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLEtBQUssR0FBRyxlQUFlLENBQUM7U0FDekI7UUFFRCxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLG1CQUFBLFFBQVEsRUFBbUIsQ0FBQztTQUNwQzs7Y0FFSyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRTtRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsbUJBQUEsS0FBSyxFQUFpQixDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlT3BlcmF0b3IgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5cbmltcG9ydCB7IGlzU3RhdGVPcGVyYXRvciwgaXNQcmVkaWNhdGUsIGlzTnVtYmVyLCBpbnZhbGlkSW5kZXgsIFJlcGFpclR5cGUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gJy4vaW50ZXJuYWxzJztcblxuLyoqXG4gKiBAcGFyYW0gc2VsZWN0b3IgLSBJbmRleCBvZiBpdGVtIGluIHRoZSBhcnJheSBvciBhIHByZWRpY2F0ZSBmdW5jdGlvblxuICogdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXhgXG4gKiBAcGFyYW0gb3BlcmF0b3JPclZhbHVlIC0gTmV3IHZhbHVlIHVuZGVyIHRoZSBgc2VsZWN0b3JgIGluZGV4IG9yIGFcbiAqIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYW4gZXhpc3RpbmcgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUl0ZW08VD4oXG4gIHNlbGVjdG9yOiBudW1iZXIgfCBQcmVkaWNhdGU8VD4sXG4gIG9wZXJhdG9yT3JWYWx1ZTogVCB8IFN0YXRlT3BlcmF0b3I8VD5cbik6IFN0YXRlT3BlcmF0b3I8UmVwYWlyVHlwZTxUPltdPiB7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IFJlYWRvbmx5PFJlcGFpclR5cGU8VD5bXT4pOiBSZXBhaXJUeXBlPFQ+W10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IpO1xuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZTogVCA9IG51bGwhO1xuICAgIC8vIE5lZWQgdG8gY2hlY2sgaWYgdGhlIG5ldyBpdGVtIHZhbHVlIHdpbGwgY2hhbmdlIHRoZSBleGlzdGluZyBpdGVtIHZhbHVlXG4gICAgLy8gdGhlbiwgb25seSBpZiBpdCB3aWxsIGNoYW5nZSBpdCB0aGVuIGNsb25lIHRoZSBhcnJheSBhbmQgc2V0IHRoZSBpdGVtXG4gICAgaWYgKGlzU3RhdGVPcGVyYXRvcihvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZShleGlzdGluZ1tpbmRleF0gYXMgUmVhZG9ubHk8VD4pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgdmFsdWUgaGFzbid0IGJlZW4gbXV0YXRlZFxuICAgIC8vIHRoZW4gd2UganVzdCByZXR1cm4gYGV4aXN0aW5nYCBhcnJheVxuICAgIGlmICh2YWx1ZSA9PT0gZXhpc3RpbmdbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgUmVwYWlyVHlwZTxUPltdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcbiAgICBjbG9uZVtpbmRleF0gPSB2YWx1ZSBhcyBSZXBhaXJUeXBlPFQ+O1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==