@ngxs/store 3.6.2-dev.master-8e14fe1 → 3.7.0

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