@ngxs/store 3.7.2-dev.master-bfe989b → 3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals.umd.js +211 -380
  3. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-operators.umd.js +310 -310
  7. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  8. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store.umd.js +4518 -4402
  10. package/bundles/ngxs-store.umd.js.map +1 -1
  11. package/bundles/ngxs-store.umd.min.js +1 -1
  12. package/bundles/ngxs-store.umd.min.js.map +1 -1
  13. package/esm2015/index.js +13 -13
  14. package/esm2015/internals/angular.js +40 -46
  15. package/esm2015/internals/index.js +10 -11
  16. package/esm2015/internals/initial-state.js +34 -34
  17. package/esm2015/internals/internal-tokens.js +16 -16
  18. package/esm2015/internals/memoize.js +70 -70
  19. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  20. package/esm2015/internals/ngxs-store-internals.js +9 -9
  21. package/esm2015/internals/src/symbols.js +14 -14
  22. package/esm2015/internals/symbols.js +14 -14
  23. package/esm2015/ngxs-store.js +27 -24
  24. package/esm2015/operators/append.js +31 -31
  25. package/esm2015/operators/compose.js +24 -24
  26. package/esm2015/operators/iif.js +56 -56
  27. package/esm2015/operators/index.js +18 -18
  28. package/esm2015/operators/insert-item.js +41 -41
  29. package/esm2015/operators/internals.js +5 -5
  30. package/esm2015/operators/ngxs-store-operators.js +8 -8
  31. package/esm2015/operators/patch.js +39 -39
  32. package/esm2015/operators/remove-item.js +34 -34
  33. package/esm2015/operators/update-item.js +52 -52
  34. package/esm2015/operators/utils.js +50 -50
  35. package/esm2015/src/actions/actions.js +39 -39
  36. package/esm2015/src/actions/symbols.js +39 -39
  37. package/esm2015/src/actions-stream.js +140 -138
  38. package/esm2015/src/configs/messages.config.js +87 -79
  39. package/esm2015/src/decorators/action.js +44 -48
  40. package/esm2015/src/decorators/select/select-factory.js +46 -49
  41. package/esm2015/src/decorators/select/select.js +45 -60
  42. package/esm2015/src/decorators/select/symbols.js +50 -94
  43. package/esm2015/src/decorators/selector/selector.js +55 -59
  44. package/esm2015/src/decorators/selector/symbols.js +5 -5
  45. package/esm2015/src/decorators/selector-options.js +34 -34
  46. package/esm2015/src/decorators/state.js +75 -83
  47. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -101
  48. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  49. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  50. package/esm2015/src/execution/symbols.js +29 -29
  51. package/esm2015/src/host-environment/host-environment.js +31 -0
  52. package/esm2015/src/internal/config-validator.js +67 -0
  53. package/esm2015/src/internal/dispatcher.js +217 -217
  54. package/esm2015/src/internal/internals.js +489 -493
  55. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  56. package/esm2015/src/internal/state-context-factory.js +138 -138
  57. package/esm2015/src/internal/state-factory.js +429 -449
  58. package/esm2015/src/internal/state-operations.js +125 -120
  59. package/esm2015/src/internal/state-operators.js +33 -33
  60. package/esm2015/src/internal/state-stream.js +21 -21
  61. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -0
  62. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  63. package/esm2015/src/module.js +172 -158
  64. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  65. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  66. package/esm2015/src/operators/leave-ngxs.js +58 -58
  67. package/esm2015/src/operators/of-action.js +191 -191
  68. package/esm2015/src/plugin-manager.js +70 -70
  69. package/esm2015/src/plugin_api.js +10 -10
  70. package/esm2015/src/public_api.js +29 -29
  71. package/esm2015/src/public_to_deprecate.js +64 -64
  72. package/esm2015/src/state-token/state-token.js +45 -45
  73. package/esm2015/src/state-token/symbols.js +5 -5
  74. package/esm2015/src/store.js +174 -174
  75. package/esm2015/src/symbols.js +221 -217
  76. package/esm2015/src/utils/compose.js +44 -44
  77. package/esm2015/src/utils/freeze.js +35 -35
  78. package/esm2015/src/utils/selector-utils.js +221 -221
  79. package/esm2015/src/utils/store-validators.js +65 -60
  80. package/esm2015/src/utils/utils.js +143 -143
  81. package/esm5/index.js +13 -13
  82. package/esm5/internals/angular.js +40 -46
  83. package/esm5/internals/index.js +10 -11
  84. package/esm5/internals/initial-state.js +45 -45
  85. package/esm5/internals/internal-tokens.js +16 -16
  86. package/esm5/internals/memoize.js +71 -71
  87. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  88. package/esm5/internals/ngxs-store-internals.js +9 -9
  89. package/esm5/internals/src/symbols.js +14 -14
  90. package/esm5/internals/symbols.js +14 -14
  91. package/esm5/ngxs-store.js +27 -24
  92. package/esm5/operators/append.js +31 -31
  93. package/esm5/operators/compose.js +28 -28
  94. package/esm5/operators/iif.js +56 -56
  95. package/esm5/operators/index.js +18 -18
  96. package/esm5/operators/insert-item.js +41 -41
  97. package/esm5/operators/internals.js +5 -5
  98. package/esm5/operators/ngxs-store-operators.js +8 -8
  99. package/esm5/operators/patch.js +40 -40
  100. package/esm5/operators/remove-item.js +34 -34
  101. package/esm5/operators/update-item.js +52 -52
  102. package/esm5/operators/utils.js +50 -50
  103. package/esm5/src/actions/actions.js +62 -62
  104. package/esm5/src/actions/symbols.js +39 -39
  105. package/esm5/src/actions-stream.js +186 -184
  106. package/esm5/src/configs/messages.config.js +104 -79
  107. package/esm5/src/decorators/action.js +56 -60
  108. package/esm5/src/decorators/select/select-factory.js +47 -50
  109. package/esm5/src/decorators/select/select.js +50 -65
  110. package/esm5/src/decorators/select/symbols.js +51 -95
  111. package/esm5/src/decorators/selector/selector.js +55 -59
  112. package/esm5/src/decorators/selector/symbols.js +5 -5
  113. package/esm5/src/decorators/selector-options.js +34 -34
  114. package/esm5/src/decorators/state.js +76 -84
  115. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  116. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  117. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  118. package/esm5/src/execution/symbols.js +29 -29
  119. package/esm5/src/host-environment/host-environment.js +29 -0
  120. package/esm5/src/internal/config-validator.js +76 -0
  121. package/esm5/src/internal/dispatcher.js +253 -253
  122. package/esm5/src/internal/internals.js +491 -495
  123. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  124. package/esm5/src/internal/state-context-factory.js +146 -146
  125. package/esm5/src/internal/state-factory.js +563 -575
  126. package/esm5/src/internal/state-operations.js +139 -130
  127. package/esm5/src/internal/state-operators.js +34 -34
  128. package/esm5/src/internal/state-stream.js +25 -25
  129. package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -0
  130. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  131. package/esm5/src/module.js +215 -201
  132. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  133. package/esm5/src/modules/ngxs-root.module.js +47 -47
  134. package/esm5/src/operators/leave-ngxs.js +58 -58
  135. package/esm5/src/operators/of-action.js +217 -217
  136. package/esm5/src/plugin-manager.js +82 -82
  137. package/esm5/src/plugin_api.js +10 -10
  138. package/esm5/src/public_api.js +29 -29
  139. package/esm5/src/public_to_deprecate.js +64 -64
  140. package/esm5/src/state-token/state-token.js +57 -57
  141. package/esm5/src/state-token/symbols.js +5 -5
  142. package/esm5/src/store.js +225 -225
  143. package/esm5/src/symbols.js +230 -226
  144. package/esm5/src/utils/compose.js +55 -55
  145. package/esm5/src/utils/freeze.js +35 -35
  146. package/esm5/src/utils/selector-utils.js +230 -230
  147. package/esm5/src/utils/store-validators.js +86 -78
  148. package/esm5/src/utils/utils.js +151 -151
  149. package/fesm2015/ngxs-store-internals.js +194 -361
  150. package/fesm2015/ngxs-store-internals.js.map +1 -1
  151. package/fesm2015/ngxs-store-operators.js +312 -312
  152. package/fesm2015/ngxs-store-operators.js.map +1 -1
  153. package/fesm2015/ngxs-store.js +3976 -3907
  154. package/fesm2015/ngxs-store.js.map +1 -1
  155. package/fesm5/ngxs-store-internals.js +219 -386
  156. package/fesm5/ngxs-store-internals.js.map +1 -1
  157. package/fesm5/ngxs-store-operators.js +316 -316
  158. package/fesm5/ngxs-store-operators.js.map +1 -1
  159. package/fesm5/ngxs-store.js +4510 -4399
  160. package/fesm5/ngxs-store.js.map +1 -1
  161. package/index.d.ts +8 -8
  162. package/internals/angular.d.ts +3 -3
  163. package/internals/index.d.ts +6 -7
  164. package/internals/initial-state.d.ts +8 -8
  165. package/internals/internal-tokens.d.ts +9 -9
  166. package/internals/memoize.d.ts +9 -9
  167. package/internals/ngxs-bootstrapper.d.ts +13 -13
  168. package/internals/ngxs-store-internals.d.ts +4 -4
  169. package/internals/ngxs-store-internals.metadata.json +1 -1
  170. package/internals/src/symbols.d.ts +7 -7
  171. package/internals/symbols.d.ts +7 -7
  172. package/ngxs-store.d.ts +23 -20
  173. package/ngxs-store.metadata.json +1 -1
  174. package/operators/append.d.ts +6 -6
  175. package/operators/compose.d.ts +2 -2
  176. package/operators/iif.d.ts +11 -11
  177. package/operators/index.d.ts +13 -13
  178. package/operators/insert-item.d.ts +7 -7
  179. package/operators/internals.d.ts +2 -2
  180. package/operators/ngxs-store-operators.d.ts +4 -4
  181. package/operators/patch.d.ts +10 -10
  182. package/operators/remove-item.d.ts +7 -7
  183. package/operators/update-item.d.ts +10 -10
  184. package/operators/utils.d.ts +9 -9
  185. package/package.json +2 -2
  186. package/src/actions/actions.d.ts +15 -15
  187. package/src/actions/symbols.d.ts +21 -21
  188. package/src/actions-stream.d.ts +49 -49
  189. package/src/configs/messages.config.d.ts +30 -11
  190. package/src/decorators/action.d.ts +5 -5
  191. package/src/decorators/select/select-factory.d.ts +14 -13
  192. package/src/decorators/select/select.d.ts +4 -4
  193. package/src/decorators/select/symbols.d.ts +10 -14
  194. package/src/decorators/selector/selector.d.ts +5 -5
  195. package/src/decorators/selector/symbols.d.ts +4 -4
  196. package/src/decorators/selector-options.d.ts +5 -5
  197. package/src/decorators/state.d.ts +6 -6
  198. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -11
  199. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  200. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  201. package/src/execution/symbols.d.ts +6 -6
  202. package/src/host-environment/host-environment.d.ts +6 -0
  203. package/src/internal/config-validator.d.ts +10 -0
  204. package/src/internal/dispatcher.d.ts +32 -32
  205. package/src/internal/internals.d.ts +167 -166
  206. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  207. package/src/internal/state-context-factory.d.ts +15 -15
  208. package/src/internal/state-factory.d.ts +58 -57
  209. package/src/internal/state-operations.d.ts +21 -19
  210. package/src/internal/state-operators.d.ts +2 -2
  211. package/src/internal/state-stream.d.ts +9 -9
  212. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -0
  213. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -6
  214. package/src/module.d.ts +23 -23
  215. package/src/modules/ngxs-feature.module.d.ts +13 -13
  216. package/src/modules/ngxs-root.module.d.ts +13 -13
  217. package/src/operators/leave-ngxs.d.ts +7 -7
  218. package/src/operators/of-action.d.ts +43 -43
  219. package/src/plugin-manager.d.ts +10 -10
  220. package/src/plugin_api.d.ts +5 -5
  221. package/src/public_api.d.ts +17 -17
  222. package/src/public_to_deprecate.d.ts +21 -21
  223. package/src/state-token/state-token.d.ts +7 -7
  224. package/src/state-token/symbols.d.ts +5 -5
  225. package/src/store.d.ts +53 -53
  226. package/src/symbols.d.ts +137 -135
  227. package/src/utils/compose.d.ts +23 -23
  228. package/src/utils/freeze.d.ts +5 -5
  229. package/src/utils/selector-utils.d.ts +23 -23
  230. package/src/utils/store-validators.d.ts +8 -7
  231. package/src/utils/utils.d.ts +46 -46
  232. package/types/index.d.ts +2 -2
  233. package/bundles/ngxs-store-internals-testing.umd.js +0 -475
  234. package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
  235. package/bundles/ngxs-store-internals-testing.umd.min.js +0 -16
  236. package/bundles/ngxs-store-internals-testing.umd.min.js.map +0 -1
  237. package/esm2015/internals/decorator-injector-adapter.js +0 -162
  238. package/esm2015/internals/testing/fresh-platform.js +0 -90
  239. package/esm2015/internals/testing/helpers/ngxs-test.component.js +0 -22
  240. package/esm2015/internals/testing/helpers/ngxs-test.module.js +0 -24
  241. package/esm2015/internals/testing/index.js +0 -7
  242. package/esm2015/internals/testing/ngxs-store-internals-testing.js +0 -9
  243. package/esm2015/internals/testing/ngxs.setup.js +0 -76
  244. package/esm2015/internals/testing/symbol.js +0 -29
  245. package/esm5/internals/decorator-injector-adapter.js +0 -162
  246. package/esm5/internals/testing/fresh-platform.js +0 -101
  247. package/esm5/internals/testing/helpers/ngxs-test.component.js +0 -32
  248. package/esm5/internals/testing/helpers/ngxs-test.module.js +0 -32
  249. package/esm5/internals/testing/index.js +0 -7
  250. package/esm5/internals/testing/ngxs-store-internals-testing.js +0 -9
  251. package/esm5/internals/testing/ngxs.setup.js +0 -98
  252. package/esm5/internals/testing/symbol.js +0 -29
  253. package/fesm2015/ngxs-store-internals-testing.js +0 -216
  254. package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
  255. package/fesm5/ngxs-store-internals-testing.js +0 -263
  256. package/fesm5/ngxs-store-internals-testing.js.map +0 -1
  257. package/internals/decorator-injector-adapter.d.ts +0 -8
  258. package/internals/testing/fresh-platform.d.ts +0 -1
  259. package/internals/testing/helpers/ngxs-test.component.d.ts +0 -5
  260. package/internals/testing/helpers/ngxs-test.module.d.ts +0 -4
  261. package/internals/testing/index.d.ts +0 -3
  262. package/internals/testing/ngxs-store-internals-testing.d.ts +0 -4
  263. package/internals/testing/ngxs-store-internals-testing.metadata.json +0 -1
  264. package/internals/testing/ngxs.setup.d.ts +0 -7
  265. package/internals/testing/package.json +0 -13
  266. package/internals/testing/symbol.d.ts +0 -14
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
- <p align="center">
2
- <img src="https://github.com/ngxs/store/raw/master/docs/assets/logo.png">
3
- <br />
4
- NGXS is a state management pattern + library for Angular
5
- <br />
6
- <br />
7
- <a href="https://join.slack.com/t/ngxs/shared_invite/zt-by26i24h-2CC5~vqwNCiZa~RRibh60Q"><img src="https://img.shields.io/badge/slack-join%20us-blue.svg?style=flat&logo=slack"></a> <a href="https://badge.fury.io/js/%40ngxs%2Fstore"><img src="https://badge.fury.io/js/%40ngxs%2Fstore.svg"></a> <a href="https://codeclimate.com/github/ngxs/store/maintainability"><img src="https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/maintainability" /></a> <a href="https://codeclimate.com/github/ngxs/store/test_coverage"><img src="https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/test_coverage" /></a> <a href="https://circleci.com/gh/ngxs/store"><img src="https://circleci.com/gh/ngxs/store/tree/master.svg?style=svg"></a>
8
- </p>
9
-
10
- ---
11
-
12
- - ✨ Learn about it on the [docs site](https://ngxs.io/)
13
- - 🚀 See it in action on [Stackblitz](https://stackblitz.com/edit/ngxs-repro)
14
- - 😎 Checkout the [sample application](https://github.com/ngxs/store/tree/master/integration)
15
- - 🗄 Learn about updates from the [changelog](https://github.com/ngxs/store/blob/master/CHANGELOG.md)
16
- - ❤️ Give back by becoming a [Contributor](https://github.com/ngxs/store/blob/master/docs/community/contributing.md) or a [Sponsor](https://github.com/ngxs/store/blob/master/docs/community/sponsors.md)
1
+ <p align="center">
2
+ <img src="https://github.com/ngxs/store/raw/master/docs/assets/logo.png">
3
+ <br />
4
+ NGXS is a state management pattern + library for Angular
5
+ <br />
6
+ <br />
7
+ <a href="https://join.slack.com/t/ngxs/shared_invite/zt-by26i24h-2CC5~vqwNCiZa~RRibh60Q"><img src="https://img.shields.io/badge/slack-join%20us-blue.svg?style=flat&logo=slack"></a> <a href="https://badge.fury.io/js/%40ngxs%2Fstore"><img src="https://badge.fury.io/js/%40ngxs%2Fstore.svg"></a> <a href="https://codeclimate.com/github/ngxs/store/maintainability"><img src="https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/maintainability" /></a> <a href="https://codeclimate.com/github/ngxs/store/test_coverage"><img src="https://api.codeclimate.com/v1/badges/5b43106a1ddff7d76a04/test_coverage" /></a> <a href="https://circleci.com/gh/ngxs/store"><img src="https://circleci.com/gh/ngxs/store/tree/master.svg?style=svg"></a>
8
+ </p>
9
+
10
+ ---
11
+
12
+ - ✨ Learn about it on the [docs site](https://ngxs.io/)
13
+ - 🚀 See it in action on [Stackblitz](https://stackblitz.com/edit/ngxs-repro)
14
+ - 😎 Checkout the [sample application](https://github.com/ngxs/store/tree/master/integration)
15
+ - 🗄 Learn about updates from the [changelog](https://github.com/ngxs/store/blob/master/CHANGELOG.md)
16
+ - ❤️ Give back by becoming a [Contributor](https://github.com/ngxs/store/blob/master/docs/community/contributing.md) or a [Sponsor](https://github.com/ngxs/store/blob/master/docs/community/sponsors.md)
@@ -4,401 +4,232 @@
4
4
  (global = global || self, factory((global.ngxs = global.ngxs || {}, global.ngxs.store = global.ngxs.store || {}, global.ngxs.store.internals = {}), global.ng.core, global.rxjs));
5
5
  }(this, function (exports, core, rxjs) { 'use strict';
6
6
 
7
- /**
8
- * @fileoverview added by tsickle
9
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
- */
11
- /**
12
- * @param {?} a
13
- * @param {?} b
14
- * @return {?}
15
- */
16
- function defaultEqualityCheck(a, b) {
17
- return a === b;
18
- }
19
- /**
20
- * @param {?} equalityCheck
21
- * @param {?} prev
22
- * @param {?} next
23
- * @return {?}
24
- */
25
- function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
26
- if (prev === null || next === null || prev.length !== next.length) {
27
- return false;
28
- }
29
- // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
30
- /** @type {?} */
31
- var length = prev.length;
32
- for (var i = 0; i < length; i++) {
33
- if (!equalityCheck(prev[i], next[i])) {
34
- return false;
35
- }
36
- }
37
- return true;
38
- }
39
- /**
40
- * Memoize a function on its last inputs only.
41
- * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
42
- *
43
- * @ignore
44
- * @template T
45
- * @param {?} func
46
- * @param {?=} equalityCheck
47
- * @return {?}
48
- */
49
- function memoize(func, equalityCheck) {
50
- if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
51
- /** @type {?} */
52
- var lastArgs = null;
53
- /** @type {?} */
54
- var lastResult = null;
55
- // we reference arguments instead of spreading them for performance reasons
56
- /**
57
- * @return {?}
58
- */
59
- function memoized() {
60
- if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
61
- // apply arguments instead of spreading for performance.
62
- lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
63
- }
64
- lastArgs = arguments;
65
- return lastResult;
66
- }
67
- ((/** @type {?} */ (memoized))).reset = (/**
68
- * @return {?}
69
- */
70
- function () {
71
- // The hidden (for now) ability to reset the memoization
72
- lastArgs = null;
73
- lastResult = null;
74
- });
75
- return (/** @type {?} */ (memoized));
7
+ /**
8
+ * @fileoverview added by tsickle
9
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
+ */
11
+ /**
12
+ * @param {?} a
13
+ * @param {?} b
14
+ * @return {?}
15
+ */
16
+ function defaultEqualityCheck(a, b) {
17
+ return a === b;
18
+ }
19
+ /**
20
+ * @param {?} equalityCheck
21
+ * @param {?} prev
22
+ * @param {?} next
23
+ * @return {?}
24
+ */
25
+ function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
26
+ if (prev === null || next === null || prev.length !== next.length) {
27
+ return false;
28
+ }
29
+ // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
30
+ /** @type {?} */
31
+ var length = prev.length;
32
+ for (var i = 0; i < length; i++) {
33
+ if (!equalityCheck(prev[i], next[i])) {
34
+ return false;
35
+ }
36
+ }
37
+ return true;
38
+ }
39
+ /**
40
+ * Memoize a function on its last inputs only.
41
+ * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
42
+ *
43
+ * @ignore
44
+ * @template T
45
+ * @param {?} func
46
+ * @param {?=} equalityCheck
47
+ * @return {?}
48
+ */
49
+ function memoize(func, equalityCheck) {
50
+ if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
51
+ /** @type {?} */
52
+ var lastArgs = null;
53
+ /** @type {?} */
54
+ var lastResult = null;
55
+ // we reference arguments instead of spreading them for performance reasons
56
+ /**
57
+ * @return {?}
58
+ */
59
+ function memoized() {
60
+ if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
61
+ // apply arguments instead of spreading for performance.
62
+ lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
63
+ }
64
+ lastArgs = arguments;
65
+ return lastResult;
66
+ }
67
+ ((/** @type {?} */ (memoized))).reset = (/**
68
+ * @return {?}
69
+ */
70
+ function () {
71
+ // The hidden (for now) ability to reset the memoization
72
+ lastArgs = null;
73
+ lastResult = null;
74
+ });
75
+ return (/** @type {?} */ (memoized));
76
76
  }
77
77
 
78
- /**
79
- * @fileoverview added by tsickle
80
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
81
- */
82
- /**
83
- * @return {?}
84
- */
85
- function _isAngularInTestMode() {
86
- /** @type {?} */
87
- var platformRef = core.getPlatform();
88
- if (!platformRef)
89
- return false;
90
- /** @type {?} */
91
- var compilerOptions = platformRef.injector.get(core.COMPILER_OPTIONS, null);
92
- if (!compilerOptions)
93
- return false;
94
- /** @type {?} */
95
- var isInTestMode = compilerOptions.some((/**
96
- * @param {?} item
97
- * @return {?}
98
- */
99
- function (item) {
100
- /** @type {?} */
101
- var providers = (item && item.providers) || [];
102
- return providers.some((/**
103
- * @param {?} provider
104
- * @return {?}
105
- */
106
- function (provider) {
107
- return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
108
- false);
109
- }));
110
- }));
111
- return isInTestMode;
112
- }
113
- /** @type {?} */
114
- var isAngularInTestMode =
115
- // Caretaker note: we have still left the `typeof` condition in order to avoid
116
- // creating a breaking change for projects that still use the View Engine.
117
- typeof ngDevMode === 'undefined' || ngDevMode ? memoize(_isAngularInTestMode) : (/**
118
- * @return {?}
119
- */
120
- function () { return false; });
78
+ /**
79
+ * @fileoverview added by tsickle
80
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
81
+ */
82
+ /**
83
+ * @return {?}
84
+ */
85
+ function _isAngularInTestMode() {
86
+ /** @type {?} */
87
+ var platformRef = core.getPlatform();
88
+ if (!platformRef)
89
+ return false;
90
+ /** @type {?} */
91
+ var compilerOptions = platformRef.injector.get(core.COMPILER_OPTIONS, null);
92
+ if (!compilerOptions)
93
+ return false;
94
+ /** @type {?} */
95
+ var isInTestMode = compilerOptions.some((/**
96
+ * @param {?} item
97
+ * @return {?}
98
+ */
99
+ function (item) {
100
+ /** @type {?} */
101
+ var providers = (item && item.providers) || [];
102
+ return providers.some((/**
103
+ * @param {?} provider
104
+ * @return {?}
105
+ */
106
+ function (provider) {
107
+ return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
108
+ false);
109
+ }));
110
+ }));
111
+ return isInTestMode;
112
+ }
113
+ /** @type {?} */
114
+ var isAngularInTestMode = memoize(_isAngularInTestMode);
121
115
 
122
- /**
123
- * @fileoverview added by tsickle
124
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
125
- */
126
- var NgxsBootstrapper = /** @class */ (function () {
127
- function NgxsBootstrapper() {
128
- /**
129
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
130
- */
131
- this.bootstrap$ = new rxjs.ReplaySubject(1);
132
- }
133
- Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
134
- get: /**
135
- * @return {?}
136
- */
137
- function () {
138
- return this.bootstrap$.asObservable();
139
- },
140
- enumerable: true,
141
- configurable: true
142
- });
143
- /**
144
- * This event will be emitted after attaching `ComponentRef` of the root component
145
- * to the tree of views, that's a signal that application has been fully rendered
146
- */
147
- /**
148
- * This event will be emitted after attaching `ComponentRef` of the root component
149
- * to the tree of views, that's a signal that application has been fully rendered
150
- * @return {?}
151
- */
152
- NgxsBootstrapper.prototype.bootstrap = /**
153
- * This event will be emitted after attaching `ComponentRef` of the root component
154
- * to the tree of views, that's a signal that application has been fully rendered
155
- * @return {?}
156
- */
157
- function () {
158
- this.bootstrap$.next(true);
159
- this.bootstrap$.complete();
160
- };
161
- NgxsBootstrapper.decorators = [
162
- { type: core.Injectable }
163
- ];
164
- return NgxsBootstrapper;
165
- }());
166
- if (false) {
167
- /**
168
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
169
- * @type {?}
170
- * @private
171
- */
172
- NgxsBootstrapper.prototype.bootstrap$;
116
+ /**
117
+ * @fileoverview added by tsickle
118
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
119
+ */
120
+ var NgxsBootstrapper = /** @class */ (function () {
121
+ function NgxsBootstrapper() {
122
+ /**
123
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
124
+ */
125
+ this.bootstrap$ = new rxjs.ReplaySubject(1);
126
+ }
127
+ Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
128
+ get: /**
129
+ * @return {?}
130
+ */
131
+ function () {
132
+ return this.bootstrap$.asObservable();
133
+ },
134
+ enumerable: true,
135
+ configurable: true
136
+ });
137
+ /**
138
+ * This event will be emitted after attaching `ComponentRef` of the root component
139
+ * to the tree of views, that's a signal that application has been fully rendered
140
+ */
141
+ /**
142
+ * This event will be emitted after attaching `ComponentRef` of the root component
143
+ * to the tree of views, that's a signal that application has been fully rendered
144
+ * @return {?}
145
+ */
146
+ NgxsBootstrapper.prototype.bootstrap = /**
147
+ * This event will be emitted after attaching `ComponentRef` of the root component
148
+ * to the tree of views, that's a signal that application has been fully rendered
149
+ * @return {?}
150
+ */
151
+ function () {
152
+ this.bootstrap$.next(true);
153
+ this.bootstrap$.complete();
154
+ };
155
+ NgxsBootstrapper.decorators = [
156
+ { type: core.Injectable }
157
+ ];
158
+ return NgxsBootstrapper;
159
+ }());
160
+ if (false) {
161
+ /**
162
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
163
+ * @type {?}
164
+ * @private
165
+ */
166
+ NgxsBootstrapper.prototype.bootstrap$;
173
167
  }
174
168
 
175
- /**
176
- * @fileoverview added by tsickle
177
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
178
- */
179
- /** @type {?} */
180
- var INITIAL_STATE_TOKEN = new core.InjectionToken('INITIAL_STATE_TOKEN');
181
- var InitialState = /** @class */ (function () {
182
- function InitialState() {
183
- }
184
- /**
185
- * @param {?} state
186
- * @return {?}
187
- */
188
- InitialState.set = /**
189
- * @param {?} state
190
- * @return {?}
191
- */
192
- function (state) {
193
- this.value = state;
194
- };
195
- /**
196
- * @return {?}
197
- */
198
- InitialState.pop = /**
199
- * @return {?}
200
- */
201
- function () {
202
- /** @type {?} */
203
- var state = this.value;
204
- this.value = {};
205
- return state;
206
- };
207
- InitialState.value = {};
208
- return InitialState;
209
- }());
210
- if (false) {
211
- /**
212
- * @type {?}
213
- * @private
214
- */
215
- InitialState.value;
169
+ /**
170
+ * @fileoverview added by tsickle
171
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
172
+ */
173
+ /** @type {?} */
174
+ var INITIAL_STATE_TOKEN = new core.InjectionToken('INITIAL_STATE_TOKEN');
175
+ var InitialState = /** @class */ (function () {
176
+ function InitialState() {
177
+ }
178
+ /**
179
+ * @param {?} state
180
+ * @return {?}
181
+ */
182
+ InitialState.set = /**
183
+ * @param {?} state
184
+ * @return {?}
185
+ */
186
+ function (state) {
187
+ this.value = state;
188
+ };
189
+ /**
190
+ * @return {?}
191
+ */
192
+ InitialState.pop = /**
193
+ * @return {?}
194
+ */
195
+ function () {
196
+ /** @type {?} */
197
+ var state = this.value;
198
+ this.value = {};
199
+ return state;
200
+ };
201
+ InitialState.value = {};
202
+ return InitialState;
203
+ }());
204
+ if (false) {
205
+ /**
206
+ * @type {?}
207
+ * @private
208
+ */
209
+ InitialState.value;
216
210
  }
217
211
 
218
- /**
219
- * @fileoverview added by tsickle
220
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
221
- */
222
- /**
223
- * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
224
- * @type {?}
225
- */
226
- var NGXS_STATE_CONTEXT_FACTORY = new core.InjectionToken('Internals.StateContextFactory');
227
- /**
228
- * @see StateFactory as it's referenced by this token to be accessed by plugins internally
229
- * @type {?}
230
- */
212
+ /**
213
+ * @fileoverview added by tsickle
214
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
215
+ */
216
+ /**
217
+ * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
218
+ * @type {?}
219
+ */
220
+ var NGXS_STATE_CONTEXT_FACTORY = new core.InjectionToken('Internals.StateContextFactory');
221
+ /**
222
+ * @see StateFactory as it's referenced by this token to be accessed by plugins internally
223
+ * @type {?}
224
+ */
231
225
  var NGXS_STATE_FACTORY = new core.InjectionToken('Internals.StateFactory');
232
226
 
233
- /**
234
- * @fileoverview added by tsickle
235
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
236
- */
237
- // Angular doesn't export `NG_FACTORY_DEF`.
238
- /** @type {?} */
239
- var NG_FACTORY_DEF = 'ɵfac';
240
- // A `Symbol` which is used to save the `Injector` onto the class instance.
241
- /** @type {?} */
242
- var InjectorInstance = Symbol('InjectorInstance');
243
- // A `Symbol` which is used to determine if factory has been decorated previously or not.
244
- /** @type {?} */
245
- var FactoryHasBeenDecorated = Symbol('FactoryHasBeenDecorated');
246
- // eslint-disable-next-line @typescript-eslint/ban-types
247
- /**
248
- * @param {?} target
249
- * @return {?}
250
- */
251
- function ensureLocalInjectorCaptured(target) {
252
- if (FactoryHasBeenDecorated in target.constructor.prototype) {
253
- return;
254
- }
255
- /** @type {?} */
256
- var constructor = target.constructor;
257
- // Means we're in AOT mode.
258
- if (typeof constructor[NG_FACTORY_DEF] === 'function') {
259
- decorateFactory(constructor);
260
- }
261
- else if (ngDevMode) {
262
- // We're running in JIT mode and that means we're not able to get the compiled definition
263
- // on the class inside the property decorator during the current message loop tick. We have
264
- // to wait for the next message loop tick. Note that this is safe since this Promise will be
265
- // resolved even before the `APP_INITIALIZER` is resolved.
266
- // The below code also will be executed only in development mode, since it's never recommended
267
- // to use the JIT compiler in production mode (by setting "aot: false").
268
- decorateFactoryLater(constructor);
269
- }
270
- target.constructor.prototype[FactoryHasBeenDecorated] = true;
271
- }
272
- /**
273
- * @template T
274
- * @param {?} instance
275
- * @param {?} token
276
- * @return {?}
277
- */
278
- function localInject(instance, token) {
279
- /** @type {?} */
280
- var injector = instance[InjectorInstance];
281
- return injector ? injector.get(token) : null;
282
- }
283
- /**
284
- * @param {?} constructor
285
- * @return {?}
286
- */
287
- function decorateFactory(constructor) {
288
- /** @type {?} */
289
- var factory = constructor[NG_FACTORY_DEF];
290
- if (typeof factory !== 'function') {
291
- return;
292
- }
293
- // Let's try to get any definition.
294
- // Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first
295
- // Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).
296
- /** @type {?} */
297
- var def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;
298
- /** @type {?} */
299
- var decoratedFactory = (/**
300
- * @return {?}
301
- */
302
- function () {
303
- /** @type {?} */
304
- var instance = factory();
305
- // Caretaker note: `inject()` won't work here.
306
- // We can use the `directiveInject` only during the component
307
- // construction, since Angular captures the currently active injector.
308
- // We're not able to use this function inside the getter (when the `selectorId` property is
309
- // requested for the first time), since the currently active injector will be null.
310
- instance[InjectorInstance] = core.ɵɵdirectiveInject(
311
- // We're using `INJECTOR` token except of the `Injector` class since the compiler
312
- // throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.
313
- // Caretaker note: that this is the same way of getting the injector.
314
- core.INJECTOR);
315
- return instance;
316
- });
317
- // If we've found any definition then it's enough to override the `def.factory` since Angular
318
- // code uses the `def.factory` and then fallbacks to `ɵfac`.
319
- if (def) {
320
- def.factory = decoratedFactory;
321
- }
322
- // `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular
323
- // still uses the `ɵfac`.
324
- Object.defineProperty(constructor, NG_FACTORY_DEF, {
325
- get: (/**
326
- * @return {?}
327
- */
328
- function () { return decoratedFactory; })
329
- });
330
- }
331
- /**
332
- * @param {?} constructor
333
- * @return {?}
334
- */
335
- function decorateFactoryLater(constructor) {
336
- // This function actually will be tree-shaken away when building for production since it's guarded with `ngDevMode`.
337
- // We're having the `try-catch` here because of the `SyncTestZoneSpec`, which throws
338
- // an error when micro or macrotask is used within a synchronous test. E.g. `Cannot call
339
- // Promise.then from within a sync test`.
340
- try {
341
- Promise.resolve().then((/**
342
- * @return {?}
343
- */
344
- function () {
345
- decorateFactory(constructor);
346
- }));
347
- }
348
- catch (_a) {
349
- // This is kind of a "hack", but we try to be backwards-compatible,
350
- // tho this `catch` block will only be executed when tests are run with Jasmine or Jest.
351
- core.ɵglobal.process &&
352
- core.ɵglobal.process.nextTick &&
353
- core.ɵglobal.process.nextTick((/**
354
- * @return {?}
355
- */
356
- function () {
357
- decorateFactory(constructor);
358
- }));
359
- }
360
- }
361
- /**
362
- * @record
363
- */
364
- function Definition() { }
365
- if (false) {
366
- /** @type {?} */
367
- Definition.prototype.factory;
368
- }
369
- /**
370
- * @record
371
- */
372
- function ConstructorWithDefinitionAndFactory() { }
373
- if (false) {
374
- /** @type {?|undefined} */
375
- ConstructorWithDefinitionAndFactory.prototype.ɵprov;
376
- /** @type {?|undefined} */
377
- ConstructorWithDefinitionAndFactory.prototype.ɵpipe;
378
- /** @type {?|undefined} */
379
- ConstructorWithDefinitionAndFactory.prototype.ɵcmp;
380
- /** @type {?|undefined} */
381
- ConstructorWithDefinitionAndFactory.prototype.ɵdir;
382
- /* Skipping unnamed member:
383
- [NG_FACTORY_DEF]?: Factory;*/
384
- }
385
- /**
386
- * @record
387
- */
388
- function PrivateInstance() { }
389
- if (false) {
390
- /* Skipping unnamed member:
391
- [InjectorInstance]?: Injector;*/
392
- }
393
-
394
227
  exports.INITIAL_STATE_TOKEN = INITIAL_STATE_TOKEN;
395
228
  exports.InitialState = InitialState;
396
229
  exports.NGXS_STATE_CONTEXT_FACTORY = NGXS_STATE_CONTEXT_FACTORY;
397
230
  exports.NGXS_STATE_FACTORY = NGXS_STATE_FACTORY;
398
231
  exports.NgxsBootstrapper = NgxsBootstrapper;
399
- exports.ensureLocalInjectorCaptured = ensureLocalInjectorCaptured;
400
232
  exports.isAngularInTestMode = isAngularInTestMode;
401
- exports.localInject = localInject;
402
233
  exports.memoize = memoize;
403
234
 
404
235
  Object.defineProperty(exports, '__esModule', { value: true });