@ngxs/store 3.7.4 → 3.7.5

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