@ngxs/store 3.7.3 → 3.7.4-dev.master-327646e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +318 -215
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-internals.umd.js +398 -211
  7. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  9. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  10. package/bundles/ngxs-store-operators.umd.js +311 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  13. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  14. package/bundles/ngxs-store.umd.js +4496 -4519
  15. package/bundles/ngxs-store.umd.js.map +1 -1
  16. package/bundles/ngxs-store.umd.min.js +1 -1
  17. package/bundles/ngxs-store.umd.min.js.map +1 -1
  18. package/esm2015/index.js +13 -13
  19. package/esm2015/internals/angular.js +20 -40
  20. package/esm2015/internals/decorator-injector-adapter.js +204 -0
  21. package/esm2015/internals/index.js +11 -10
  22. package/esm2015/internals/initial-state.js +34 -34
  23. package/esm2015/internals/internal-tokens.js +16 -16
  24. package/esm2015/internals/memoize.js +70 -70
  25. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  26. package/esm2015/internals/ngxs-store-internals.js +9 -9
  27. package/esm2015/internals/src/symbols.js +14 -14
  28. package/esm2015/internals/symbols.js +14 -14
  29. package/esm2015/internals/testing/fresh-platform.js +110 -71
  30. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  31. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  32. package/esm2015/internals/testing/index.js +8 -7
  33. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -9
  34. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  35. package/esm2015/internals/testing/skip-console-logging.js +62 -0
  36. package/esm2015/internals/testing/symbol.js +29 -29
  37. package/esm2015/ngxs-store.js +23 -27
  38. package/esm2015/operators/append.js +31 -31
  39. package/esm2015/operators/compose.js +24 -24
  40. package/esm2015/operators/iif.js +56 -56
  41. package/esm2015/operators/index.js +18 -18
  42. package/esm2015/operators/insert-item.js +41 -41
  43. package/esm2015/operators/internals.js +5 -5
  44. package/esm2015/operators/ngxs-store-operators.js +8 -8
  45. package/esm2015/operators/patch.js +38 -39
  46. package/esm2015/operators/remove-item.js +34 -34
  47. package/esm2015/operators/update-item.js +54 -52
  48. package/esm2015/operators/utils.js +50 -50
  49. package/esm2015/src/actions/actions.js +39 -39
  50. package/esm2015/src/actions/symbols.js +39 -39
  51. package/esm2015/src/actions-stream.js +138 -140
  52. package/esm2015/src/configs/messages.config.js +79 -87
  53. package/esm2015/src/decorators/action.js +48 -44
  54. package/esm2015/src/decorators/select/select-factory.js +49 -46
  55. package/esm2015/src/decorators/select/select.js +81 -45
  56. package/esm2015/src/decorators/select/symbols.js +94 -50
  57. package/esm2015/src/decorators/selector/selector.js +59 -55
  58. package/esm2015/src/decorators/selector/symbols.js +5 -5
  59. package/esm2015/src/decorators/selector-options.js +34 -34
  60. package/esm2015/src/decorators/state.js +83 -75
  61. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -96
  62. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  63. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -27
  64. package/esm2015/src/execution/symbols.js +52 -29
  65. package/esm2015/src/internal/dispatcher.js +217 -217
  66. package/esm2015/src/internal/internals.js +493 -489
  67. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  68. package/esm2015/src/internal/state-context-factory.js +138 -138
  69. package/esm2015/src/internal/state-factory.js +449 -429
  70. package/esm2015/src/internal/state-operations.js +133 -125
  71. package/esm2015/src/internal/state-operators.js +33 -33
  72. package/esm2015/src/internal/state-stream.js +30 -21
  73. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  74. package/esm2015/src/module.js +157 -172
  75. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  76. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  77. package/esm2015/src/operators/leave-ngxs.js +58 -58
  78. package/esm2015/src/operators/of-action.js +197 -191
  79. package/esm2015/src/plugin-manager.js +70 -70
  80. package/esm2015/src/plugin_api.js +10 -10
  81. package/esm2015/src/public_api.js +29 -29
  82. package/esm2015/src/public_to_deprecate.js +64 -64
  83. package/esm2015/src/state-token/state-token.js +45 -45
  84. package/esm2015/src/state-token/symbols.js +5 -5
  85. package/esm2015/src/store.js +190 -174
  86. package/esm2015/src/symbols.js +220 -221
  87. package/esm2015/src/utils/compose.js +44 -44
  88. package/esm2015/src/utils/freeze.js +35 -35
  89. package/esm2015/src/utils/selector-utils.js +221 -221
  90. package/esm2015/src/utils/store-validators.js +60 -65
  91. package/esm2015/src/utils/utils.js +143 -143
  92. package/esm5/index.js +13 -13
  93. package/esm5/internals/angular.js +20 -40
  94. package/esm5/internals/decorator-injector-adapter.js +204 -0
  95. package/esm5/internals/index.js +11 -10
  96. package/esm5/internals/initial-state.js +45 -45
  97. package/esm5/internals/internal-tokens.js +16 -16
  98. package/esm5/internals/memoize.js +71 -71
  99. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  100. package/esm5/internals/ngxs-store-internals.js +9 -9
  101. package/esm5/internals/src/symbols.js +14 -14
  102. package/esm5/internals/symbols.js +14 -14
  103. package/esm5/internals/testing/fresh-platform.js +121 -81
  104. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  105. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  106. package/esm5/internals/testing/index.js +8 -7
  107. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -9
  108. package/esm5/internals/testing/ngxs.setup.js +98 -98
  109. package/esm5/internals/testing/skip-console-logging.js +62 -0
  110. package/esm5/internals/testing/symbol.js +29 -29
  111. package/esm5/ngxs-store.js +23 -27
  112. package/esm5/operators/append.js +31 -31
  113. package/esm5/operators/compose.js +28 -28
  114. package/esm5/operators/iif.js +56 -56
  115. package/esm5/operators/index.js +18 -18
  116. package/esm5/operators/insert-item.js +41 -41
  117. package/esm5/operators/internals.js +5 -5
  118. package/esm5/operators/ngxs-store-operators.js +8 -8
  119. package/esm5/operators/patch.js +39 -40
  120. package/esm5/operators/remove-item.js +34 -34
  121. package/esm5/operators/update-item.js +54 -52
  122. package/esm5/operators/utils.js +50 -50
  123. package/esm5/src/actions/actions.js +62 -62
  124. package/esm5/src/actions/symbols.js +39 -39
  125. package/esm5/src/actions-stream.js +184 -186
  126. package/esm5/src/configs/messages.config.js +79 -104
  127. package/esm5/src/decorators/action.js +60 -56
  128. package/esm5/src/decorators/select/select-factory.js +50 -47
  129. package/esm5/src/decorators/select/select.js +87 -50
  130. package/esm5/src/decorators/select/symbols.js +95 -51
  131. package/esm5/src/decorators/selector/selector.js +59 -55
  132. package/esm5/src/decorators/selector/symbols.js +5 -5
  133. package/esm5/src/decorators/selector-options.js +34 -34
  134. package/esm5/src/decorators/state.js +84 -76
  135. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -121
  136. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  137. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -41
  138. package/esm5/src/execution/symbols.js +52 -29
  139. package/esm5/src/internal/dispatcher.js +253 -253
  140. package/esm5/src/internal/internals.js +495 -491
  141. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  142. package/esm5/src/internal/state-context-factory.js +146 -146
  143. package/esm5/src/internal/state-factory.js +575 -563
  144. package/esm5/src/internal/state-operations.js +143 -139
  145. package/esm5/src/internal/state-operators.js +34 -34
  146. package/esm5/src/internal/state-stream.js +37 -25
  147. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  148. package/esm5/src/module.js +200 -215
  149. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  150. package/esm5/src/modules/ngxs-root.module.js +47 -47
  151. package/esm5/src/operators/leave-ngxs.js +58 -58
  152. package/esm5/src/operators/of-action.js +223 -217
  153. package/esm5/src/plugin-manager.js +82 -82
  154. package/esm5/src/plugin_api.js +10 -10
  155. package/esm5/src/public_api.js +29 -29
  156. package/esm5/src/public_to_deprecate.js +64 -64
  157. package/esm5/src/state-token/state-token.js +57 -57
  158. package/esm5/src/state-token/symbols.js +5 -5
  159. package/esm5/src/store.js +241 -225
  160. package/esm5/src/symbols.js +229 -230
  161. package/esm5/src/utils/compose.js +55 -55
  162. package/esm5/src/utils/freeze.js +35 -35
  163. package/esm5/src/utils/selector-utils.js +230 -230
  164. package/esm5/src/utils/store-validators.js +78 -86
  165. package/esm5/src/utils/utils.js +151 -151
  166. package/fesm2015/ngxs-store-internals-testing.js +278 -177
  167. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  168. package/fesm2015/ngxs-store-internals.js +378 -194
  169. package/fesm2015/ngxs-store-internals.js.map +1 -1
  170. package/fesm2015/ngxs-store-operators.js +313 -312
  171. package/fesm2015/ngxs-store-operators.js.map +1 -1
  172. package/fesm2015/ngxs-store.js +3999 -3979
  173. package/fesm2015/ngxs-store.js.map +1 -1
  174. package/fesm5/ngxs-store-internals-testing.js +325 -223
  175. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  176. package/fesm5/ngxs-store-internals.js +403 -219
  177. package/fesm5/ngxs-store-internals.js.map +1 -1
  178. package/fesm5/ngxs-store-operators.js +317 -316
  179. package/fesm5/ngxs-store-operators.js.map +1 -1
  180. package/fesm5/ngxs-store.js +4494 -4512
  181. package/fesm5/ngxs-store.js.map +1 -1
  182. package/index.d.ts +8 -8
  183. package/internals/angular.d.ts +1 -3
  184. package/internals/decorator-injector-adapter.d.ts +15 -0
  185. package/internals/index.d.ts +7 -6
  186. package/internals/initial-state.d.ts +8 -8
  187. package/internals/internal-tokens.d.ts +9 -9
  188. package/internals/memoize.d.ts +9 -9
  189. package/internals/ngxs-bootstrapper.d.ts +13 -13
  190. package/internals/ngxs-store-internals.d.ts +4 -4
  191. package/internals/ngxs-store-internals.metadata.json +1 -1
  192. package/internals/src/symbols.d.ts +7 -7
  193. package/internals/symbols.d.ts +7 -7
  194. package/internals/testing/fresh-platform.d.ts +1 -1
  195. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  196. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  197. package/internals/testing/index.d.ts +4 -3
  198. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  199. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
  200. package/internals/testing/ngxs.setup.d.ts +7 -7
  201. package/internals/testing/skip-console-logging.d.ts +1 -0
  202. package/internals/testing/symbol.d.ts +14 -14
  203. package/ngxs-store.d.ts +19 -23
  204. package/ngxs-store.metadata.json +1 -1
  205. package/operators/append.d.ts +6 -6
  206. package/operators/compose.d.ts +3 -2
  207. package/operators/iif.d.ts +11 -11
  208. package/operators/index.d.ts +13 -13
  209. package/operators/insert-item.d.ts +7 -7
  210. package/operators/internals.d.ts +2 -2
  211. package/operators/ngxs-store-operators.d.ts +4 -4
  212. package/operators/ngxs-store-operators.metadata.json +1 -1
  213. package/operators/patch.d.ts +6 -10
  214. package/operators/remove-item.d.ts +7 -7
  215. package/operators/update-item.d.ts +10 -10
  216. package/operators/utils.d.ts +10 -9
  217. package/package.json +3 -3
  218. package/src/actions/actions.d.ts +15 -15
  219. package/src/actions/symbols.d.ts +21 -21
  220. package/src/actions-stream.d.ts +49 -49
  221. package/src/configs/messages.config.d.ts +11 -30
  222. package/src/decorators/action.d.ts +5 -5
  223. package/src/decorators/select/select-factory.d.ts +13 -14
  224. package/src/decorators/select/select.d.ts +4 -4
  225. package/src/decorators/select/symbols.d.ts +14 -10
  226. package/src/decorators/selector/selector.d.ts +5 -5
  227. package/src/decorators/selector/symbols.d.ts +4 -4
  228. package/src/decorators/selector-options.d.ts +5 -5
  229. package/src/decorators/state.d.ts +6 -6
  230. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  231. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  232. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  233. package/src/execution/symbols.d.ts +10 -6
  234. package/src/internal/dispatcher.d.ts +32 -32
  235. package/src/internal/internals.d.ts +166 -167
  236. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  237. package/src/internal/state-context-factory.d.ts +15 -15
  238. package/src/internal/state-factory.d.ts +57 -58
  239. package/src/internal/state-operations.d.ts +19 -21
  240. package/src/internal/state-operators.d.ts +2 -2
  241. package/src/internal/state-stream.d.ts +11 -9
  242. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  243. package/src/module.d.ts +23 -23
  244. package/src/modules/ngxs-feature.module.d.ts +13 -13
  245. package/src/modules/ngxs-root.module.d.ts +13 -13
  246. package/src/operators/leave-ngxs.d.ts +7 -7
  247. package/src/operators/of-action.d.ts +56 -43
  248. package/src/plugin-manager.d.ts +10 -10
  249. package/src/plugin_api.d.ts +5 -5
  250. package/src/public_api.d.ts +17 -17
  251. package/src/public_to_deprecate.d.ts +21 -21
  252. package/src/state-token/state-token.d.ts +7 -7
  253. package/src/state-token/symbols.d.ts +5 -5
  254. package/src/store.d.ts +59 -53
  255. package/src/symbols.d.ts +138 -137
  256. package/src/utils/compose.d.ts +23 -23
  257. package/src/utils/freeze.d.ts +5 -5
  258. package/src/utils/selector-utils.d.ts +23 -23
  259. package/src/utils/store-validators.d.ts +7 -8
  260. package/src/utils/utils.d.ts +46 -46
  261. package/types/index.d.ts +2 -2
  262. package/esm2015/src/host-environment/host-environment.js +0 -31
  263. package/esm2015/src/internal/config-validator.js +0 -67
  264. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  265. package/esm5/src/host-environment/host-environment.js +0 -29
  266. package/esm5/src/internal/config-validator.js +0 -76
  267. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  268. package/src/host-environment/host-environment.d.ts +0 -6
  269. package/src/internal/config-validator.d.ts +0 -10
  270. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -1,339 +1,340 @@
1
1
  import { __assign } from 'tslib';
2
2
 
3
- /**
4
- * @fileoverview added by tsickle
5
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6
- */
7
- /**
8
- * @template T
9
- * @param {?} items - Specific items to append to the end of an array
10
- * @return {?}
11
- */
12
- function append(items) {
13
- return (/**
14
- * @param {?} existing
15
- * @return {?}
16
- */
17
- function appendOperator(existing) {
18
- // If `items` is `undefined` or `null` or `[]` but `existing` is provided
19
- // just return `existing`
20
- /** @type {?} */
21
- var itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
22
- if (itemsNotProvidedButExistingIs) {
23
- return (/** @type {?} */ (existing));
24
- }
25
- if (Array.isArray(existing)) {
26
- return existing.concat((/** @type {?} */ (items)));
27
- }
28
- // For example if some property is added dynamically
29
- // and didn't exist before thus it's not `ArrayLike`
30
- return (/** @type {?} */ (items));
31
- });
3
+ /**
4
+ * @fileoverview added by tsickle
5
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6
+ */
7
+ /**
8
+ * @template T
9
+ * @param {?} items - Specific items to append to the end of an array
10
+ * @return {?}
11
+ */
12
+ function append(items) {
13
+ return (/**
14
+ * @param {?} existing
15
+ * @return {?}
16
+ */
17
+ function appendOperator(existing) {
18
+ // If `items` is `undefined` or `null` or `[]` but `existing` is provided
19
+ // just return `existing`
20
+ /** @type {?} */
21
+ var itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
22
+ if (itemsNotProvidedButExistingIs) {
23
+ return (/** @type {?} */ (existing));
24
+ }
25
+ if (Array.isArray(existing)) {
26
+ return existing.concat((/** @type {?} */ (((/** @type {?} */ (items))))));
27
+ }
28
+ // For example if some property is added dynamically
29
+ // and didn't exist before thus it's not `ArrayLike`
30
+ return (/** @type {?} */ (((/** @type {?} */ (items)))));
31
+ });
32
32
  }
33
33
 
34
- /**
35
- * @fileoverview added by tsickle
36
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
37
- */
38
- /**
39
- * @template T
40
- * @param {...?} operators
41
- * @return {?}
42
- */
43
- function compose() {
44
- var operators = [];
45
- for (var _i = 0; _i < arguments.length; _i++) {
46
- operators[_i] = arguments[_i];
47
- }
48
- return (/**
49
- * @param {?} existing
50
- * @return {?}
51
- */
52
- function composeOperator(existing) {
53
- return operators.reduce((/**
54
- * @param {?} accumulator
55
- * @param {?} operator
56
- * @return {?}
57
- */
58
- function (accumulator, operator) { return operator(accumulator); }), existing);
59
- });
34
+ /**
35
+ * @fileoverview added by tsickle
36
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
37
+ */
38
+ /**
39
+ * @template T
40
+ * @param {...?} operators
41
+ * @return {?}
42
+ */
43
+ function compose() {
44
+ var operators = [];
45
+ for (var _i = 0; _i < arguments.length; _i++) {
46
+ operators[_i] = arguments[_i];
47
+ }
48
+ return (/**
49
+ * @param {?} existing
50
+ * @return {?}
51
+ */
52
+ function composeOperator(existing) {
53
+ return operators.reduce((/**
54
+ * @param {?} accumulator
55
+ * @param {?} operator
56
+ * @return {?}
57
+ */
58
+ function (accumulator, operator) { return operator(accumulator); }), existing);
59
+ });
60
60
  }
61
61
 
62
- /**
63
- * @fileoverview added by tsickle
64
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
65
- */
66
- /**
67
- * @template T
68
- * @param {?} value
69
- * @return {?}
70
- */
71
- function isStateOperator(value) {
72
- return typeof value === 'function';
73
- }
74
- /**
75
- * @param {?} value
76
- * @return {?}
77
- */
78
- function isUndefined(value) {
79
- return typeof value === 'undefined';
80
- }
81
- /**
82
- * @template T
83
- * @param {?} value
84
- * @return {?}
85
- */
86
- function isPredicate(value) {
87
- return typeof value === 'function';
88
- }
89
- /**
90
- * @param {?} value
91
- * @return {?}
92
- */
93
- function isNumber(value) {
94
- return typeof value === 'number';
95
- }
96
- /**
97
- * @param {?} index
98
- * @return {?}
99
- */
100
- function invalidIndex(index) {
101
- return Number.isNaN(index) || index === -1;
102
- }
103
- /**
104
- * @template T
105
- * @param {?} value
106
- * @return {?}
107
- */
108
- function isNil(value) {
109
- return value === null || isUndefined(value);
62
+ /**
63
+ * @fileoverview added by tsickle
64
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
65
+ */
66
+ /**
67
+ * @template T
68
+ * @param {?} value
69
+ * @return {?}
70
+ */
71
+ function isStateOperator(value) {
72
+ return typeof value === 'function';
73
+ }
74
+ /**
75
+ * @param {?} value
76
+ * @return {?}
77
+ */
78
+ function isUndefined(value) {
79
+ return typeof value === 'undefined';
80
+ }
81
+ /**
82
+ * @template T
83
+ * @param {?} value
84
+ * @return {?}
85
+ */
86
+ function isPredicate(value) {
87
+ return typeof value === 'function';
88
+ }
89
+ /**
90
+ * @param {?} value
91
+ * @return {?}
92
+ */
93
+ function isNumber(value) {
94
+ return typeof value === 'number';
95
+ }
96
+ /**
97
+ * @param {?} index
98
+ * @return {?}
99
+ */
100
+ function invalidIndex(index) {
101
+ return Number.isNaN(index) || index === -1;
102
+ }
103
+ /**
104
+ * @template T
105
+ * @param {?} value
106
+ * @return {?}
107
+ */
108
+ function isNil(value) {
109
+ return value === null || isUndefined(value);
110
110
  }
111
111
 
112
- /**
113
- * @fileoverview added by tsickle
114
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
115
- */
116
- /**
117
- * @template T
118
- * @param {?} operatorOrValue
119
- * @param {?=} existing
120
- * @return {?}
121
- */
122
- function retrieveValue(operatorOrValue, existing) {
123
- // If state operator is a function
124
- // then call it with an original value
125
- if (isStateOperator(operatorOrValue)) {
126
- /** @type {?} */
127
- var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
128
- return (/** @type {?} */ (value));
129
- }
130
- // If operator or value was not provided
131
- // e.g. `elseOperatorOrValue` is `undefined`
132
- // then we just return an original value
133
- if (isUndefined(operatorOrValue)) {
134
- return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
135
- }
136
- return (/** @type {?} */ (operatorOrValue));
137
- }
138
- /**
139
- * @template T
140
- * @param {?} condition - Condition can be a plain boolean value or a function,
141
- * that returns boolean, also this function can take a value as an argument
142
- * to which this state operator applies
143
- * @param {?} trueOperatorOrValue - Any value or a state operator
144
- * @param {?=} elseOperatorOrValue - Any value or a state operator
145
- * @return {?}
146
- */
147
- function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
148
- return (/**
149
- * @param {?} existing
150
- * @return {?}
151
- */
152
- function iifOperator(existing) {
153
- // Convert the value to a boolean
154
- /** @type {?} */
155
- var result = !!condition;
156
- // but if it is a function then run it to get the result
157
- if (isPredicate(condition)) {
158
- result = condition(existing);
159
- }
160
- if (result) {
161
- return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
162
- }
163
- return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
164
- });
112
+ /**
113
+ * @fileoverview added by tsickle
114
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
115
+ */
116
+ /**
117
+ * @template T
118
+ * @param {?} operatorOrValue
119
+ * @param {?=} existing
120
+ * @return {?}
121
+ */
122
+ function retrieveValue(operatorOrValue, existing) {
123
+ // If state operator is a function
124
+ // then call it with an original value
125
+ if (isStateOperator(operatorOrValue)) {
126
+ /** @type {?} */
127
+ var value = operatorOrValue((/** @type {?} */ ((/** @type {?} */ (existing)))));
128
+ return (/** @type {?} */ (value));
129
+ }
130
+ // If operator or value was not provided
131
+ // e.g. `elseOperatorOrValue` is `undefined`
132
+ // then we just return an original value
133
+ if (isUndefined(operatorOrValue)) {
134
+ return (/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (existing)))))));
135
+ }
136
+ return (/** @type {?} */ (operatorOrValue));
137
+ }
138
+ /**
139
+ * @template T
140
+ * @param {?} condition - Condition can be a plain boolean value or a function,
141
+ * that returns boolean, also this function can take a value as an argument
142
+ * to which this state operator applies
143
+ * @param {?} trueOperatorOrValue - Any value or a state operator
144
+ * @param {?=} elseOperatorOrValue - Any value or a state operator
145
+ * @return {?}
146
+ */
147
+ function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
148
+ return (/**
149
+ * @param {?} existing
150
+ * @return {?}
151
+ */
152
+ function iifOperator(existing) {
153
+ // Convert the value to a boolean
154
+ /** @type {?} */
155
+ var result = !!condition;
156
+ // but if it is a function then run it to get the result
157
+ if (isPredicate(condition)) {
158
+ result = condition(existing);
159
+ }
160
+ if (result) {
161
+ return retrieveValue(trueOperatorOrValue, (/** @type {?} */ (existing)));
162
+ }
163
+ return retrieveValue((/** @type {?} */ (elseOperatorOrValue)), (/** @type {?} */ (existing)));
164
+ });
165
165
  }
166
166
 
167
- /**
168
- * @fileoverview added by tsickle
169
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
170
- */
171
- /**
172
- * @template T
173
- * @param {?} value - Value to insert
174
- * @param {?=} beforePosition
175
- * @return {?}
176
- */
177
- function insertItem(value, beforePosition) {
178
- return (/**
179
- * @param {?} existing
180
- * @return {?}
181
- */
182
- function insertItemOperator(existing) {
183
- // Have to check explicitly for `null` and `undefined`
184
- // because `value` can be `0`, thus `!value` will return `true`
185
- if (isNil(value) && existing) {
186
- return (/** @type {?} */ (existing));
187
- }
188
- // Property may be dynamic and might not existed before
189
- if (!Array.isArray(existing)) {
190
- return [(/** @type {?} */ (value))];
191
- }
192
- /** @type {?} */
193
- var clone = existing.slice();
194
- /** @type {?} */
195
- var index = 0;
196
- // No need to call `isNumber`
197
- // as we are checking `> 0` not `>= 0`
198
- // everything except number will return false here
199
- if ((/** @type {?} */ (beforePosition)) > 0) {
200
- index = (/** @type {?} */ (beforePosition));
201
- }
202
- clone.splice(index, 0, (/** @type {?} */ (value)));
203
- return clone;
204
- });
167
+ /**
168
+ * @fileoverview added by tsickle
169
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
170
+ */
171
+ /**
172
+ * @template T
173
+ * @param {?} value - Value to insert
174
+ * @param {?=} beforePosition
175
+ * @return {?}
176
+ */
177
+ function insertItem(value, beforePosition) {
178
+ return (/**
179
+ * @param {?} existing
180
+ * @return {?}
181
+ */
182
+ function insertItemOperator(existing) {
183
+ // Have to check explicitly for `null` and `undefined`
184
+ // because `value` can be `0`, thus `!value` will return `true`
185
+ if (isNil(value) && existing) {
186
+ return (/** @type {?} */ (existing));
187
+ }
188
+ // Property may be dynamic and might not existed before
189
+ if (!Array.isArray(existing)) {
190
+ return [(/** @type {?} */ (((/** @type {?} */ (value)))))];
191
+ }
192
+ /** @type {?} */
193
+ var clone = existing.slice();
194
+ /** @type {?} */
195
+ var index = 0;
196
+ // No need to call `isNumber`
197
+ // as we are checking `> 0` not `>= 0`
198
+ // everything except number will return false here
199
+ if ((/** @type {?} */ (beforePosition)) > 0) {
200
+ index = (/** @type {?} */ (beforePosition));
201
+ }
202
+ clone.splice(index, 0, (/** @type {?} */ (((/** @type {?} */ (value))))));
203
+ return clone;
204
+ });
205
205
  }
206
206
 
207
- /**
208
- * @fileoverview added by tsickle
209
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
210
- */
211
- /**
212
- * @template T
213
- * @param {?} patchObject
214
- * @return {?}
215
- */
216
- function patch(patchObject) {
217
- return (/**
218
- * @template U
219
- * @param {?} existing
220
- * @return {?}
221
- */
222
- function patchStateOperator(existing) {
223
- /** @type {?} */
224
- var clone = null;
225
- for (var k in patchObject) {
226
- /** @type {?} */
227
- var newValue = patchObject[k];
228
- /** @type {?} */
229
- var existingPropValue = existing[k];
230
- /** @type {?} */
231
- var newPropValue = isStateOperator(newValue)
232
- ? newValue((/** @type {?} */ (existingPropValue)))
233
- : newValue;
234
- if (newPropValue !== existingPropValue) {
235
- if (!clone) {
236
- clone = __assign({}, ((/** @type {?} */ (existing))));
237
- }
238
- clone[k] = newPropValue;
239
- }
240
- }
241
- return clone || existing;
242
- });
207
+ /**
208
+ * @fileoverview added by tsickle
209
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
210
+ */
211
+ /**
212
+ * @template T
213
+ * @param {?} patchObject
214
+ * @return {?}
215
+ */
216
+ function patch(patchObject) {
217
+ return (/** @type {?} */ (((/** @type {?} */ ((/**
218
+ * @param {?} existing
219
+ * @return {?}
220
+ */
221
+ function patchStateOperator(existing) {
222
+ /** @type {?} */
223
+ var clone = null;
224
+ for (var k in patchObject) {
225
+ /** @type {?} */
226
+ var newValue = patchObject[k];
227
+ /** @type {?} */
228
+ var existingPropValue = existing[(/** @type {?} */ (k))];
229
+ /** @type {?} */
230
+ var newPropValue = isStateOperator(newValue)
231
+ ? newValue((/** @type {?} */ (existingPropValue)))
232
+ : newValue;
233
+ if (newPropValue !== existingPropValue) {
234
+ if (!clone) {
235
+ clone = __assign({}, ((/** @type {?} */ (existing))));
236
+ }
237
+ clone[k] = newPropValue;
238
+ }
239
+ }
240
+ return clone || existing;
241
+ }))))));
243
242
  }
244
243
 
245
- /**
246
- * @fileoverview added by tsickle
247
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
248
- */
249
- /**
250
- * @template T
251
- * @param {?} selector - Index of item in the array or a predicate function
252
- * that can be provided in `Array.prototype.findIndex`
253
- * @param {?} operatorOrValue - New value under the `selector` index or a
254
- * function that can be applied to an existing value
255
- * @return {?}
256
- */
257
- function updateItem(selector, operatorOrValue) {
258
- return (/**
259
- * @param {?} existing
260
- * @return {?}
261
- */
262
- function updateItemOperator(existing) {
263
- /** @type {?} */
264
- var index = -1;
265
- if (isPredicate(selector)) {
266
- index = existing.findIndex(selector);
267
- }
268
- else if (isNumber(selector)) {
269
- index = selector;
270
- }
271
- if (invalidIndex(index)) {
272
- return (/** @type {?} */ (existing));
273
- }
274
- /** @type {?} */
275
- var value = (/** @type {?} */ (null));
276
- // Need to check if the new item value will change the existing item value
277
- // then, only if it will change it then clone the array and set the item
278
- if (isStateOperator(operatorOrValue)) {
279
- value = operatorOrValue((/** @type {?} */ (existing[index])));
280
- }
281
- else {
282
- value = operatorOrValue;
283
- }
284
- // If the value hasn't been mutated
285
- // then we just return `existing` array
286
- if (value === existing[index]) {
287
- return (/** @type {?} */ (existing));
288
- }
289
- /** @type {?} */
290
- var clone = existing.slice();
291
- clone[index] = (/** @type {?} */ (value));
292
- return clone;
293
- });
244
+ /**
245
+ * @fileoverview added by tsickle
246
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
247
+ */
248
+ /**
249
+ * @template T
250
+ * @param {?} selector - Index of item in the array or a predicate function
251
+ * that can be provided in `Array.prototype.findIndex`
252
+ * @param {?} operatorOrValue - New value under the `selector` index or a
253
+ * function that can be applied to an existing value
254
+ * @return {?}
255
+ */
256
+ function updateItem(selector, operatorOrValue) {
257
+ return (/**
258
+ * @param {?} existing
259
+ * @return {?}
260
+ */
261
+ function updateItemOperator(existing) {
262
+ /** @type {?} */
263
+ var index = -1;
264
+ if (isPredicate(selector)) {
265
+ index = existing.findIndex((/** @type {?} */ (selector)));
266
+ }
267
+ else if (isNumber(selector)) {
268
+ index = selector;
269
+ }
270
+ if (invalidIndex(index)) {
271
+ return (/** @type {?} */ (existing));
272
+ }
273
+ /** @type {?} */
274
+ var value = (/** @type {?} */ (null));
275
+ // Need to check if the new item value will change the existing item value
276
+ // then, only if it will change it then clone the array and set the item
277
+ /** @type {?} */
278
+ var theOperatorOrValue = (/** @type {?} */ (operatorOrValue));
279
+ if (isStateOperator(theOperatorOrValue)) {
280
+ value = theOperatorOrValue((/** @type {?} */ (existing[index])));
281
+ }
282
+ else {
283
+ value = theOperatorOrValue;
284
+ }
285
+ // If the value hasn't been mutated
286
+ // then we just return `existing` array
287
+ if (value === existing[index]) {
288
+ return (/** @type {?} */ (existing));
289
+ }
290
+ /** @type {?} */
291
+ var clone = existing.slice();
292
+ clone[index] = (/** @type {?} */ (value));
293
+ return clone;
294
+ });
294
295
  }
295
296
 
296
- /**
297
- * @fileoverview added by tsickle
298
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
299
- */
300
- /**
301
- * @template T
302
- * @param {?} selector - index or predicate to remove an item from an array by
303
- * @return {?}
304
- */
305
- function removeItem(selector) {
306
- return (/**
307
- * @param {?} existing
308
- * @return {?}
309
- */
310
- function removeItemOperator(existing) {
311
- /** @type {?} */
312
- var index = -1;
313
- if (isPredicate(selector)) {
314
- index = existing.findIndex(selector);
315
- }
316
- else if (isNumber(selector)) {
317
- index = selector;
318
- }
319
- if (invalidIndex(index)) {
320
- return (/** @type {?} */ (existing));
321
- }
322
- /** @type {?} */
323
- var clone = existing.slice();
324
- clone.splice(index, 1);
325
- return clone;
326
- });
297
+ /**
298
+ * @fileoverview added by tsickle
299
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
300
+ */
301
+ /**
302
+ * @template T
303
+ * @param {?} selector - index or predicate to remove an item from an array by
304
+ * @return {?}
305
+ */
306
+ function removeItem(selector) {
307
+ return (/**
308
+ * @param {?} existing
309
+ * @return {?}
310
+ */
311
+ function removeItemOperator(existing) {
312
+ /** @type {?} */
313
+ var index = -1;
314
+ if (isPredicate(selector)) {
315
+ index = existing.findIndex(selector);
316
+ }
317
+ else if (isNumber(selector)) {
318
+ index = selector;
319
+ }
320
+ if (invalidIndex(index)) {
321
+ return (/** @type {?} */ (existing));
322
+ }
323
+ /** @type {?} */
324
+ var clone = existing.slice();
325
+ clone.splice(index, 1);
326
+ return clone;
327
+ });
327
328
  }
328
329
 
329
- /**
330
- * @fileoverview added by tsickle
331
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
330
+ /**
331
+ * @fileoverview added by tsickle
332
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
332
333
  */
333
334
 
334
- /**
335
- * @fileoverview added by tsickle
336
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
335
+ /**
336
+ * @fileoverview added by tsickle
337
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
337
338
  */
338
339
 
339
340
  export { append, compose, iif, insertItem, isStateOperator, patch, removeItem, updateItem };