@ngxs/store 3.7.2-dev.master-9a7c431 → 3.7.2

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.umd.js +211 -380
  3. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-operators.umd.js +310 -310
  7. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  8. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store.umd.js +4518 -4402
  10. package/bundles/ngxs-store.umd.js.map +1 -1
  11. package/bundles/ngxs-store.umd.min.js +1 -1
  12. package/bundles/ngxs-store.umd.min.js.map +1 -1
  13. package/esm2015/index.js +13 -13
  14. package/esm2015/internals/angular.js +40 -46
  15. package/esm2015/internals/index.js +10 -11
  16. package/esm2015/internals/initial-state.js +34 -34
  17. package/esm2015/internals/internal-tokens.js +16 -16
  18. package/esm2015/internals/memoize.js +70 -70
  19. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  20. package/esm2015/internals/ngxs-store-internals.js +9 -9
  21. package/esm2015/internals/src/symbols.js +14 -14
  22. package/esm2015/internals/symbols.js +14 -14
  23. package/esm2015/ngxs-store.js +27 -24
  24. package/esm2015/operators/append.js +31 -31
  25. package/esm2015/operators/compose.js +24 -24
  26. package/esm2015/operators/iif.js +56 -56
  27. package/esm2015/operators/index.js +18 -18
  28. package/esm2015/operators/insert-item.js +41 -41
  29. package/esm2015/operators/internals.js +5 -5
  30. package/esm2015/operators/ngxs-store-operators.js +8 -8
  31. package/esm2015/operators/patch.js +39 -39
  32. package/esm2015/operators/remove-item.js +34 -34
  33. package/esm2015/operators/update-item.js +52 -52
  34. package/esm2015/operators/utils.js +50 -50
  35. package/esm2015/src/actions/actions.js +39 -39
  36. package/esm2015/src/actions/symbols.js +39 -39
  37. package/esm2015/src/actions-stream.js +140 -138
  38. package/esm2015/src/configs/messages.config.js +87 -79
  39. package/esm2015/src/decorators/action.js +44 -48
  40. package/esm2015/src/decorators/select/select-factory.js +46 -49
  41. package/esm2015/src/decorators/select/select.js +45 -60
  42. package/esm2015/src/decorators/select/symbols.js +50 -94
  43. package/esm2015/src/decorators/selector/selector.js +55 -59
  44. package/esm2015/src/decorators/selector/symbols.js +5 -5
  45. package/esm2015/src/decorators/selector-options.js +34 -34
  46. package/esm2015/src/decorators/state.js +75 -83
  47. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -101
  48. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  49. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  50. package/esm2015/src/execution/symbols.js +29 -29
  51. package/esm2015/src/host-environment/host-environment.js +31 -0
  52. package/esm2015/src/internal/config-validator.js +67 -0
  53. package/esm2015/src/internal/dispatcher.js +217 -217
  54. package/esm2015/src/internal/internals.js +489 -493
  55. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  56. package/esm2015/src/internal/state-context-factory.js +138 -138
  57. package/esm2015/src/internal/state-factory.js +429 -449
  58. package/esm2015/src/internal/state-operations.js +125 -120
  59. package/esm2015/src/internal/state-operators.js +33 -33
  60. package/esm2015/src/internal/state-stream.js +21 -21
  61. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -0
  62. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  63. package/esm2015/src/module.js +172 -158
  64. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  65. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  66. package/esm2015/src/operators/leave-ngxs.js +58 -58
  67. package/esm2015/src/operators/of-action.js +191 -191
  68. package/esm2015/src/plugin-manager.js +70 -70
  69. package/esm2015/src/plugin_api.js +10 -10
  70. package/esm2015/src/public_api.js +29 -29
  71. package/esm2015/src/public_to_deprecate.js +64 -64
  72. package/esm2015/src/state-token/state-token.js +45 -45
  73. package/esm2015/src/state-token/symbols.js +5 -5
  74. package/esm2015/src/store.js +174 -174
  75. package/esm2015/src/symbols.js +221 -217
  76. package/esm2015/src/utils/compose.js +44 -44
  77. package/esm2015/src/utils/freeze.js +35 -35
  78. package/esm2015/src/utils/selector-utils.js +221 -221
  79. package/esm2015/src/utils/store-validators.js +65 -60
  80. package/esm2015/src/utils/utils.js +143 -143
  81. package/esm5/index.js +13 -13
  82. package/esm5/internals/angular.js +40 -46
  83. package/esm5/internals/index.js +10 -11
  84. package/esm5/internals/initial-state.js +45 -45
  85. package/esm5/internals/internal-tokens.js +16 -16
  86. package/esm5/internals/memoize.js +71 -71
  87. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  88. package/esm5/internals/ngxs-store-internals.js +9 -9
  89. package/esm5/internals/src/symbols.js +14 -14
  90. package/esm5/internals/symbols.js +14 -14
  91. package/esm5/ngxs-store.js +27 -24
  92. package/esm5/operators/append.js +31 -31
  93. package/esm5/operators/compose.js +28 -28
  94. package/esm5/operators/iif.js +56 -56
  95. package/esm5/operators/index.js +18 -18
  96. package/esm5/operators/insert-item.js +41 -41
  97. package/esm5/operators/internals.js +5 -5
  98. package/esm5/operators/ngxs-store-operators.js +8 -8
  99. package/esm5/operators/patch.js +40 -40
  100. package/esm5/operators/remove-item.js +34 -34
  101. package/esm5/operators/update-item.js +52 -52
  102. package/esm5/operators/utils.js +50 -50
  103. package/esm5/src/actions/actions.js +62 -62
  104. package/esm5/src/actions/symbols.js +39 -39
  105. package/esm5/src/actions-stream.js +186 -184
  106. package/esm5/src/configs/messages.config.js +104 -79
  107. package/esm5/src/decorators/action.js +56 -60
  108. package/esm5/src/decorators/select/select-factory.js +47 -50
  109. package/esm5/src/decorators/select/select.js +50 -65
  110. package/esm5/src/decorators/select/symbols.js +51 -95
  111. package/esm5/src/decorators/selector/selector.js +55 -59
  112. package/esm5/src/decorators/selector/symbols.js +5 -5
  113. package/esm5/src/decorators/selector-options.js +34 -34
  114. package/esm5/src/decorators/state.js +76 -84
  115. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  116. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  117. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  118. package/esm5/src/execution/symbols.js +29 -29
  119. package/esm5/src/host-environment/host-environment.js +29 -0
  120. package/esm5/src/internal/config-validator.js +76 -0
  121. package/esm5/src/internal/dispatcher.js +253 -253
  122. package/esm5/src/internal/internals.js +491 -495
  123. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  124. package/esm5/src/internal/state-context-factory.js +146 -146
  125. package/esm5/src/internal/state-factory.js +563 -575
  126. package/esm5/src/internal/state-operations.js +139 -130
  127. package/esm5/src/internal/state-operators.js +34 -34
  128. package/esm5/src/internal/state-stream.js +25 -25
  129. package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -0
  130. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  131. package/esm5/src/module.js +215 -201
  132. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  133. package/esm5/src/modules/ngxs-root.module.js +47 -47
  134. package/esm5/src/operators/leave-ngxs.js +58 -58
  135. package/esm5/src/operators/of-action.js +217 -217
  136. package/esm5/src/plugin-manager.js +82 -82
  137. package/esm5/src/plugin_api.js +10 -10
  138. package/esm5/src/public_api.js +29 -29
  139. package/esm5/src/public_to_deprecate.js +64 -64
  140. package/esm5/src/state-token/state-token.js +57 -57
  141. package/esm5/src/state-token/symbols.js +5 -5
  142. package/esm5/src/store.js +225 -225
  143. package/esm5/src/symbols.js +230 -226
  144. package/esm5/src/utils/compose.js +55 -55
  145. package/esm5/src/utils/freeze.js +35 -35
  146. package/esm5/src/utils/selector-utils.js +230 -230
  147. package/esm5/src/utils/store-validators.js +86 -78
  148. package/esm5/src/utils/utils.js +151 -151
  149. package/fesm2015/ngxs-store-internals.js +194 -361
  150. package/fesm2015/ngxs-store-internals.js.map +1 -1
  151. package/fesm2015/ngxs-store-operators.js +312 -312
  152. package/fesm2015/ngxs-store-operators.js.map +1 -1
  153. package/fesm2015/ngxs-store.js +3976 -3907
  154. package/fesm2015/ngxs-store.js.map +1 -1
  155. package/fesm5/ngxs-store-internals.js +219 -386
  156. package/fesm5/ngxs-store-internals.js.map +1 -1
  157. package/fesm5/ngxs-store-operators.js +316 -316
  158. package/fesm5/ngxs-store-operators.js.map +1 -1
  159. package/fesm5/ngxs-store.js +4510 -4399
  160. package/fesm5/ngxs-store.js.map +1 -1
  161. package/index.d.ts +8 -8
  162. package/internals/angular.d.ts +3 -3
  163. package/internals/index.d.ts +6 -7
  164. package/internals/initial-state.d.ts +8 -8
  165. package/internals/internal-tokens.d.ts +9 -9
  166. package/internals/memoize.d.ts +9 -9
  167. package/internals/ngxs-bootstrapper.d.ts +13 -13
  168. package/internals/ngxs-store-internals.d.ts +4 -4
  169. package/internals/ngxs-store-internals.metadata.json +1 -1
  170. package/internals/src/symbols.d.ts +7 -7
  171. package/internals/symbols.d.ts +7 -7
  172. package/ngxs-store.d.ts +23 -20
  173. package/ngxs-store.metadata.json +1 -1
  174. package/operators/append.d.ts +6 -6
  175. package/operators/compose.d.ts +2 -2
  176. package/operators/iif.d.ts +11 -11
  177. package/operators/index.d.ts +13 -13
  178. package/operators/insert-item.d.ts +7 -7
  179. package/operators/internals.d.ts +2 -2
  180. package/operators/ngxs-store-operators.d.ts +4 -4
  181. package/operators/patch.d.ts +10 -10
  182. package/operators/remove-item.d.ts +7 -7
  183. package/operators/update-item.d.ts +10 -10
  184. package/operators/utils.d.ts +9 -9
  185. package/package.json +3 -3
  186. package/src/actions/actions.d.ts +15 -15
  187. package/src/actions/symbols.d.ts +21 -21
  188. package/src/actions-stream.d.ts +49 -49
  189. package/src/configs/messages.config.d.ts +30 -11
  190. package/src/decorators/action.d.ts +5 -5
  191. package/src/decorators/select/select-factory.d.ts +14 -13
  192. package/src/decorators/select/select.d.ts +4 -4
  193. package/src/decorators/select/symbols.d.ts +10 -14
  194. package/src/decorators/selector/selector.d.ts +5 -5
  195. package/src/decorators/selector/symbols.d.ts +4 -4
  196. package/src/decorators/selector-options.d.ts +5 -5
  197. package/src/decorators/state.d.ts +6 -6
  198. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -11
  199. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  200. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  201. package/src/execution/symbols.d.ts +6 -6
  202. package/src/host-environment/host-environment.d.ts +6 -0
  203. package/src/internal/config-validator.d.ts +10 -0
  204. package/src/internal/dispatcher.d.ts +32 -32
  205. package/src/internal/internals.d.ts +167 -166
  206. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  207. package/src/internal/state-context-factory.d.ts +15 -15
  208. package/src/internal/state-factory.d.ts +58 -57
  209. package/src/internal/state-operations.d.ts +21 -19
  210. package/src/internal/state-operators.d.ts +2 -2
  211. package/src/internal/state-stream.d.ts +9 -9
  212. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -0
  213. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -6
  214. package/src/module.d.ts +23 -23
  215. package/src/modules/ngxs-feature.module.d.ts +13 -13
  216. package/src/modules/ngxs-root.module.d.ts +13 -13
  217. package/src/operators/leave-ngxs.d.ts +7 -7
  218. package/src/operators/of-action.d.ts +43 -43
  219. package/src/plugin-manager.d.ts +10 -10
  220. package/src/plugin_api.d.ts +5 -5
  221. package/src/public_api.d.ts +17 -17
  222. package/src/public_to_deprecate.d.ts +21 -21
  223. package/src/state-token/state-token.d.ts +7 -7
  224. package/src/state-token/symbols.d.ts +5 -5
  225. package/src/store.d.ts +53 -53
  226. package/src/symbols.d.ts +137 -135
  227. package/src/utils/compose.d.ts +23 -23
  228. package/src/utils/freeze.d.ts +5 -5
  229. package/src/utils/selector-utils.d.ts +23 -23
  230. package/src/utils/store-validators.d.ts +8 -7
  231. package/src/utils/utils.d.ts +46 -46
  232. package/types/index.d.ts +2 -2
  233. package/bundles/ngxs-store-internals-testing.umd.js +0 -475
  234. package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
  235. package/bundles/ngxs-store-internals-testing.umd.min.js +0 -16
  236. package/bundles/ngxs-store-internals-testing.umd.min.js.map +0 -1
  237. package/esm2015/internals/decorator-injector-adapter.js +0 -162
  238. package/esm2015/internals/testing/fresh-platform.js +0 -90
  239. package/esm2015/internals/testing/helpers/ngxs-test.component.js +0 -22
  240. package/esm2015/internals/testing/helpers/ngxs-test.module.js +0 -24
  241. package/esm2015/internals/testing/index.js +0 -7
  242. package/esm2015/internals/testing/ngxs-store-internals-testing.js +0 -9
  243. package/esm2015/internals/testing/ngxs.setup.js +0 -76
  244. package/esm2015/internals/testing/symbol.js +0 -29
  245. package/esm5/internals/decorator-injector-adapter.js +0 -162
  246. package/esm5/internals/testing/fresh-platform.js +0 -101
  247. package/esm5/internals/testing/helpers/ngxs-test.component.js +0 -32
  248. package/esm5/internals/testing/helpers/ngxs-test.module.js +0 -32
  249. package/esm5/internals/testing/index.js +0 -7
  250. package/esm5/internals/testing/ngxs-store-internals-testing.js +0 -9
  251. package/esm5/internals/testing/ngxs.setup.js +0 -98
  252. package/esm5/internals/testing/symbol.js +0 -29
  253. package/fesm2015/ngxs-store-internals-testing.js +0 -216
  254. package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
  255. package/fesm5/ngxs-store-internals-testing.js +0 -263
  256. package/fesm5/ngxs-store-internals-testing.js.map +0 -1
  257. package/internals/decorator-injector-adapter.d.ts +0 -8
  258. package/internals/testing/fresh-platform.d.ts +0 -1
  259. package/internals/testing/helpers/ngxs-test.component.d.ts +0 -5
  260. package/internals/testing/helpers/ngxs-test.module.d.ts +0 -4
  261. package/internals/testing/index.d.ts +0 -3
  262. package/internals/testing/ngxs-store-internals-testing.d.ts +0 -4
  263. package/internals/testing/ngxs-store-internals-testing.metadata.json +0 -1
  264. package/internals/testing/ngxs.setup.d.ts +0 -7
  265. package/internals/testing/package.json +0 -13
  266. package/internals/testing/symbol.d.ts +0 -14
@@ -223,330 +223,330 @@
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 {?} */ (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
+ });
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 {?} */ (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
+ });
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 (/**
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
+ });
466
466
  }
467
467
 
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
- });
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
+ });
517
517
  }
518
518
 
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
- });
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
+ });
550
550
  }
551
551
 
552
552
  exports.append = append;