@ngxs/store 3.7.4 → 3.7.5-dev.master-17a1bb8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +315 -315
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-internals.umd.js +192 -397
  6. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  7. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store-operators.umd.js +311 -310
  10. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  11. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  13. package/bundles/ngxs-store.umd.js +4405 -4481
  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 +20 -20
  19. package/esm2015/internals/index.js +10 -11
  20. package/esm2015/internals/initial-state.js +34 -34
  21. package/esm2015/internals/internal-tokens.js +16 -16
  22. package/esm2015/internals/memoize.js +70 -70
  23. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  24. package/esm2015/internals/ngxs-store-internals.js +9 -9
  25. package/esm2015/internals/src/symbols.js +14 -14
  26. package/esm2015/internals/symbols.js +14 -14
  27. package/esm2015/internals/testing/fresh-platform.js +110 -110
  28. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  29. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  30. package/esm2015/internals/testing/index.js +8 -8
  31. package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
  32. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  33. package/esm2015/internals/testing/skip-console-logging.js +62 -62
  34. package/esm2015/internals/testing/symbol.js +29 -29
  35. package/esm2015/ngxs-store.js +24 -23
  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 +38 -39
  44. package/esm2015/operators/remove-item.js +34 -34
  45. package/esm2015/operators/update-item.js +54 -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 -79
  51. package/esm2015/src/decorators/action.js +48 -48
  52. package/esm2015/src/decorators/select/select-factory.js +45 -49
  53. package/esm2015/src/decorators/select/select.js +45 -81
  54. package/esm2015/src/decorators/select/symbols.js +50 -94
  55. package/esm2015/src/decorators/selector/selector.js +59 -59
  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 +77 -83
  59. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
  60. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  61. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
  62. package/esm2015/src/execution/symbols.js +52 -52
  63. package/esm2015/src/internal/dispatcher.js +219 -217
  64. package/esm2015/src/internal/internals.js +493 -493
  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 +457 -449
  68. package/esm2015/src/internal/state-operations.js +124 -133
  69. package/esm2015/src/internal/state-operators.js +33 -33
  70. package/esm2015/src/internal/state-stream.js +30 -30
  71. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  72. package/esm2015/src/module.js +159 -157
  73. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  74. package/esm2015/src/modules/ngxs-root.module.js +49 -52
  75. package/esm2015/src/operators/leave-ngxs.js +58 -58
  76. package/esm2015/src/operators/of-action.js +197 -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 +190 -190
  84. package/esm2015/src/symbols.js +221 -220
  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 -60
  89. package/esm2015/src/utils/utils.js +143 -143
  90. package/esm5/index.js +13 -13
  91. package/esm5/internals/angular.js +20 -20
  92. package/esm5/internals/index.js +10 -11
  93. package/esm5/internals/initial-state.js +45 -45
  94. package/esm5/internals/internal-tokens.js +16 -16
  95. package/esm5/internals/memoize.js +71 -71
  96. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  97. package/esm5/internals/ngxs-store-internals.js +9 -9
  98. package/esm5/internals/src/symbols.js +14 -14
  99. package/esm5/internals/symbols.js +14 -14
  100. package/esm5/internals/testing/fresh-platform.js +121 -121
  101. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  102. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  103. package/esm5/internals/testing/index.js +8 -8
  104. package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
  105. package/esm5/internals/testing/ngxs.setup.js +98 -98
  106. package/esm5/internals/testing/skip-console-logging.js +62 -62
  107. package/esm5/internals/testing/symbol.js +29 -29
  108. package/esm5/ngxs-store.js +24 -23
  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 +39 -40
  117. package/esm5/operators/remove-item.js +34 -34
  118. package/esm5/operators/update-item.js +54 -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 -79
  124. package/esm5/src/decorators/action.js +60 -60
  125. package/esm5/src/decorators/select/select-factory.js +46 -50
  126. package/esm5/src/decorators/select/select.js +50 -87
  127. package/esm5/src/decorators/select/symbols.js +51 -95
  128. package/esm5/src/decorators/selector/selector.js +59 -59
  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 +78 -84
  132. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
  133. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  134. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
  135. package/esm5/src/execution/symbols.js +52 -52
  136. package/esm5/src/internal/dispatcher.js +255 -253
  137. package/esm5/src/internal/internals.js +495 -495
  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 +583 -575
  141. package/esm5/src/internal/state-operations.js +134 -143
  142. package/esm5/src/internal/state-operators.js +34 -34
  143. package/esm5/src/internal/state-stream.js +37 -37
  144. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  145. package/esm5/src/module.js +202 -200
  146. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  147. package/esm5/src/modules/ngxs-root.module.js +44 -47
  148. package/esm5/src/operators/leave-ngxs.js +58 -58
  149. package/esm5/src/operators/of-action.js +223 -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 +241 -241
  157. package/esm5/src/symbols.js +230 -229
  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 -78
  162. package/esm5/src/utils/utils.js +151 -151
  163. package/fesm2015/ngxs-store-internals-testing.js +274 -274
  164. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  165. package/fesm2015/ngxs-store-internals.js +175 -377
  166. package/fesm2015/ngxs-store-internals.js.map +1 -1
  167. package/fesm2015/ngxs-store-operators.js +313 -312
  168. package/fesm2015/ngxs-store-operators.js.map +1 -1
  169. package/fesm2015/ngxs-store.js +3919 -3995
  170. package/fesm2015/ngxs-store.js.map +1 -1
  171. package/fesm5/ngxs-store-internals-testing.js +321 -321
  172. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  173. package/fesm5/ngxs-store-internals.js +200 -402
  174. package/fesm5/ngxs-store-internals.js.map +1 -1
  175. package/fesm5/ngxs-store-operators.js +317 -316
  176. package/fesm5/ngxs-store-operators.js.map +1 -1
  177. package/fesm5/ngxs-store.js +4414 -4491
  178. package/fesm5/ngxs-store.js.map +1 -1
  179. package/index.d.ts +8 -8
  180. package/internals/angular.d.ts +1 -1
  181. package/internals/index.d.ts +6 -7
  182. package/internals/initial-state.d.ts +8 -8
  183. package/internals/internal-tokens.d.ts +9 -9
  184. package/internals/memoize.d.ts +9 -9
  185. package/internals/ngxs-bootstrapper.d.ts +13 -13
  186. package/internals/ngxs-store-internals.d.ts +4 -4
  187. package/internals/ngxs-store-internals.metadata.json +1 -1
  188. package/internals/src/symbols.d.ts +7 -7
  189. package/internals/symbols.d.ts +7 -7
  190. package/internals/testing/fresh-platform.d.ts +1 -1
  191. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  192. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  193. package/internals/testing/index.d.ts +4 -4
  194. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  195. package/internals/testing/ngxs.setup.d.ts +7 -7
  196. package/internals/testing/skip-console-logging.d.ts +1 -1
  197. package/internals/testing/symbol.d.ts +14 -14
  198. package/ngxs-store.d.ts +20 -19
  199. package/ngxs-store.metadata.json +1 -1
  200. package/operators/append.d.ts +6 -6
  201. package/operators/compose.d.ts +3 -2
  202. package/operators/iif.d.ts +11 -11
  203. package/operators/index.d.ts +13 -13
  204. package/operators/insert-item.d.ts +7 -7
  205. package/operators/internals.d.ts +2 -2
  206. package/operators/ngxs-store-operators.d.ts +4 -4
  207. package/operators/ngxs-store-operators.metadata.json +1 -1
  208. package/operators/patch.d.ts +6 -10
  209. package/operators/remove-item.d.ts +7 -7
  210. package/operators/update-item.d.ts +10 -10
  211. package/operators/utils.d.ts +10 -9
  212. package/package.json +2 -2
  213. package/src/actions/actions.d.ts +15 -15
  214. package/src/actions/symbols.d.ts +21 -21
  215. package/src/actions-stream.d.ts +49 -49
  216. package/src/configs/messages.config.d.ts +11 -11
  217. package/src/decorators/action.d.ts +5 -5
  218. package/src/decorators/select/select-factory.d.ts +13 -13
  219. package/src/decorators/select/select.d.ts +4 -4
  220. package/src/decorators/select/symbols.d.ts +10 -14
  221. package/src/decorators/selector/selector.d.ts +5 -5
  222. package/src/decorators/selector/symbols.d.ts +4 -4
  223. package/src/decorators/selector-options.d.ts +5 -5
  224. package/src/decorators/state.d.ts +6 -6
  225. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
  226. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  227. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  228. package/src/execution/symbols.d.ts +10 -10
  229. package/src/internal/dispatcher.d.ts +32 -32
  230. package/src/internal/internals.d.ts +166 -166
  231. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  232. package/src/internal/state-context-factory.d.ts +15 -15
  233. package/src/internal/state-factory.d.ts +57 -57
  234. package/src/internal/state-operations.d.ts +19 -19
  235. package/src/internal/state-operators.d.ts +2 -2
  236. package/src/internal/state-stream.d.ts +11 -11
  237. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
  238. package/src/module.d.ts +23 -23
  239. package/src/modules/ngxs-feature.module.d.ts +13 -13
  240. package/src/modules/ngxs-root.module.d.ts +13 -13
  241. package/src/operators/leave-ngxs.d.ts +7 -7
  242. package/src/operators/of-action.d.ts +56 -43
  243. package/src/plugin-manager.d.ts +10 -10
  244. package/src/plugin_api.d.ts +5 -5
  245. package/src/public_api.d.ts +17 -17
  246. package/src/public_to_deprecate.d.ts +21 -21
  247. package/src/state-token/state-token.d.ts +7 -7
  248. package/src/state-token/symbols.d.ts +5 -5
  249. package/src/store.d.ts +59 -59
  250. package/src/symbols.d.ts +139 -138
  251. package/src/utils/compose.d.ts +23 -23
  252. package/src/utils/freeze.d.ts +5 -5
  253. package/src/utils/selector-utils.d.ts +23 -23
  254. package/src/utils/store-validators.d.ts +7 -7
  255. package/src/utils/utils.d.ts +46 -46
  256. package/types/index.d.ts +2 -2
  257. package/esm2015/internals/decorator-injector-adapter.js +0 -204
  258. package/esm5/internals/decorator-injector-adapter.js +0 -204
  259. package/internals/decorator-injector-adapter.d.ts +0 -15
@@ -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;