@ngxs/store 3.7.3 → 3.7.4-dev.master-43177a9

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 (270) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +318 -215
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-internals.umd.js +398 -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 +311 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  13. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  14. package/bundles/ngxs-store.umd.js +4496 -4519
  15. package/bundles/ngxs-store.umd.js.map +1 -1
  16. package/bundles/ngxs-store.umd.min.js +1 -1
  17. package/bundles/ngxs-store.umd.min.js.map +1 -1
  18. package/esm2015/index.js +13 -13
  19. package/esm2015/internals/angular.js +20 -40
  20. package/esm2015/internals/decorator-injector-adapter.js +204 -0
  21. package/esm2015/internals/index.js +11 -10
  22. package/esm2015/internals/initial-state.js +34 -34
  23. package/esm2015/internals/internal-tokens.js +16 -16
  24. package/esm2015/internals/memoize.js +70 -70
  25. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  26. package/esm2015/internals/ngxs-store-internals.js +9 -9
  27. package/esm2015/internals/src/symbols.js +14 -14
  28. package/esm2015/internals/symbols.js +14 -14
  29. package/esm2015/internals/testing/fresh-platform.js +110 -71
  30. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  31. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  32. package/esm2015/internals/testing/index.js +8 -7
  33. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -9
  34. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  35. package/esm2015/internals/testing/skip-console-logging.js +62 -0
  36. package/esm2015/internals/testing/symbol.js +29 -29
  37. package/esm2015/ngxs-store.js +23 -27
  38. package/esm2015/operators/append.js +31 -31
  39. package/esm2015/operators/compose.js +24 -24
  40. package/esm2015/operators/iif.js +56 -56
  41. package/esm2015/operators/index.js +18 -18
  42. package/esm2015/operators/insert-item.js +41 -41
  43. package/esm2015/operators/internals.js +5 -5
  44. package/esm2015/operators/ngxs-store-operators.js +8 -8
  45. package/esm2015/operators/patch.js +38 -39
  46. package/esm2015/operators/remove-item.js +34 -34
  47. package/esm2015/operators/update-item.js +54 -52
  48. package/esm2015/operators/utils.js +50 -50
  49. package/esm2015/src/actions/actions.js +39 -39
  50. package/esm2015/src/actions/symbols.js +39 -39
  51. package/esm2015/src/actions-stream.js +138 -140
  52. package/esm2015/src/configs/messages.config.js +79 -87
  53. package/esm2015/src/decorators/action.js +48 -44
  54. package/esm2015/src/decorators/select/select-factory.js +49 -46
  55. package/esm2015/src/decorators/select/select.js +81 -45
  56. package/esm2015/src/decorators/select/symbols.js +94 -50
  57. package/esm2015/src/decorators/selector/selector.js +59 -55
  58. package/esm2015/src/decorators/selector/symbols.js +5 -5
  59. package/esm2015/src/decorators/selector-options.js +34 -34
  60. package/esm2015/src/decorators/state.js +83 -75
  61. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -96
  62. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  63. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -27
  64. package/esm2015/src/execution/symbols.js +52 -29
  65. package/esm2015/src/internal/dispatcher.js +217 -217
  66. package/esm2015/src/internal/internals.js +493 -489
  67. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  68. package/esm2015/src/internal/state-context-factory.js +138 -138
  69. package/esm2015/src/internal/state-factory.js +449 -429
  70. package/esm2015/src/internal/state-operations.js +133 -125
  71. package/esm2015/src/internal/state-operators.js +33 -33
  72. package/esm2015/src/internal/state-stream.js +30 -21
  73. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  74. package/esm2015/src/module.js +157 -172
  75. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  76. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  77. package/esm2015/src/operators/leave-ngxs.js +58 -58
  78. package/esm2015/src/operators/of-action.js +197 -191
  79. package/esm2015/src/plugin-manager.js +70 -70
  80. package/esm2015/src/plugin_api.js +10 -10
  81. package/esm2015/src/public_api.js +29 -29
  82. package/esm2015/src/public_to_deprecate.js +64 -64
  83. package/esm2015/src/state-token/state-token.js +45 -45
  84. package/esm2015/src/state-token/symbols.js +5 -5
  85. package/esm2015/src/store.js +190 -174
  86. package/esm2015/src/symbols.js +220 -221
  87. package/esm2015/src/utils/compose.js +44 -44
  88. package/esm2015/src/utils/freeze.js +35 -35
  89. package/esm2015/src/utils/selector-utils.js +221 -221
  90. package/esm2015/src/utils/store-validators.js +60 -65
  91. package/esm2015/src/utils/utils.js +143 -143
  92. package/esm5/index.js +13 -13
  93. package/esm5/internals/angular.js +20 -40
  94. package/esm5/internals/decorator-injector-adapter.js +204 -0
  95. package/esm5/internals/index.js +11 -10
  96. package/esm5/internals/initial-state.js +45 -45
  97. package/esm5/internals/internal-tokens.js +16 -16
  98. package/esm5/internals/memoize.js +71 -71
  99. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  100. package/esm5/internals/ngxs-store-internals.js +9 -9
  101. package/esm5/internals/src/symbols.js +14 -14
  102. package/esm5/internals/symbols.js +14 -14
  103. package/esm5/internals/testing/fresh-platform.js +121 -81
  104. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  105. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  106. package/esm5/internals/testing/index.js +8 -7
  107. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -9
  108. package/esm5/internals/testing/ngxs.setup.js +98 -98
  109. package/esm5/internals/testing/skip-console-logging.js +62 -0
  110. package/esm5/internals/testing/symbol.js +29 -29
  111. package/esm5/ngxs-store.js +23 -27
  112. package/esm5/operators/append.js +31 -31
  113. package/esm5/operators/compose.js +28 -28
  114. package/esm5/operators/iif.js +56 -56
  115. package/esm5/operators/index.js +18 -18
  116. package/esm5/operators/insert-item.js +41 -41
  117. package/esm5/operators/internals.js +5 -5
  118. package/esm5/operators/ngxs-store-operators.js +8 -8
  119. package/esm5/operators/patch.js +39 -40
  120. package/esm5/operators/remove-item.js +34 -34
  121. package/esm5/operators/update-item.js +54 -52
  122. package/esm5/operators/utils.js +50 -50
  123. package/esm5/src/actions/actions.js +62 -62
  124. package/esm5/src/actions/symbols.js +39 -39
  125. package/esm5/src/actions-stream.js +184 -186
  126. package/esm5/src/configs/messages.config.js +79 -104
  127. package/esm5/src/decorators/action.js +60 -56
  128. package/esm5/src/decorators/select/select-factory.js +50 -47
  129. package/esm5/src/decorators/select/select.js +87 -50
  130. package/esm5/src/decorators/select/symbols.js +95 -51
  131. package/esm5/src/decorators/selector/selector.js +59 -55
  132. package/esm5/src/decorators/selector/symbols.js +5 -5
  133. package/esm5/src/decorators/selector-options.js +34 -34
  134. package/esm5/src/decorators/state.js +84 -76
  135. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -121
  136. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  137. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -41
  138. package/esm5/src/execution/symbols.js +52 -29
  139. package/esm5/src/internal/dispatcher.js +253 -253
  140. package/esm5/src/internal/internals.js +495 -491
  141. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  142. package/esm5/src/internal/state-context-factory.js +146 -146
  143. package/esm5/src/internal/state-factory.js +575 -563
  144. package/esm5/src/internal/state-operations.js +143 -139
  145. package/esm5/src/internal/state-operators.js +34 -34
  146. package/esm5/src/internal/state-stream.js +37 -25
  147. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  148. package/esm5/src/module.js +200 -215
  149. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  150. package/esm5/src/modules/ngxs-root.module.js +47 -47
  151. package/esm5/src/operators/leave-ngxs.js +58 -58
  152. package/esm5/src/operators/of-action.js +223 -217
  153. package/esm5/src/plugin-manager.js +82 -82
  154. package/esm5/src/plugin_api.js +10 -10
  155. package/esm5/src/public_api.js +29 -29
  156. package/esm5/src/public_to_deprecate.js +64 -64
  157. package/esm5/src/state-token/state-token.js +57 -57
  158. package/esm5/src/state-token/symbols.js +5 -5
  159. package/esm5/src/store.js +241 -225
  160. package/esm5/src/symbols.js +229 -230
  161. package/esm5/src/utils/compose.js +55 -55
  162. package/esm5/src/utils/freeze.js +35 -35
  163. package/esm5/src/utils/selector-utils.js +230 -230
  164. package/esm5/src/utils/store-validators.js +78 -86
  165. package/esm5/src/utils/utils.js +151 -151
  166. package/fesm2015/ngxs-store-internals-testing.js +278 -177
  167. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  168. package/fesm2015/ngxs-store-internals.js +378 -194
  169. package/fesm2015/ngxs-store-internals.js.map +1 -1
  170. package/fesm2015/ngxs-store-operators.js +313 -312
  171. package/fesm2015/ngxs-store-operators.js.map +1 -1
  172. package/fesm2015/ngxs-store.js +3999 -3979
  173. package/fesm2015/ngxs-store.js.map +1 -1
  174. package/fesm5/ngxs-store-internals-testing.js +325 -223
  175. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  176. package/fesm5/ngxs-store-internals.js +403 -219
  177. package/fesm5/ngxs-store-internals.js.map +1 -1
  178. package/fesm5/ngxs-store-operators.js +317 -316
  179. package/fesm5/ngxs-store-operators.js.map +1 -1
  180. package/fesm5/ngxs-store.js +4494 -4512
  181. package/fesm5/ngxs-store.js.map +1 -1
  182. package/index.d.ts +8 -8
  183. package/internals/angular.d.ts +1 -3
  184. package/internals/decorator-injector-adapter.d.ts +15 -0
  185. package/internals/index.d.ts +7 -6
  186. package/internals/initial-state.d.ts +8 -8
  187. package/internals/internal-tokens.d.ts +9 -9
  188. package/internals/memoize.d.ts +9 -9
  189. package/internals/ngxs-bootstrapper.d.ts +13 -13
  190. package/internals/ngxs-store-internals.d.ts +4 -4
  191. package/internals/ngxs-store-internals.metadata.json +1 -1
  192. package/internals/src/symbols.d.ts +7 -7
  193. package/internals/symbols.d.ts +7 -7
  194. package/internals/testing/fresh-platform.d.ts +1 -1
  195. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  196. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  197. package/internals/testing/index.d.ts +4 -3
  198. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  199. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
  200. package/internals/testing/ngxs.setup.d.ts +7 -7
  201. package/internals/testing/skip-console-logging.d.ts +1 -0
  202. package/internals/testing/symbol.d.ts +14 -14
  203. package/ngxs-store.d.ts +19 -23
  204. package/ngxs-store.metadata.json +1 -1
  205. package/operators/append.d.ts +6 -6
  206. package/operators/compose.d.ts +3 -2
  207. package/operators/iif.d.ts +11 -11
  208. package/operators/index.d.ts +13 -13
  209. package/operators/insert-item.d.ts +7 -7
  210. package/operators/internals.d.ts +2 -2
  211. package/operators/ngxs-store-operators.d.ts +4 -4
  212. package/operators/ngxs-store-operators.metadata.json +1 -1
  213. package/operators/patch.d.ts +6 -10
  214. package/operators/remove-item.d.ts +7 -7
  215. package/operators/update-item.d.ts +10 -10
  216. package/operators/utils.d.ts +10 -9
  217. package/package.json +3 -3
  218. package/src/actions/actions.d.ts +15 -15
  219. package/src/actions/symbols.d.ts +21 -21
  220. package/src/actions-stream.d.ts +49 -49
  221. package/src/configs/messages.config.d.ts +11 -30
  222. package/src/decorators/action.d.ts +5 -5
  223. package/src/decorators/select/select-factory.d.ts +13 -14
  224. package/src/decorators/select/select.d.ts +4 -4
  225. package/src/decorators/select/symbols.d.ts +14 -10
  226. package/src/decorators/selector/selector.d.ts +5 -5
  227. package/src/decorators/selector/symbols.d.ts +4 -4
  228. package/src/decorators/selector-options.d.ts +5 -5
  229. package/src/decorators/state.d.ts +6 -6
  230. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  231. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  232. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  233. package/src/execution/symbols.d.ts +10 -6
  234. package/src/internal/dispatcher.d.ts +32 -32
  235. package/src/internal/internals.d.ts +166 -167
  236. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  237. package/src/internal/state-context-factory.d.ts +15 -15
  238. package/src/internal/state-factory.d.ts +57 -58
  239. package/src/internal/state-operations.d.ts +19 -21
  240. package/src/internal/state-operators.d.ts +2 -2
  241. package/src/internal/state-stream.d.ts +11 -9
  242. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  243. package/src/module.d.ts +23 -23
  244. package/src/modules/ngxs-feature.module.d.ts +13 -13
  245. package/src/modules/ngxs-root.module.d.ts +13 -13
  246. package/src/operators/leave-ngxs.d.ts +7 -7
  247. package/src/operators/of-action.d.ts +56 -43
  248. package/src/plugin-manager.d.ts +10 -10
  249. package/src/plugin_api.d.ts +5 -5
  250. package/src/public_api.d.ts +17 -17
  251. package/src/public_to_deprecate.d.ts +21 -21
  252. package/src/state-token/state-token.d.ts +7 -7
  253. package/src/state-token/symbols.d.ts +5 -5
  254. package/src/store.d.ts +59 -53
  255. package/src/symbols.d.ts +138 -137
  256. package/src/utils/compose.d.ts +23 -23
  257. package/src/utils/freeze.d.ts +5 -5
  258. package/src/utils/selector-utils.d.ts +23 -23
  259. package/src/utils/store-validators.d.ts +7 -8
  260. package/src/utils/utils.d.ts +46 -46
  261. package/types/index.d.ts +2 -2
  262. package/esm2015/src/host-environment/host-environment.js +0 -31
  263. package/esm2015/src/internal/config-validator.js +0 -67
  264. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  265. package/esm5/src/host-environment/host-environment.js +0 -29
  266. package/esm5/src/internal/config-validator.js +0 -76
  267. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  268. package/src/host-environment/host-environment.d.ts +0 -6
  269. package/src/internal/config-validator.d.ts +0 -10
  270. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -223,330 +223,331 @@
223
223
  return value;
224
224
  }
225
225
 
226
- /**
227
- * @fileoverview added by tsickle
228
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
229
- */
230
- /**
231
- * @template T
232
- * @param {?} items - Specific items to append to the end of an array
233
- * @return {?}
234
- */
235
- function append(items) {
236
- return (/**
237
- * @param {?} existing
238
- * @return {?}
239
- */
240
- function appendOperator(existing) {
241
- // If `items` is `undefined` or `null` or `[]` but `existing` is provided
242
- // just return `existing`
243
- /** @type {?} */
244
- var itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
245
- if (itemsNotProvidedButExistingIs) {
246
- return (/** @type {?} */ (existing));
247
- }
248
- if (Array.isArray(existing)) {
249
- return existing.concat((/** @type {?} */ (items)));
250
- }
251
- // For example if some property is added dynamically
252
- // and didn't exist before thus it's not `ArrayLike`
253
- return (/** @type {?} */ (items));
254
- });
226
+ /**
227
+ * @fileoverview added by tsickle
228
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
229
+ */
230
+ /**
231
+ * @template T
232
+ * @param {?} items - Specific items to append to the end of an array
233
+ * @return {?}
234
+ */
235
+ function append(items) {
236
+ return (/**
237
+ * @param {?} existing
238
+ * @return {?}
239
+ */
240
+ function appendOperator(existing) {
241
+ // If `items` is `undefined` or `null` or `[]` but `existing` is provided
242
+ // just return `existing`
243
+ /** @type {?} */
244
+ var itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
245
+ if (itemsNotProvidedButExistingIs) {
246
+ return (/** @type {?} */ (existing));
247
+ }
248
+ if (Array.isArray(existing)) {
249
+ return existing.concat((/** @type {?} */ (((/** @type {?} */ (items))))));
250
+ }
251
+ // For example if some property is added dynamically
252
+ // and didn't exist before thus it's not `ArrayLike`
253
+ return (/** @type {?} */ (((/** @type {?} */ (items)))));
254
+ });
255
255
  }
256
256
 
257
- /**
258
- * @fileoverview added by tsickle
259
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
260
- */
261
- /**
262
- * @template T
263
- * @param {...?} operators
264
- * @return {?}
265
- */
266
- function compose() {
267
- var operators = [];
268
- for (var _i = 0; _i < arguments.length; _i++) {
269
- operators[_i] = arguments[_i];
270
- }
271
- return (/**
272
- * @param {?} existing
273
- * @return {?}
274
- */
275
- function composeOperator(existing) {
276
- return operators.reduce((/**
277
- * @param {?} accumulator
278
- * @param {?} operator
279
- * @return {?}
280
- */
281
- function (accumulator, operator) { return operator(accumulator); }), existing);
282
- });
257
+ /**
258
+ * @fileoverview added by tsickle
259
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
260
+ */
261
+ /**
262
+ * @template T
263
+ * @param {...?} operators
264
+ * @return {?}
265
+ */
266
+ function compose() {
267
+ var operators = [];
268
+ for (var _i = 0; _i < arguments.length; _i++) {
269
+ operators[_i] = arguments[_i];
270
+ }
271
+ return (/**
272
+ * @param {?} existing
273
+ * @return {?}
274
+ */
275
+ function composeOperator(existing) {
276
+ return operators.reduce((/**
277
+ * @param {?} accumulator
278
+ * @param {?} operator
279
+ * @return {?}
280
+ */
281
+ function (accumulator, operator) { return operator(accumulator); }), existing);
282
+ });
283
283
  }
284
284
 
285
- /**
286
- * @fileoverview added by tsickle
287
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
288
- */
289
- /**
290
- * @template T
291
- * @param {?} value
292
- * @return {?}
293
- */
294
- function isStateOperator(value) {
295
- return typeof value === 'function';
296
- }
297
- /**
298
- * @param {?} value
299
- * @return {?}
300
- */
301
- function isUndefined(value) {
302
- return typeof value === 'undefined';
303
- }
304
- /**
305
- * @template T
306
- * @param {?} value
307
- * @return {?}
308
- */
309
- function isPredicate(value) {
310
- return typeof value === 'function';
311
- }
312
- /**
313
- * @param {?} value
314
- * @return {?}
315
- */
316
- function isNumber(value) {
317
- return typeof value === 'number';
318
- }
319
- /**
320
- * @param {?} index
321
- * @return {?}
322
- */
323
- function invalidIndex(index) {
324
- return Number.isNaN(index) || index === -1;
325
- }
326
- /**
327
- * @template T
328
- * @param {?} value
329
- * @return {?}
330
- */
331
- function isNil(value) {
332
- return value === null || isUndefined(value);
285
+ /**
286
+ * @fileoverview added by tsickle
287
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
288
+ */
289
+ /**
290
+ * @template T
291
+ * @param {?} value
292
+ * @return {?}
293
+ */
294
+ function isStateOperator(value) {
295
+ return typeof value === 'function';
296
+ }
297
+ /**
298
+ * @param {?} value
299
+ * @return {?}
300
+ */
301
+ function isUndefined(value) {
302
+ return typeof value === 'undefined';
303
+ }
304
+ /**
305
+ * @template T
306
+ * @param {?} value
307
+ * @return {?}
308
+ */
309
+ function isPredicate(value) {
310
+ return typeof value === 'function';
311
+ }
312
+ /**
313
+ * @param {?} value
314
+ * @return {?}
315
+ */
316
+ function isNumber(value) {
317
+ return typeof value === 'number';
318
+ }
319
+ /**
320
+ * @param {?} index
321
+ * @return {?}
322
+ */
323
+ function invalidIndex(index) {
324
+ return Number.isNaN(index) || index === -1;
325
+ }
326
+ /**
327
+ * @template T
328
+ * @param {?} value
329
+ * @return {?}
330
+ */
331
+ function isNil(value) {
332
+ return value === null || isUndefined(value);
333
333
  }
334
334
 
335
- /**
336
- * @fileoverview added by tsickle
337
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
338
- */
339
- /**
340
- * @template T
341
- * @param {?} operatorOrValue
342
- * @param {?=} existing
343
- * @return {?}
344
- */
345
- function retrieveValue(operatorOrValue, existing) {
346
- // If state operator is a function
347
- // then call it with an original value
348
- if (isStateOperator(operatorOrValue)) {
349
- /** @type {?} */
350
- var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
351
- return (/** @type {?} */ (value));
352
- }
353
- // If operator or value was not provided
354
- // e.g. `elseOperatorOrValue` is `undefined`
355
- // then we just return an original value
356
- if (isUndefined(operatorOrValue)) {
357
- return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
358
- }
359
- return (/** @type {?} */ (operatorOrValue));
360
- }
361
- /**
362
- * @template T
363
- * @param {?} condition - Condition can be a plain boolean value or a function,
364
- * that returns boolean, also this function can take a value as an argument
365
- * to which this state operator applies
366
- * @param {?} trueOperatorOrValue - Any value or a state operator
367
- * @param {?=} elseOperatorOrValue - Any value or a state operator
368
- * @return {?}
369
- */
370
- function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
371
- return (/**
372
- * @param {?} existing
373
- * @return {?}
374
- */
375
- function iifOperator(existing) {
376
- // Convert the value to a boolean
377
- /** @type {?} */
378
- var result = !!condition;
379
- // but if it is a function then run it to get the result
380
- if (isPredicate(condition)) {
381
- result = condition(existing);
382
- }
383
- if (result) {
384
- return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
385
- }
386
- return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
387
- });
335
+ /**
336
+ * @fileoverview added by tsickle
337
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
338
+ */
339
+ /**
340
+ * @template T
341
+ * @param {?} operatorOrValue
342
+ * @param {?=} existing
343
+ * @return {?}
344
+ */
345
+ function retrieveValue(operatorOrValue, existing) {
346
+ // If state operator is a function
347
+ // then call it with an original value
348
+ if (isStateOperator(operatorOrValue)) {
349
+ /** @type {?} */
350
+ var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
351
+ return (/** @type {?} */ (value));
352
+ }
353
+ // If operator or value was not provided
354
+ // e.g. `elseOperatorOrValue` is `undefined`
355
+ // then we just return an original value
356
+ if (isUndefined(operatorOrValue)) {
357
+ return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
358
+ }
359
+ return (/** @type {?} */ (operatorOrValue));
360
+ }
361
+ /**
362
+ * @template T
363
+ * @param {?} condition - Condition can be a plain boolean value or a function,
364
+ * that returns boolean, also this function can take a value as an argument
365
+ * to which this state operator applies
366
+ * @param {?} trueOperatorOrValue - Any value or a state operator
367
+ * @param {?=} elseOperatorOrValue - Any value or a state operator
368
+ * @return {?}
369
+ */
370
+ function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
371
+ return (/**
372
+ * @param {?} existing
373
+ * @return {?}
374
+ */
375
+ function iifOperator(existing) {
376
+ // Convert the value to a boolean
377
+ /** @type {?} */
378
+ var result = !!condition;
379
+ // but if it is a function then run it to get the result
380
+ if (isPredicate(condition)) {
381
+ result = condition(existing);
382
+ }
383
+ if (result) {
384
+ return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
385
+ }
386
+ return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
387
+ });
388
388
  }
389
389
 
390
- /**
391
- * @fileoverview added by tsickle
392
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
393
- */
394
- /**
395
- * @template T
396
- * @param {?} value - Value to insert
397
- * @param {?=} beforePosition
398
- * @return {?}
399
- */
400
- function insertItem(value, beforePosition) {
401
- return (/**
402
- * @param {?} existing
403
- * @return {?}
404
- */
405
- function insertItemOperator(existing) {
406
- // Have to check explicitly for `null` and `undefined`
407
- // because `value` can be `0`, thus `!value` will return `true`
408
- if (isNil(value) && existing) {
409
- return (/** @type {?} */ (existing));
410
- }
411
- // Property may be dynamic and might not existed before
412
- if (!Array.isArray(existing)) {
413
- return [(/** @type {?} */ (value))];
414
- }
415
- /** @type {?} */
416
- var clone = existing.slice();
417
- /** @type {?} */
418
- var index = 0;
419
- // No need to call `isNumber`
420
- // as we are checking `> 0` not `>= 0`
421
- // everything except number will return false here
422
- if ((/** @type {?} */ (beforePosition)) > 0) {
423
- index = (/** @type {?} */ (beforePosition));
424
- }
425
- clone.splice(index, 0, (/** @type {?} */ (value)));
426
- return clone;
427
- });
390
+ /**
391
+ * @fileoverview added by tsickle
392
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
393
+ */
394
+ /**
395
+ * @template T
396
+ * @param {?} value - Value to insert
397
+ * @param {?=} beforePosition
398
+ * @return {?}
399
+ */
400
+ function insertItem(value, beforePosition) {
401
+ return (/**
402
+ * @param {?} existing
403
+ * @return {?}
404
+ */
405
+ function insertItemOperator(existing) {
406
+ // Have to check explicitly for `null` and `undefined`
407
+ // because `value` can be `0`, thus `!value` will return `true`
408
+ if (isNil(value) && existing) {
409
+ return (/** @type {?} */ (existing));
410
+ }
411
+ // Property may be dynamic and might not existed before
412
+ if (!Array.isArray(existing)) {
413
+ return [(/** @type {?} */ (((/** @type {?} */ (value)))))];
414
+ }
415
+ /** @type {?} */
416
+ var clone = existing.slice();
417
+ /** @type {?} */
418
+ var index = 0;
419
+ // No need to call `isNumber`
420
+ // as we are checking `> 0` not `>= 0`
421
+ // everything except number will return false here
422
+ if ((/** @type {?} */ (beforePosition)) > 0) {
423
+ index = (/** @type {?} */ (beforePosition));
424
+ }
425
+ clone.splice(index, 0, (/** @type {?} */ (((/** @type {?} */ (value))))));
426
+ return clone;
427
+ });
428
428
  }
429
429
 
430
- /**
431
- * @fileoverview added by tsickle
432
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
433
- */
434
- /**
435
- * @template T
436
- * @param {?} patchObject
437
- * @return {?}
438
- */
439
- function patch(patchObject) {
440
- return (/**
441
- * @template U
442
- * @param {?} existing
443
- * @return {?}
444
- */
445
- function patchStateOperator(existing) {
446
- /** @type {?} */
447
- var clone = null;
448
- for (var k in patchObject) {
449
- /** @type {?} */
450
- var newValue = patchObject[k];
451
- /** @type {?} */
452
- var existingPropValue = existing[k];
453
- /** @type {?} */
454
- var newPropValue = isStateOperator(newValue)
455
- ? newValue((/** @type {?} */ (existingPropValue)))
456
- : newValue;
457
- if (newPropValue !== existingPropValue) {
458
- if (!clone) {
459
- clone = __assign({}, ((/** @type {?} */ (existing))));
460
- }
461
- clone[k] = newPropValue;
462
- }
463
- }
464
- return clone || existing;
465
- });
430
+ /**
431
+ * @fileoverview added by tsickle
432
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
433
+ */
434
+ /**
435
+ * @template T
436
+ * @param {?} patchObject
437
+ * @return {?}
438
+ */
439
+ function patch(patchObject) {
440
+ return (/** @type {?} */ (((/** @type {?} */ ((/**
441
+ * @param {?} existing
442
+ * @return {?}
443
+ */
444
+ function patchStateOperator(existing) {
445
+ /** @type {?} */
446
+ var clone = null;
447
+ for (var k in patchObject) {
448
+ /** @type {?} */
449
+ var newValue = patchObject[k];
450
+ /** @type {?} */
451
+ var existingPropValue = existing[(/** @type {?} */ (k))];
452
+ /** @type {?} */
453
+ var newPropValue = isStateOperator(newValue)
454
+ ? newValue((/** @type {?} */ (existingPropValue)))
455
+ : newValue;
456
+ if (newPropValue !== existingPropValue) {
457
+ if (!clone) {
458
+ clone = __assign({}, ((/** @type {?} */ (existing))));
459
+ }
460
+ clone[k] = newPropValue;
461
+ }
462
+ }
463
+ return clone || existing;
464
+ }))))));
466
465
  }
467
466
 
468
- /**
469
- * @fileoverview added by tsickle
470
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
471
- */
472
- /**
473
- * @template T
474
- * @param {?} selector - Index of item in the array or a predicate function
475
- * that can be provided in `Array.prototype.findIndex`
476
- * @param {?} operatorOrValue - New value under the `selector` index or a
477
- * function that can be applied to an existing value
478
- * @return {?}
479
- */
480
- function updateItem(selector, operatorOrValue) {
481
- return (/**
482
- * @param {?} existing
483
- * @return {?}
484
- */
485
- function updateItemOperator(existing) {
486
- /** @type {?} */
487
- var index = -1;
488
- if (isPredicate(selector)) {
489
- index = existing.findIndex(selector);
490
- }
491
- else if (isNumber(selector)) {
492
- index = selector;
493
- }
494
- if (invalidIndex(index)) {
495
- return (/** @type {?} */ (existing));
496
- }
497
- /** @type {?} */
498
- var value = (/** @type {?} */ (null));
499
- // Need to check if the new item value will change the existing item value
500
- // then, only if it will change it then clone the array and set the item
501
- if (isStateOperator(operatorOrValue)) {
502
- value = operatorOrValue((/** @type {?} */ (existing[index])));
503
- }
504
- else {
505
- value = operatorOrValue;
506
- }
507
- // If the value hasn't been mutated
508
- // then we just return `existing` array
509
- if (value === existing[index]) {
510
- return (/** @type {?} */ (existing));
511
- }
512
- /** @type {?} */
513
- var clone = existing.slice();
514
- clone[index] = (/** @type {?} */ (value));
515
- return clone;
516
- });
467
+ /**
468
+ * @fileoverview added by tsickle
469
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
470
+ */
471
+ /**
472
+ * @template T
473
+ * @param {?} selector - Index of item in the array or a predicate function
474
+ * that can be provided in `Array.prototype.findIndex`
475
+ * @param {?} operatorOrValue - New value under the `selector` index or a
476
+ * function that can be applied to an existing value
477
+ * @return {?}
478
+ */
479
+ function updateItem(selector, operatorOrValue) {
480
+ return (/**
481
+ * @param {?} existing
482
+ * @return {?}
483
+ */
484
+ function updateItemOperator(existing) {
485
+ /** @type {?} */
486
+ var index = -1;
487
+ if (isPredicate(selector)) {
488
+ index = existing.findIndex((/** @type {?} */ (selector)));
489
+ }
490
+ else if (isNumber(selector)) {
491
+ index = selector;
492
+ }
493
+ if (invalidIndex(index)) {
494
+ return (/** @type {?} */ (existing));
495
+ }
496
+ /** @type {?} */
497
+ var value = (/** @type {?} */ (null));
498
+ // Need to check if the new item value will change the existing item value
499
+ // then, only if it will change it then clone the array and set the item
500
+ /** @type {?} */
501
+ var theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
502
+ if (isStateOperator(theOperatorOrValue)) {
503
+ value = theOperatorOrValue((/** @type {?} */ (existing[index])));
504
+ }
505
+ else {
506
+ value = theOperatorOrValue;
507
+ }
508
+ // If the value hasn't been mutated
509
+ // then we just return `existing` array
510
+ if (value === existing[index]) {
511
+ return (/** @type {?} */ (existing));
512
+ }
513
+ /** @type {?} */
514
+ var clone = existing.slice();
515
+ clone[index] = (/** @type {?} */ (value));
516
+ return clone;
517
+ });
517
518
  }
518
519
 
519
- /**
520
- * @fileoverview added by tsickle
521
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
522
- */
523
- /**
524
- * @template T
525
- * @param {?} selector - index or predicate to remove an item from an array by
526
- * @return {?}
527
- */
528
- function removeItem(selector) {
529
- return (/**
530
- * @param {?} existing
531
- * @return {?}
532
- */
533
- function removeItemOperator(existing) {
534
- /** @type {?} */
535
- var index = -1;
536
- if (isPredicate(selector)) {
537
- index = existing.findIndex(selector);
538
- }
539
- else if (isNumber(selector)) {
540
- index = selector;
541
- }
542
- if (invalidIndex(index)) {
543
- return (/** @type {?} */ (existing));
544
- }
545
- /** @type {?} */
546
- var clone = existing.slice();
547
- clone.splice(index, 1);
548
- return clone;
549
- });
520
+ /**
521
+ * @fileoverview added by tsickle
522
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
523
+ */
524
+ /**
525
+ * @template T
526
+ * @param {?} selector - index or predicate to remove an item from an array by
527
+ * @return {?}
528
+ */
529
+ function removeItem(selector) {
530
+ return (/**
531
+ * @param {?} existing
532
+ * @return {?}
533
+ */
534
+ function removeItemOperator(existing) {
535
+ /** @type {?} */
536
+ var index = -1;
537
+ if (isPredicate(selector)) {
538
+ index = existing.findIndex(selector);
539
+ }
540
+ else if (isNumber(selector)) {
541
+ index = selector;
542
+ }
543
+ if (invalidIndex(index)) {
544
+ return (/** @type {?} */ (existing));
545
+ }
546
+ /** @type {?} */
547
+ var clone = existing.slice();
548
+ clone.splice(index, 1);
549
+ return clone;
550
+ });
550
551
  }
551
552
 
552
553
  exports.append = append;