@ngxs/store 3.7.4 → 3.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +315 -315
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-internals.umd.js +192 -397
  6. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  7. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store-operators.umd.js +310 -310
  10. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  11. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  12. package/bundles/ngxs-store.umd.js +4401 -4481
  13. package/bundles/ngxs-store.umd.js.map +1 -1
  14. package/bundles/ngxs-store.umd.min.js +1 -1
  15. package/bundles/ngxs-store.umd.min.js.map +1 -1
  16. package/esm2015/index.js +13 -13
  17. package/esm2015/internals/angular.js +20 -20
  18. package/esm2015/internals/index.js +10 -11
  19. package/esm2015/internals/initial-state.js +34 -34
  20. package/esm2015/internals/internal-tokens.js +16 -16
  21. package/esm2015/internals/memoize.js +70 -70
  22. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  23. package/esm2015/internals/ngxs-store-internals.js +9 -9
  24. package/esm2015/internals/src/symbols.js +14 -14
  25. package/esm2015/internals/symbols.js +14 -14
  26. package/esm2015/internals/testing/fresh-platform.js +110 -110
  27. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  28. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  29. package/esm2015/internals/testing/index.js +8 -8
  30. package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
  31. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  32. package/esm2015/internals/testing/skip-console-logging.js +62 -62
  33. package/esm2015/internals/testing/symbol.js +29 -29
  34. package/esm2015/ngxs-store.js +24 -23
  35. package/esm2015/operators/append.js +31 -31
  36. package/esm2015/operators/compose.js +24 -24
  37. package/esm2015/operators/iif.js +56 -56
  38. package/esm2015/operators/index.js +18 -18
  39. package/esm2015/operators/insert-item.js +41 -41
  40. package/esm2015/operators/internals.js +5 -5
  41. package/esm2015/operators/ngxs-store-operators.js +8 -8
  42. package/esm2015/operators/patch.js +39 -39
  43. package/esm2015/operators/remove-item.js +34 -34
  44. package/esm2015/operators/update-item.js +52 -52
  45. package/esm2015/operators/utils.js +50 -50
  46. package/esm2015/src/actions/actions.js +39 -39
  47. package/esm2015/src/actions/symbols.js +39 -39
  48. package/esm2015/src/actions-stream.js +140 -140
  49. package/esm2015/src/configs/messages.config.js +79 -79
  50. package/esm2015/src/decorators/action.js +48 -48
  51. package/esm2015/src/decorators/select/select-factory.js +45 -49
  52. package/esm2015/src/decorators/select/select.js +45 -81
  53. package/esm2015/src/decorators/select/symbols.js +50 -94
  54. package/esm2015/src/decorators/selector/selector.js +59 -59
  55. package/esm2015/src/decorators/selector/symbols.js +5 -5
  56. package/esm2015/src/decorators/selector-options.js +34 -34
  57. package/esm2015/src/decorators/state.js +77 -83
  58. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
  59. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  60. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
  61. package/esm2015/src/execution/symbols.js +52 -52
  62. package/esm2015/src/internal/dispatcher.js +219 -217
  63. package/esm2015/src/internal/internals.js +493 -493
  64. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  65. package/esm2015/src/internal/state-context-factory.js +138 -138
  66. package/esm2015/src/internal/state-factory.js +457 -449
  67. package/esm2015/src/internal/state-operations.js +124 -133
  68. package/esm2015/src/internal/state-operators.js +33 -33
  69. package/esm2015/src/internal/state-stream.js +30 -30
  70. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  71. package/esm2015/src/module.js +159 -157
  72. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  73. package/esm2015/src/modules/ngxs-root.module.js +49 -52
  74. package/esm2015/src/operators/leave-ngxs.js +58 -58
  75. package/esm2015/src/operators/of-action.js +191 -191
  76. package/esm2015/src/plugin-manager.js +70 -70
  77. package/esm2015/src/plugin_api.js +10 -10
  78. package/esm2015/src/public_api.js +29 -29
  79. package/esm2015/src/public_to_deprecate.js +64 -64
  80. package/esm2015/src/state-token/state-token.js +45 -45
  81. package/esm2015/src/state-token/symbols.js +5 -5
  82. package/esm2015/src/store.js +190 -190
  83. package/esm2015/src/symbols.js +221 -220
  84. package/esm2015/src/utils/compose.js +44 -44
  85. package/esm2015/src/utils/freeze.js +35 -35
  86. package/esm2015/src/utils/selector-utils.js +221 -221
  87. package/esm2015/src/utils/store-validators.js +60 -60
  88. package/esm2015/src/utils/utils.js +143 -143
  89. package/esm5/index.js +13 -13
  90. package/esm5/internals/angular.js +20 -20
  91. package/esm5/internals/index.js +10 -11
  92. package/esm5/internals/initial-state.js +45 -45
  93. package/esm5/internals/internal-tokens.js +16 -16
  94. package/esm5/internals/memoize.js +71 -71
  95. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  96. package/esm5/internals/ngxs-store-internals.js +9 -9
  97. package/esm5/internals/src/symbols.js +14 -14
  98. package/esm5/internals/symbols.js +14 -14
  99. package/esm5/internals/testing/fresh-platform.js +121 -121
  100. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  101. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  102. package/esm5/internals/testing/index.js +8 -8
  103. package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
  104. package/esm5/internals/testing/ngxs.setup.js +98 -98
  105. package/esm5/internals/testing/skip-console-logging.js +62 -62
  106. package/esm5/internals/testing/symbol.js +29 -29
  107. package/esm5/ngxs-store.js +24 -23
  108. package/esm5/operators/append.js +31 -31
  109. package/esm5/operators/compose.js +28 -28
  110. package/esm5/operators/iif.js +56 -56
  111. package/esm5/operators/index.js +18 -18
  112. package/esm5/operators/insert-item.js +41 -41
  113. package/esm5/operators/internals.js +5 -5
  114. package/esm5/operators/ngxs-store-operators.js +8 -8
  115. package/esm5/operators/patch.js +40 -40
  116. package/esm5/operators/remove-item.js +34 -34
  117. package/esm5/operators/update-item.js +52 -52
  118. package/esm5/operators/utils.js +50 -50
  119. package/esm5/src/actions/actions.js +62 -62
  120. package/esm5/src/actions/symbols.js +39 -39
  121. package/esm5/src/actions-stream.js +186 -186
  122. package/esm5/src/configs/messages.config.js +79 -79
  123. package/esm5/src/decorators/action.js +60 -60
  124. package/esm5/src/decorators/select/select-factory.js +46 -50
  125. package/esm5/src/decorators/select/select.js +50 -87
  126. package/esm5/src/decorators/select/symbols.js +51 -95
  127. package/esm5/src/decorators/selector/selector.js +59 -59
  128. package/esm5/src/decorators/selector/symbols.js +5 -5
  129. package/esm5/src/decorators/selector-options.js +34 -34
  130. package/esm5/src/decorators/state.js +78 -84
  131. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
  132. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  133. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
  134. package/esm5/src/execution/symbols.js +52 -52
  135. package/esm5/src/internal/dispatcher.js +255 -253
  136. package/esm5/src/internal/internals.js +495 -495
  137. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  138. package/esm5/src/internal/state-context-factory.js +146 -146
  139. package/esm5/src/internal/state-factory.js +583 -575
  140. package/esm5/src/internal/state-operations.js +134 -143
  141. package/esm5/src/internal/state-operators.js +34 -34
  142. package/esm5/src/internal/state-stream.js +37 -37
  143. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  144. package/esm5/src/module.js +202 -200
  145. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  146. package/esm5/src/modules/ngxs-root.module.js +44 -47
  147. package/esm5/src/operators/leave-ngxs.js +58 -58
  148. package/esm5/src/operators/of-action.js +217 -217
  149. package/esm5/src/plugin-manager.js +82 -82
  150. package/esm5/src/plugin_api.js +10 -10
  151. package/esm5/src/public_api.js +29 -29
  152. package/esm5/src/public_to_deprecate.js +64 -64
  153. package/esm5/src/state-token/state-token.js +57 -57
  154. package/esm5/src/state-token/symbols.js +5 -5
  155. package/esm5/src/store.js +241 -241
  156. package/esm5/src/symbols.js +230 -229
  157. package/esm5/src/utils/compose.js +55 -55
  158. package/esm5/src/utils/freeze.js +35 -35
  159. package/esm5/src/utils/selector-utils.js +230 -230
  160. package/esm5/src/utils/store-validators.js +78 -78
  161. package/esm5/src/utils/utils.js +151 -151
  162. package/fesm2015/ngxs-store-internals-testing.js +274 -274
  163. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  164. package/fesm2015/ngxs-store-internals.js +175 -377
  165. package/fesm2015/ngxs-store-internals.js.map +1 -1
  166. package/fesm2015/ngxs-store-operators.js +312 -312
  167. package/fesm2015/ngxs-store-operators.js.map +1 -1
  168. package/fesm2015/ngxs-store.js +3915 -3995
  169. package/fesm2015/ngxs-store.js.map +1 -1
  170. package/fesm5/ngxs-store-internals-testing.js +321 -321
  171. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  172. package/fesm5/ngxs-store-internals.js +200 -402
  173. package/fesm5/ngxs-store-internals.js.map +1 -1
  174. package/fesm5/ngxs-store-operators.js +316 -316
  175. package/fesm5/ngxs-store-operators.js.map +1 -1
  176. package/fesm5/ngxs-store.js +4410 -4491
  177. package/fesm5/ngxs-store.js.map +1 -1
  178. package/index.d.ts +8 -8
  179. package/internals/angular.d.ts +1 -1
  180. package/internals/index.d.ts +6 -7
  181. package/internals/initial-state.d.ts +8 -8
  182. package/internals/internal-tokens.d.ts +9 -9
  183. package/internals/memoize.d.ts +9 -9
  184. package/internals/ngxs-bootstrapper.d.ts +13 -13
  185. package/internals/ngxs-store-internals.d.ts +4 -4
  186. package/internals/ngxs-store-internals.metadata.json +1 -1
  187. package/internals/src/symbols.d.ts +7 -7
  188. package/internals/symbols.d.ts +7 -7
  189. package/internals/testing/fresh-platform.d.ts +1 -1
  190. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  191. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  192. package/internals/testing/index.d.ts +4 -4
  193. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  194. package/internals/testing/ngxs.setup.d.ts +7 -7
  195. package/internals/testing/skip-console-logging.d.ts +1 -1
  196. package/internals/testing/symbol.d.ts +14 -14
  197. package/ngxs-store.d.ts +20 -19
  198. package/ngxs-store.metadata.json +1 -1
  199. package/operators/append.d.ts +6 -6
  200. package/operators/compose.d.ts +2 -2
  201. package/operators/iif.d.ts +11 -11
  202. package/operators/index.d.ts +13 -13
  203. package/operators/insert-item.d.ts +7 -7
  204. package/operators/internals.d.ts +2 -2
  205. package/operators/ngxs-store-operators.d.ts +4 -4
  206. package/operators/patch.d.ts +10 -10
  207. package/operators/remove-item.d.ts +7 -7
  208. package/operators/update-item.d.ts +10 -10
  209. package/operators/utils.d.ts +9 -9
  210. package/package.json +1 -1
  211. package/src/actions/actions.d.ts +15 -15
  212. package/src/actions/symbols.d.ts +21 -21
  213. package/src/actions-stream.d.ts +49 -49
  214. package/src/configs/messages.config.d.ts +11 -11
  215. package/src/decorators/action.d.ts +5 -5
  216. package/src/decorators/select/select-factory.d.ts +13 -13
  217. package/src/decorators/select/select.d.ts +4 -4
  218. package/src/decorators/select/symbols.d.ts +10 -14
  219. package/src/decorators/selector/selector.d.ts +5 -5
  220. package/src/decorators/selector/symbols.d.ts +4 -4
  221. package/src/decorators/selector-options.d.ts +5 -5
  222. package/src/decorators/state.d.ts +6 -6
  223. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
  224. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  225. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  226. package/src/execution/symbols.d.ts +10 -10
  227. package/src/internal/dispatcher.d.ts +32 -32
  228. package/src/internal/internals.d.ts +166 -166
  229. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  230. package/src/internal/state-context-factory.d.ts +15 -15
  231. package/src/internal/state-factory.d.ts +57 -57
  232. package/src/internal/state-operations.d.ts +19 -19
  233. package/src/internal/state-operators.d.ts +2 -2
  234. package/src/internal/state-stream.d.ts +11 -11
  235. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
  236. package/src/module.d.ts +23 -23
  237. package/src/modules/ngxs-feature.module.d.ts +13 -13
  238. package/src/modules/ngxs-root.module.d.ts +13 -13
  239. package/src/operators/leave-ngxs.d.ts +7 -7
  240. package/src/operators/of-action.d.ts +43 -43
  241. package/src/plugin-manager.d.ts +10 -10
  242. package/src/plugin_api.d.ts +5 -5
  243. package/src/public_api.d.ts +17 -17
  244. package/src/public_to_deprecate.d.ts +21 -21
  245. package/src/state-token/state-token.d.ts +7 -7
  246. package/src/state-token/symbols.d.ts +5 -5
  247. package/src/store.d.ts +59 -59
  248. package/src/symbols.d.ts +139 -138
  249. package/src/utils/compose.d.ts +23 -23
  250. package/src/utils/freeze.d.ts +5 -5
  251. package/src/utils/selector-utils.d.ts +23 -23
  252. package/src/utils/store-validators.d.ts +7 -7
  253. package/src/utils/utils.d.ts +46 -46
  254. package/types/index.d.ts +2 -2
  255. package/esm2015/internals/decorator-injector-adapter.js +0 -204
  256. package/esm5/internals/decorator-injector-adapter.js +0 -204
  257. package/internals/decorator-injector-adapter.d.ts +0 -15
@@ -4,419 +4,214 @@
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
- * @return {?}
13
- */
14
- function isAngularInTestMode() {
15
- // This is safe to check for these properties in the following way since `typeof` does not
16
- // throw an exception if the value does not exist in the scope.
17
- // We should not try to read these values from the global scope (e.g. `ɵglobal` from the `@angular/core`).
18
- // This is related to how these frameworks compile and execute modules. E.g. Jest wraps the module into
19
- // its internal code where `jest` variable exists in the scope. It cannot be read from the global scope, e.g.
20
- // this will return undefined `global.jest`, but `jest` will not equal undefined.
21
- return (typeof __karma__ !== 'undefined' ||
22
- typeof jasmine !== 'undefined' ||
23
- typeof jest !== 'undefined' ||
24
- typeof Mocha !== 'undefined');
7
+ /**
8
+ * @fileoverview added by tsickle
9
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
+ */
11
+ /**
12
+ * @return {?}
13
+ */
14
+ function isAngularInTestMode() {
15
+ // This is safe to check for these properties in the following way since `typeof` does not
16
+ // throw an exception if the value does not exist in the scope.
17
+ // We should not try to read these values from the global scope (e.g. `ɵglobal` from the `@angular/core`).
18
+ // This is related to how these frameworks compile and execute modules. E.g. Jest wraps the module into
19
+ // its internal code where `jest` variable exists in the scope. It cannot be read from the global scope, e.g.
20
+ // this will return undefined `global.jest`, but `jest` will not equal undefined.
21
+ return (typeof __karma__ !== 'undefined' ||
22
+ typeof jasmine !== 'undefined' ||
23
+ typeof jest !== 'undefined' ||
24
+ typeof Mocha !== 'undefined');
25
25
  }
26
26
 
27
- /**
28
- * @fileoverview added by tsickle
29
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
30
- */
31
- var NgxsBootstrapper = /** @class */ (function () {
32
- function NgxsBootstrapper() {
33
- /**
34
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
35
- */
36
- this.bootstrap$ = new rxjs.ReplaySubject(1);
37
- }
38
- Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
39
- get: /**
40
- * @return {?}
41
- */
42
- function () {
43
- return this.bootstrap$.asObservable();
44
- },
45
- enumerable: true,
46
- configurable: true
47
- });
48
- /**
49
- * This event will be emitted after attaching `ComponentRef` of the root component
50
- * to the tree of views, that's a signal that application has been fully rendered
51
- */
52
- /**
53
- * This event will be emitted after attaching `ComponentRef` of the root component
54
- * to the tree of views, that's a signal that application has been fully rendered
55
- * @return {?}
56
- */
57
- NgxsBootstrapper.prototype.bootstrap = /**
58
- * This event will be emitted after attaching `ComponentRef` of the root component
59
- * to the tree of views, that's a signal that application has been fully rendered
60
- * @return {?}
61
- */
62
- function () {
63
- this.bootstrap$.next(true);
64
- this.bootstrap$.complete();
65
- };
66
- NgxsBootstrapper.decorators = [
67
- { type: core.Injectable }
68
- ];
69
- return NgxsBootstrapper;
70
- }());
71
- if (false) {
72
- /**
73
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
74
- * @type {?}
75
- * @private
76
- */
77
- NgxsBootstrapper.prototype.bootstrap$;
27
+ /**
28
+ * @fileoverview added by tsickle
29
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
30
+ */
31
+ var NgxsBootstrapper = /** @class */ (function () {
32
+ function NgxsBootstrapper() {
33
+ /**
34
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
35
+ */
36
+ this.bootstrap$ = new rxjs.ReplaySubject(1);
37
+ }
38
+ Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
39
+ get: /**
40
+ * @return {?}
41
+ */
42
+ function () {
43
+ return this.bootstrap$.asObservable();
44
+ },
45
+ enumerable: true,
46
+ configurable: true
47
+ });
48
+ /**
49
+ * This event will be emitted after attaching `ComponentRef` of the root component
50
+ * to the tree of views, that's a signal that application has been fully rendered
51
+ */
52
+ /**
53
+ * This event will be emitted after attaching `ComponentRef` of the root component
54
+ * to the tree of views, that's a signal that application has been fully rendered
55
+ * @return {?}
56
+ */
57
+ NgxsBootstrapper.prototype.bootstrap = /**
58
+ * This event will be emitted after attaching `ComponentRef` of the root component
59
+ * to the tree of views, that's a signal that application has been fully rendered
60
+ * @return {?}
61
+ */
62
+ function () {
63
+ this.bootstrap$.next(true);
64
+ this.bootstrap$.complete();
65
+ };
66
+ NgxsBootstrapper.decorators = [
67
+ { type: core.Injectable }
68
+ ];
69
+ return NgxsBootstrapper;
70
+ }());
71
+ if (false) {
72
+ /**
73
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
74
+ * @type {?}
75
+ * @private
76
+ */
77
+ NgxsBootstrapper.prototype.bootstrap$;
78
78
  }
79
79
 
80
- /**
81
- * @fileoverview added by tsickle
82
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
83
- */
84
- /**
85
- * @param {?} a
86
- * @param {?} b
87
- * @return {?}
88
- */
89
- function defaultEqualityCheck(a, b) {
90
- return a === b;
91
- }
92
- /**
93
- * @param {?} equalityCheck
94
- * @param {?} prev
95
- * @param {?} next
96
- * @return {?}
97
- */
98
- function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
99
- if (prev === null || next === null || prev.length !== next.length) {
100
- return false;
101
- }
102
- // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
103
- /** @type {?} */
104
- var length = prev.length;
105
- for (var i = 0; i < length; i++) {
106
- if (!equalityCheck(prev[i], next[i])) {
107
- return false;
108
- }
109
- }
110
- return true;
111
- }
112
- /**
113
- * Memoize a function on its last inputs only.
114
- * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
115
- *
116
- * @ignore
117
- * @template T
118
- * @param {?} func
119
- * @param {?=} equalityCheck
120
- * @return {?}
121
- */
122
- function memoize(func, equalityCheck) {
123
- if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
124
- /** @type {?} */
125
- var lastArgs = null;
126
- /** @type {?} */
127
- var lastResult = null;
128
- // we reference arguments instead of spreading them for performance reasons
129
- /**
130
- * @return {?}
131
- */
132
- function memoized() {
133
- if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
134
- // apply arguments instead of spreading for performance.
135
- lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
136
- }
137
- lastArgs = arguments;
138
- return lastResult;
139
- }
140
- ((/** @type {?} */ (memoized))).reset = (/**
141
- * @return {?}
142
- */
143
- function () {
144
- // The hidden (for now) ability to reset the memoization
145
- lastArgs = null;
146
- lastResult = null;
147
- });
148
- return (/** @type {?} */ (memoized));
80
+ /**
81
+ * @fileoverview added by tsickle
82
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
83
+ */
84
+ /**
85
+ * @param {?} a
86
+ * @param {?} b
87
+ * @return {?}
88
+ */
89
+ function defaultEqualityCheck(a, b) {
90
+ return a === b;
91
+ }
92
+ /**
93
+ * @param {?} equalityCheck
94
+ * @param {?} prev
95
+ * @param {?} next
96
+ * @return {?}
97
+ */
98
+ function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
99
+ if (prev === null || next === null || prev.length !== next.length) {
100
+ return false;
101
+ }
102
+ // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
103
+ /** @type {?} */
104
+ var length = prev.length;
105
+ for (var i = 0; i < length; i++) {
106
+ if (!equalityCheck(prev[i], next[i])) {
107
+ return false;
108
+ }
109
+ }
110
+ return true;
111
+ }
112
+ /**
113
+ * Memoize a function on its last inputs only.
114
+ * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
115
+ *
116
+ * @ignore
117
+ * @template T
118
+ * @param {?} func
119
+ * @param {?=} equalityCheck
120
+ * @return {?}
121
+ */
122
+ function memoize(func, equalityCheck) {
123
+ if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
124
+ /** @type {?} */
125
+ var lastArgs = null;
126
+ /** @type {?} */
127
+ var lastResult = null;
128
+ // we reference arguments instead of spreading them for performance reasons
129
+ /**
130
+ * @return {?}
131
+ */
132
+ function memoized() {
133
+ if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
134
+ // apply arguments instead of spreading for performance.
135
+ lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
136
+ }
137
+ lastArgs = arguments;
138
+ return lastResult;
139
+ }
140
+ ((/** @type {?} */ (memoized))).reset = (/**
141
+ * @return {?}
142
+ */
143
+ function () {
144
+ // The hidden (for now) ability to reset the memoization
145
+ lastArgs = null;
146
+ lastResult = null;
147
+ });
148
+ return (/** @type {?} */ (memoized));
149
149
  }
150
150
 
151
- /**
152
- * @fileoverview added by tsickle
153
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
154
- */
155
- /** @type {?} */
156
- var INITIAL_STATE_TOKEN = new core.InjectionToken('INITIAL_STATE_TOKEN');
157
- var InitialState = /** @class */ (function () {
158
- function InitialState() {
159
- }
160
- /**
161
- * @param {?} state
162
- * @return {?}
163
- */
164
- InitialState.set = /**
165
- * @param {?} state
166
- * @return {?}
167
- */
168
- function (state) {
169
- this.value = state;
170
- };
171
- /**
172
- * @return {?}
173
- */
174
- InitialState.pop = /**
175
- * @return {?}
176
- */
177
- function () {
178
- /** @type {?} */
179
- var state = this.value;
180
- this.value = {};
181
- return state;
182
- };
183
- InitialState.value = {};
184
- return InitialState;
185
- }());
186
- if (false) {
187
- /**
188
- * @type {?}
189
- * @private
190
- */
191
- InitialState.value;
151
+ /**
152
+ * @fileoverview added by tsickle
153
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
154
+ */
155
+ /** @type {?} */
156
+ var INITIAL_STATE_TOKEN = new core.InjectionToken('INITIAL_STATE_TOKEN');
157
+ var InitialState = /** @class */ (function () {
158
+ function InitialState() {
159
+ }
160
+ /**
161
+ * @param {?} state
162
+ * @return {?}
163
+ */
164
+ InitialState.set = /**
165
+ * @param {?} state
166
+ * @return {?}
167
+ */
168
+ function (state) {
169
+ this.value = state;
170
+ };
171
+ /**
172
+ * @return {?}
173
+ */
174
+ InitialState.pop = /**
175
+ * @return {?}
176
+ */
177
+ function () {
178
+ /** @type {?} */
179
+ var state = this.value;
180
+ this.value = {};
181
+ return state;
182
+ };
183
+ InitialState.value = {};
184
+ return InitialState;
185
+ }());
186
+ if (false) {
187
+ /**
188
+ * @type {?}
189
+ * @private
190
+ */
191
+ InitialState.value;
192
192
  }
193
193
 
194
- /**
195
- * @fileoverview added by tsickle
196
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
197
- */
198
- /**
199
- * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
200
- * @type {?}
201
- */
202
- var NGXS_STATE_CONTEXT_FACTORY = new core.InjectionToken('Internals.StateContextFactory');
203
- /**
204
- * @see StateFactory as it's referenced by this token to be accessed by plugins internally
205
- * @type {?}
206
- */
194
+ /**
195
+ * @fileoverview added by tsickle
196
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
197
+ */
198
+ /**
199
+ * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
200
+ * @type {?}
201
+ */
202
+ var NGXS_STATE_CONTEXT_FACTORY = new core.InjectionToken('Internals.StateContextFactory');
203
+ /**
204
+ * @see StateFactory as it's referenced by this token to be accessed by plugins internally
205
+ * @type {?}
206
+ */
207
207
  var NGXS_STATE_FACTORY = new core.InjectionToken('Internals.StateFactory');
208
208
 
209
- /**
210
- * @fileoverview added by tsickle
211
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
212
- */
213
- // Angular doesn't export `NG_FACTORY_DEF`.
214
- /** @type {?} */
215
- var NG_FACTORY_DEF = 'ɵfac';
216
- // A `Symbol` which is used to save the `Injector` onto the class instance.
217
- /** @type {?} */
218
- var InjectorInstance = Symbol('InjectorInstance');
219
- // A `Symbol` which is used to determine if factory has been decorated previously or not.
220
- /** @type {?} */
221
- var FactoryHasBeenDecorated = Symbol('FactoryHasBeenDecorated');
222
- // A `Symbol` which is used to save the notifier on the class instance. The `InjectorInstance` cannot
223
- // be retrieved within the `constructor` since it's set after the `factory()` is called.
224
- /** @type {?} */
225
- var InjectorNotifier = Symbol('InjectorNotifier');
226
- /**
227
- * @record
228
- */
229
- function PrototypeWithInjectorNotifier() { }
230
- if (false) {
231
- /* Skipping unnamed member:
232
- [InjectorNotifier]?: ReplaySubject<boolean>;*/
233
- }
234
- /**
235
- * @param {?} target
236
- * @return {?}
237
- */
238
- function ensureInjectorNotifierIsCaptured(target) {
239
- if (target[InjectorNotifier]) {
240
- return (/** @type {?} */ (target[InjectorNotifier]));
241
- }
242
- else {
243
- /** @type {?} */
244
- var injectorNotifier$_1 = new rxjs.ReplaySubject(1);
245
- Object.defineProperty(target, InjectorNotifier, {
246
- get: (/**
247
- * @return {?}
248
- */
249
- function () { return injectorNotifier$_1; })
250
- });
251
- return injectorNotifier$_1;
252
- }
253
- }
254
- // eslint-disable-next-line @typescript-eslint/ban-types
255
- /**
256
- * @param {?} target
257
- * @return {?}
258
- */
259
- function ensureLocalInjectorCaptured(target) {
260
- if (FactoryHasBeenDecorated in target.constructor.prototype) {
261
- return;
262
- }
263
- /** @type {?} */
264
- var constructor = target.constructor;
265
- // Means we're in AOT mode.
266
- if (typeof constructor[NG_FACTORY_DEF] === 'function') {
267
- decorateFactory(constructor);
268
- }
269
- else if (ngDevMode) {
270
- // We're running in JIT mode and that means we're not able to get the compiled definition
271
- // on the class inside the property decorator during the current message loop tick. We have
272
- // to wait for the next message loop tick. Note that this is safe since this Promise will be
273
- // resolved even before the `APP_INITIALIZER` is resolved.
274
- // The below code also will be executed only in development mode, since it's never recommended
275
- // to use the JIT compiler in production mode (by setting "aot: false").
276
- decorateFactoryLater(constructor);
277
- }
278
- target.constructor.prototype[FactoryHasBeenDecorated] = true;
279
- }
280
- /**
281
- * @template T
282
- * @param {?} instance
283
- * @param {?} token
284
- * @return {?}
285
- */
286
- function localInject(instance, token) {
287
- /** @type {?} */
288
- var injector = instance[InjectorInstance];
289
- return injector ? injector.get(token) : null;
290
- }
291
- /**
292
- * @param {?} constructor
293
- * @return {?}
294
- */
295
- function decorateFactory(constructor) {
296
- /** @type {?} */
297
- var factory = constructor[NG_FACTORY_DEF];
298
- if (typeof factory !== 'function') {
299
- return;
300
- }
301
- // Let's try to get any definition.
302
- // Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first
303
- // Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).
304
- /** @type {?} */
305
- var def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;
306
- /** @type {?} */
307
- var decoratedFactory = (/**
308
- * @return {?}
309
- */
310
- function () {
311
- /** @type {?} */
312
- var instance = factory();
313
- // Caretaker note: `inject()` won't work here.
314
- // We can use the `directiveInject` only during the component
315
- // construction, since Angular captures the currently active injector.
316
- // We're not able to use this function inside the getter (when the `selectorId` property is
317
- // requested for the first time), since the currently active injector will be null.
318
- instance[InjectorInstance] = core.ɵɵdirectiveInject(
319
- // We're using `INJECTOR` token except of the `Injector` class since the compiler
320
- // throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.
321
- // Caretaker note: that this is the same way of getting the injector.
322
- core.INJECTOR);
323
- // Caretaker note: the notifier will be available only if consumers call the `ensureInjectorNotifierIsCaptured()`.
324
- /** @type {?} */
325
- var injectorNotifier$ = instance[InjectorNotifier];
326
- if (injectorNotifier$) {
327
- injectorNotifier$.next(true);
328
- injectorNotifier$.complete();
329
- }
330
- return instance;
331
- });
332
- // If we've found any definition then it's enough to override the `def.factory` since Angular
333
- // code uses the `def.factory` and then fallbacks to `ɵfac`.
334
- if (def) {
335
- def.factory = decoratedFactory;
336
- }
337
- // `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular
338
- // still uses the `ɵfac`.
339
- Object.defineProperty(constructor, NG_FACTORY_DEF, {
340
- get: (/**
341
- * @return {?}
342
- */
343
- function () { return decoratedFactory; })
344
- });
345
- }
346
- /**
347
- * @param {?} constructor
348
- * @return {?}
349
- */
350
- function decorateFactoryLater(constructor) {
351
- // This function actually will be tree-shaken away when building for production since it's guarded with `ngDevMode`.
352
- // We're having the `try-catch` here because of the `SyncTestZoneSpec`, which throws
353
- // an error when micro or macrotask is used within a synchronous test. E.g. `Cannot call
354
- // Promise.then from within a sync test`.
355
- try {
356
- Promise.resolve().then((/**
357
- * @return {?}
358
- */
359
- function () {
360
- decorateFactory(constructor);
361
- }));
362
- }
363
- catch (_a) {
364
- // This is kind of a "hack", but we try to be backwards-compatible,
365
- // tho this `catch` block will only be executed when tests are run with Jasmine or Jest.
366
- core.ɵglobal.process &&
367
- core.ɵglobal.process.nextTick &&
368
- core.ɵglobal.process.nextTick((/**
369
- * @return {?}
370
- */
371
- function () {
372
- decorateFactory(constructor);
373
- }));
374
- }
375
- }
376
- /**
377
- * @record
378
- */
379
- function Definition() { }
380
- if (false) {
381
- /** @type {?} */
382
- Definition.prototype.factory;
383
- }
384
- /**
385
- * @record
386
- */
387
- function ConstructorWithDefinitionAndFactory() { }
388
- if (false) {
389
- /** @type {?|undefined} */
390
- ConstructorWithDefinitionAndFactory.prototype.ɵprov;
391
- /** @type {?|undefined} */
392
- ConstructorWithDefinitionAndFactory.prototype.ɵpipe;
393
- /** @type {?|undefined} */
394
- ConstructorWithDefinitionAndFactory.prototype.ɵcmp;
395
- /** @type {?|undefined} */
396
- ConstructorWithDefinitionAndFactory.prototype.ɵdir;
397
- /* Skipping unnamed member:
398
- [NG_FACTORY_DEF]?: Factory;*/
399
- }
400
- /**
401
- * @record
402
- */
403
- function PrivateInstance() { }
404
- if (false) {
405
- /* Skipping unnamed member:
406
- [InjectorInstance]?: Injector;*/
407
- /* Skipping unnamed member:
408
- [InjectorNotifier]?: ReplaySubject<boolean>;*/
409
- }
410
-
411
209
  exports.INITIAL_STATE_TOKEN = INITIAL_STATE_TOKEN;
412
210
  exports.InitialState = InitialState;
413
211
  exports.NGXS_STATE_CONTEXT_FACTORY = NGXS_STATE_CONTEXT_FACTORY;
414
212
  exports.NGXS_STATE_FACTORY = NGXS_STATE_FACTORY;
415
213
  exports.NgxsBootstrapper = NgxsBootstrapper;
416
- exports.ensureInjectorNotifierIsCaptured = ensureInjectorNotifierIsCaptured;
417
- exports.ensureLocalInjectorCaptured = ensureLocalInjectorCaptured;
418
214
  exports.isAngularInTestMode = isAngularInTestMode;
419
- exports.localInject = localInject;
420
215
  exports.memoize = memoize;
421
216
 
422
217
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-store-internals.umd.js","sources":["ng://@ngxs/store/internals/angular.ts","ng://@ngxs/store/internals/ngxs-bootstrapper.ts","ng://@ngxs/store/internals/memoize.ts","ng://@ngxs/store/internals/initial-state.ts","ng://@ngxs/store/internals/internal-tokens.ts","ng://@ngxs/store/internals/decorator-injector-adapter.ts"],"sourcesContent":["declare const __karma__: unknown;\r\ndeclare const jasmine: unknown;\r\ndeclare const jest: unknown;\r\ndeclare const Mocha: unknown;\r\n\r\nexport function isAngularInTestMode(): boolean {\r\n // This is safe to check for these properties in the following way since `typeof` does not\r\n // throw an exception if the value does not exist in the scope.\r\n // We should not try to read these values from the global scope (e.g. `ɵglobal` from the `@angular/core`).\r\n // This is related to how these frameworks compile and execute modules. E.g. Jest wraps the module into\r\n // its internal code where `jest` variable exists in the scope. It cannot be read from the global scope, e.g.\r\n // this will return undefined `global.jest`, but `jest` will not equal undefined.\r\n return (\r\n typeof __karma__ !== 'undefined' ||\r\n typeof jasmine !== 'undefined' ||\r\n typeof jest !== 'undefined' ||\r\n typeof Mocha !== 'undefined'\r\n );\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class NgxsBootstrapper {\r\n /**\r\n * Use `ReplaySubject`, thus we can get cached value even if the stream is completed\r\n */\r\n private bootstrap$ = new ReplaySubject<boolean>(1);\r\n\r\n get appBootstrapped$(): Observable<boolean> {\r\n return this.bootstrap$.asObservable();\r\n }\r\n\r\n /**\r\n * This event will be emitted after attaching `ComponentRef` of the root component\r\n * to the tree of views, that's a signal that application has been fully rendered\r\n */\r\n bootstrap(): void {\r\n this.bootstrap$.next(true);\r\n this.bootstrap$.complete();\r\n }\r\n}\r\n","function defaultEqualityCheck(a: any, b: any) {\r\n return a === b;\r\n}\r\n\r\nfunction areArgumentsShallowlyEqual(\r\n equalityCheck: (a: any, b: any) => boolean,\r\n prev: IArguments | null,\r\n next: IArguments | null\r\n) {\r\n if (prev === null || next === null || prev.length !== next.length) {\r\n return false;\r\n }\r\n\r\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\r\n const length = prev.length;\r\n for (let i = 0; i < length; i++) {\r\n if (!equalityCheck(prev[i], next[i])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\n/**\r\n * Memoize a function on its last inputs only.\r\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\r\n *\r\n * @ignore\r\n */\r\nexport function memoize<T extends (...args: any[]) => any>(\r\n func: T,\r\n equalityCheck = defaultEqualityCheck\r\n): T {\r\n let lastArgs: IArguments | null = null;\r\n let lastResult: any = null;\r\n // we reference arguments instead of spreading them for performance reasons\r\n function memoized() {\r\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\r\n // apply arguments instead of spreading for performance.\r\n lastResult = (<Function>func).apply(null, arguments);\r\n }\r\n\r\n lastArgs = arguments;\r\n return lastResult;\r\n }\r\n (<any>memoized).reset = function() {\r\n // The hidden (for now) ability to reset the memoization\r\n lastArgs = null;\r\n lastResult = null;\r\n };\r\n return memoized as T;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { PlainObject } from './symbols';\r\n\r\nexport const INITIAL_STATE_TOKEN = new InjectionToken<any>('INITIAL_STATE_TOKEN');\r\n\r\nexport class InitialState {\r\n private static value: PlainObject = {};\r\n\r\n public static set(state: PlainObject) {\r\n this.value = state;\r\n }\r\n\r\n public static pop(): PlainObject {\r\n const state: PlainObject = this.value;\r\n this.value = {};\r\n return state;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally\r\n */\r\nexport const NGXS_STATE_CONTEXT_FACTORY: InjectionToken<any> = new InjectionToken(\r\n 'Internals.StateContextFactory'\r\n);\r\n\r\n/**\r\n * @see StateFactory as it's referenced by this token to be accessed by plugins internally\r\n */\r\nexport const NGXS_STATE_FACTORY: InjectionToken<any> = new InjectionToken(\r\n 'Internals.StateFactory'\r\n);\r\n","import {\r\n InjectionToken,\r\n Injector,\r\n INJECTOR,\r\n Type,\r\n ɵɵdirectiveInject,\r\n ɵglobal\r\n} from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\n// Will be provided through Terser global definitions by Angular CLI\r\n// during the production build. This is how Angular does tree-shaking internally.\r\ndeclare const ngDevMode: boolean;\r\n\r\n// Angular doesn't export `NG_FACTORY_DEF`.\r\nconst NG_FACTORY_DEF = 'ɵfac';\r\n\r\n// A `Symbol` which is used to save the `Injector` onto the class instance.\r\nconst InjectorInstance: unique symbol = Symbol('InjectorInstance');\r\n\r\n// A `Symbol` which is used to determine if factory has been decorated previously or not.\r\nconst FactoryHasBeenDecorated: unique symbol = Symbol('FactoryHasBeenDecorated');\r\n\r\n// A `Symbol` which is used to save the notifier on the class instance. The `InjectorInstance` cannot\r\n// be retrieved within the `constructor` since it's set after the `factory()` is called.\r\nconst InjectorNotifier: unique symbol = Symbol('InjectorNotifier');\r\n\r\ninterface PrototypeWithInjectorNotifier extends Object {\r\n [InjectorNotifier]?: ReplaySubject<boolean>;\r\n}\r\n\r\nexport function ensureInjectorNotifierIsCaptured(\r\n target: PrototypeWithInjectorNotifier | PrivateInstance\r\n): ReplaySubject<boolean> {\r\n if (target[InjectorNotifier]) {\r\n return target[InjectorNotifier]!;\r\n } else {\r\n const injectorNotifier$ = new ReplaySubject<boolean>(1);\r\n Object.defineProperty(target, InjectorNotifier, {\r\n get: () => injectorNotifier$\r\n });\r\n return injectorNotifier$;\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport function ensureLocalInjectorCaptured(target: Object): void {\r\n if (FactoryHasBeenDecorated in target.constructor.prototype) {\r\n return;\r\n }\r\n\r\n const constructor: ConstructorWithDefinitionAndFactory = target.constructor;\r\n // Means we're in AOT mode.\r\n if (typeof constructor[NG_FACTORY_DEF] === 'function') {\r\n decorateFactory(constructor);\r\n } else if (ngDevMode) {\r\n // We're running in JIT mode and that means we're not able to get the compiled definition\r\n // on the class inside the property decorator during the current message loop tick. We have\r\n // to wait for the next message loop tick. Note that this is safe since this Promise will be\r\n // resolved even before the `APP_INITIALIZER` is resolved.\r\n // The below code also will be executed only in development mode, since it's never recommended\r\n // to use the JIT compiler in production mode (by setting \"aot: false\").\r\n decorateFactoryLater(constructor);\r\n }\r\n\r\n target.constructor.prototype[FactoryHasBeenDecorated] = true;\r\n}\r\n\r\nexport function localInject<T>(\r\n instance: PrivateInstance,\r\n token: InjectionToken<T> | Type<T>\r\n): T | null {\r\n const injector: Injector | undefined = instance[InjectorInstance];\r\n return injector ? injector.get(token) : null;\r\n}\r\n\r\nfunction decorateFactory(constructor: ConstructorWithDefinitionAndFactory): void {\r\n const factory = constructor[NG_FACTORY_DEF];\r\n\r\n if (typeof factory !== 'function') {\r\n return;\r\n }\r\n\r\n // Let's try to get any definition.\r\n // Caretaker note: this will be compatible only with Angular 9+, since Angular 9 is the first\r\n // Ivy-stable version. Previously definition properties were named differently (e.g. `ngComponentDef`).\r\n const def = constructor.ɵprov || constructor.ɵpipe || constructor.ɵcmp || constructor.ɵdir;\r\n\r\n const decoratedFactory = () => {\r\n const instance = factory();\r\n // Caretaker note: `inject()` won't work here.\r\n // We can use the `directiveInject` only during the component\r\n // construction, since Angular captures the currently active injector.\r\n // We're not able to use this function inside the getter (when the `selectorId` property is\r\n // requested for the first time), since the currently active injector will be null.\r\n instance[InjectorInstance] = ɵɵdirectiveInject(\r\n // We're using `INJECTOR` token except of the `Injector` class since the compiler\r\n // throws: `Cannot assign an abstract constructor type to a non-abstract constructor type.`.\r\n // Caretaker note: that this is the same way of getting the injector.\r\n INJECTOR\r\n );\r\n\r\n // Caretaker note: the notifier will be available only if consumers call the `ensureInjectorNotifierIsCaptured()`.\r\n const injectorNotifier$ = instance[InjectorNotifier];\r\n if (injectorNotifier$) {\r\n injectorNotifier$.next(true);\r\n injectorNotifier$.complete();\r\n }\r\n\r\n return instance;\r\n };\r\n\r\n // If we've found any definition then it's enough to override the `def.factory` since Angular\r\n // code uses the `def.factory` and then fallbacks to `ɵfac`.\r\n if (def) {\r\n def.factory = decoratedFactory;\r\n }\r\n\r\n // `@NgModule()` doesn't doesn't have definition factory, also providers have definitions but Angular\r\n // still uses the `ɵfac`.\r\n Object.defineProperty(constructor, NG_FACTORY_DEF, {\r\n get: () => decoratedFactory\r\n });\r\n}\r\n\r\nfunction decorateFactoryLater(constructor: ConstructorWithDefinitionAndFactory): void {\r\n // This function actually will be tree-shaken away when building for production since it's guarded with `ngDevMode`.\r\n // We're having the `try-catch` here because of the `SyncTestZoneSpec`, which throws\r\n // an error when micro or macrotask is used within a synchronous test. E.g. `Cannot call\r\n // Promise.then from within a sync test`.\r\n try {\r\n Promise.resolve().then(() => {\r\n decorateFactory(constructor);\r\n });\r\n } catch {\r\n // This is kind of a \"hack\", but we try to be backwards-compatible,\r\n // tho this `catch` block will only be executed when tests are run with Jasmine or Jest.\r\n ɵglobal.process &&\r\n ɵglobal.process.nextTick &&\r\n ɵglobal.process.nextTick(() => {\r\n decorateFactory(constructor);\r\n });\r\n }\r\n}\r\n\r\n// We could've used `ɵɵFactoryDef` but we try to be backwards-compatible,\r\n// since it's not exported in older Angular versions.\r\ntype Factory = () => PrivateInstance;\r\n\r\n// We could've used `ɵɵInjectableDef`, `ɵɵPipeDef`, etc. We try to be backwards-compatible\r\n// since they're not exported in older Angular versions.\r\ninterface Definition {\r\n factory: Factory | null;\r\n}\r\n\r\ninterface ConstructorWithDefinitionAndFactory extends Function {\r\n // Provider definition for the `@Injectable()` class.\r\n ɵprov?: Definition;\r\n // Pipe definition for the `@Pipe()` class.\r\n ɵpipe?: Definition;\r\n // Component definition for the `@Component()` class.\r\n ɵcmp?: Definition;\r\n // Directive definition for the `@Directive()` class.\r\n ɵdir?: Definition;\r\n [NG_FACTORY_DEF]?: Factory;\r\n}\r\n\r\ninterface PrivateInstance {\r\n [InjectorInstance]?: Injector;\r\n [InjectorNotifier]?: ReplaySubject<boolean>;\r\n}\r\n"],"names":["ReplaySubject","Injectable","InjectionToken","ɵɵdirectiveInject","INJECTOR","ɵglobal"],"mappings":";;;;;;;;;;;;;IAKA,SAAgB,mBAAmB;;;;;;;QAOjC,QACE,OAAO,SAAS,KAAK,WAAW;YAChC,OAAO,OAAO,KAAK,WAAW;YAC9B,OAAO,IAAI,KAAK,WAAW;YAC3B,OAAO,KAAK,KAAK,WAAW,EAC5B;KACH;;;;;;AClBD;QAGA;;;;YAKU,eAAU,GAAG,IAAIA,kBAAa,CAAU,CAAC,CAAC,CAAC;SAcpD;QAZC,sBAAI,8CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;aACvC;;;WAAA;;;;;;;;;;QAMD,oCAAS;;;;;QAAT;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;oBAlBFC,eAAU;;QAmBX,uBAAC;KAnBD,IAmBC;;;;;;;QAdC,sCAAmD;;;;;;;;;;;;ICRrD,SAAS,oBAAoB,CAAC,CAAM,EAAE,CAAM;QAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;KAChB;;;;;;;IAED,SAAS,0BAA0B,CACjC,aAA0C,EAC1C,IAAuB,EACvB,IAAuB;QAEvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACjE,OAAO,KAAK,CAAC;SACd;;;YAGK,MAAM,GAAG,IAAI,CAAC,MAAM;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpC,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;KACb;;;;;;;;;;;IAQD,SAAgB,OAAO,CACrB,IAAO,EACP,aAAoC;QAApC,8BAAA,EAAA,oCAAoC;;YAEhC,QAAQ,GAAsB,IAAI;;YAClC,UAAU,GAAQ,IAAI;;;;;QAE1B,SAAS,QAAQ;YACf,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;;gBAEnE,UAAU,GAAG,oBAAW,IAAI,IAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACtD;YAED,QAAQ,GAAG,SAAS,CAAC;YACrB,OAAO,UAAU,CAAC;SACnB;QACD,oBAAM,QAAQ,IAAE,KAAK;;;QAAG;;YAEtB,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;SACnB,CAAA,CAAC;QACF,0BAAO,QAAQ,GAAM;KACtB;;;;;;ICpDD;AAGA,QAAa,mBAAmB,GAAG,IAAIC,mBAAc,CAAM,qBAAqB,CAAC;AAEjF;QAAA;SAYC;;;;;QATe,gBAAG;;;;QAAjB,UAAkB,KAAkB;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;;;;QAEa,gBAAG;;;QAAjB;;gBACQ,KAAK,GAAgB,IAAI,CAAC,KAAK;YACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;SACd;QAVc,kBAAK,GAAgB,EAAE,CAAC;QAWzC,mBAAC;KAZD,IAYC;;;;;;QAXC,mBAAuC;;;;;;;ICNzC;;;;AAKA,QAAa,0BAA0B,GAAwB,IAAIA,mBAAc,CAC/E,+BAA+B,CAChC;;;;;AAKD,QAAa,kBAAkB,GAAwB,IAAIA,mBAAc,CACvE,wBAAwB,CACzB;;;;;;ICdD;;QAeM,cAAc,GAAG,MAAM;;;QAGvB,gBAAgB,GAAkB,MAAM,CAAC,kBAAkB,CAAC;;;QAG5D,uBAAuB,GAAkB,MAAM,CAAC,yBAAyB,CAAC;;;;QAI1E,gBAAgB,GAAkB,MAAM,CAAC,kBAAkB,CAAC;;;;IAElE,4CAEC;;;;;;;;;IAED,SAAgB,gCAAgC,CAC9C,MAAuD;QAEvD,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE;YAC5B,0BAAO,MAAM,CAAC,gBAAgB,CAAC,GAAE;SAClC;aAAM;;gBACC,mBAAiB,GAAG,IAAIF,kBAAa,CAAU,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE;gBAC9C,GAAG;;;gBAAE,cAAM,OAAA,mBAAiB,GAAA,CAAA;aAC7B,CAAC,CAAC;YACH,OAAO,mBAAiB,CAAC;SAC1B;KACF;;;;;;IAGD,SAAgB,2BAA2B,CAAC,MAAc;QACxD,IAAI,uBAAuB,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE;YAC3D,OAAO;SACR;;YAEK,WAAW,GAAwC,MAAM,CAAC,WAAW;;QAE3E,IAAI,OAAO,WAAW,CAAC,cAAc,CAAC,KAAK,UAAU,EAAE;YACrD,eAAe,CAAC,WAAW,CAAC,CAAC;SAC9B;aAAM,IAAI,SAAS,EAAE;;;;;;;YAOpB,oBAAoB,CAAC,WAAW,CAAC,CAAC;SACnC;QAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;KAC9D;;;;;;;IAED,SAAgB,WAAW,CACzB,QAAyB,EACzB,KAAkC;;YAE5B,QAAQ,GAAyB,QAAQ,CAAC,gBAAgB,CAAC;QACjE,OAAO,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;KAC9C;;;;;IAED,SAAS,eAAe,CAAC,WAAgD;;YACjE,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC;QAE3C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;YACjC,OAAO;SACR;;;;;YAKK,GAAG,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI;;YAEpF,gBAAgB;;;QAAG;;gBACjB,QAAQ,GAAG,OAAO,EAAE;;;;;;YAM1B,QAAQ,CAAC,gBAAgB,CAAC,GAAGG,sBAAiB;;;;YAI5CC,aAAQ,CACT,CAAC;;;gBAGI,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;YACpD,IAAI,iBAAiB,EAAE;gBACrB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,iBAAiB,CAAC,QAAQ,EAAE,CAAC;aAC9B;YAED,OAAO,QAAQ,CAAC;SACjB,CAAA;;;QAID,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC;SAChC;;;QAID,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE;YACjD,GAAG;;;YAAE,cAAM,OAAA,gBAAgB,GAAA,CAAA;SAC5B,CAAC,CAAC;KACJ;;;;;IAED,SAAS,oBAAoB,CAAC,WAAgD;;;;;QAK5E,IAAI;YACF,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI;;;YAAC;gBACrB,eAAe,CAAC,WAAW,CAAC,CAAC;aAC9B,EAAC,CAAC;SACJ;QAAC,WAAM;;;YAGNC,YAAO,CAAC,OAAO;gBACbA,YAAO,CAAC,OAAO,CAAC,QAAQ;gBACxBA,YAAO,CAAC,OAAO,CAAC,QAAQ;;;gBAAC;oBACvB,eAAe,CAAC,WAAW,CAAC,CAAC;iBAC9B,EAAC,CAAC;SACN;KACF;;;;IAQD,yBAEC;;;QADC,6BAAwB;;;;;IAG1B,kDAUC;;;QARC,oDAAmB;;QAEnB,oDAAmB;;QAEnB,mDAAkB;;QAElB,mDAAkB;;;;;;;IAIpB,8BAGC;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ngxs-store-internals.umd.js","sources":["ng://@ngxs/store/internals/angular.ts","ng://@ngxs/store/internals/ngxs-bootstrapper.ts","ng://@ngxs/store/internals/memoize.ts","ng://@ngxs/store/internals/initial-state.ts","ng://@ngxs/store/internals/internal-tokens.ts"],"sourcesContent":["declare const __karma__: unknown;\ndeclare const jasmine: unknown;\ndeclare const jest: unknown;\ndeclare const Mocha: unknown;\n\nexport function isAngularInTestMode(): boolean {\n // This is safe to check for these properties in the following way since `typeof` does not\n // throw an exception if the value does not exist in the scope.\n // We should not try to read these values from the global scope (e.g. `ɵglobal` from the `@angular/core`).\n // This is related to how these frameworks compile and execute modules. E.g. Jest wraps the module into\n // its internal code where `jest` variable exists in the scope. It cannot be read from the global scope, e.g.\n // this will return undefined `global.jest`, but `jest` will not equal undefined.\n return (\n typeof __karma__ !== 'undefined' ||\n typeof jasmine !== 'undefined' ||\n typeof jest !== 'undefined' ||\n typeof Mocha !== 'undefined'\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject } from 'rxjs';\n\n@Injectable()\nexport class NgxsBootstrapper {\n /**\n * Use `ReplaySubject`, thus we can get cached value even if the stream is completed\n */\n private bootstrap$ = new ReplaySubject<boolean>(1);\n\n get appBootstrapped$(): Observable<boolean> {\n return this.bootstrap$.asObservable();\n }\n\n /**\n * This event will be emitted after attaching `ComponentRef` of the root component\n * to the tree of views, that's a signal that application has been fully rendered\n */\n bootstrap(): void {\n this.bootstrap$.next(true);\n this.bootstrap$.complete();\n }\n}\n","function defaultEqualityCheck(a: any, b: any) {\n return a === b;\n}\n\nfunction areArgumentsShallowlyEqual(\n equalityCheck: (a: any, b: any) => boolean,\n prev: IArguments | null,\n next: IArguments | null\n) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n }\n\n // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n const length = prev.length;\n for (let i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Memoize a function on its last inputs only.\n * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js\n *\n * @ignore\n */\nexport function memoize<T extends (...args: any[]) => any>(\n func: T,\n equalityCheck = defaultEqualityCheck\n): T {\n let lastArgs: IArguments | null = null;\n let lastResult: any = null;\n // we reference arguments instead of spreading them for performance reasons\n function memoized() {\n if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {\n // apply arguments instead of spreading for performance.\n lastResult = (<Function>func).apply(null, arguments);\n }\n\n lastArgs = arguments;\n return lastResult;\n }\n (<any>memoized).reset = function() {\n // The hidden (for now) ability to reset the memoization\n lastArgs = null;\n lastResult = null;\n };\n return memoized as T;\n}\n","import { InjectionToken } from '@angular/core';\nimport { PlainObject } from './symbols';\n\nexport const INITIAL_STATE_TOKEN = new InjectionToken<any>('INITIAL_STATE_TOKEN');\n\nexport class InitialState {\n private static value: PlainObject = {};\n\n public static set(state: PlainObject) {\n this.value = state;\n }\n\n public static pop(): PlainObject {\n const state: PlainObject = this.value;\n this.value = {};\n return state;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\n/**\n * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally\n */\nexport const NGXS_STATE_CONTEXT_FACTORY: InjectionToken<any> = new InjectionToken(\n 'Internals.StateContextFactory'\n);\n\n/**\n * @see StateFactory as it's referenced by this token to be accessed by plugins internally\n */\nexport const NGXS_STATE_FACTORY: InjectionToken<any> = new InjectionToken(\n 'Internals.StateFactory'\n);\n"],"names":["ReplaySubject","Injectable","InjectionToken"],"mappings":";;;;;;;;;;;;;IAKA,SAAgB,mBAAmB;;;;;;;QAOjC,QACE,OAAO,SAAS,KAAK,WAAW;YAChC,OAAO,OAAO,KAAK,WAAW;YAC9B,OAAO,IAAI,KAAK,WAAW;YAC3B,OAAO,KAAK,KAAK,WAAW,EAC5B;KACH;;;;;;AClBD;QAGA;;;;YAKU,eAAU,GAAG,IAAIA,kBAAa,CAAU,CAAC,CAAC,CAAC;SAcpD;QAZC,sBAAI,8CAAgB;;;;YAApB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;aACvC;;;WAAA;;;;;;;;;;QAMD,oCAAS;;;;;QAAT;YACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC5B;;oBAlBFC,eAAU;;QAmBX,uBAAC;KAnBD,IAmBC;;;;;;;QAdC,sCAAmD;;;;;;;;;;;;ICRrD,SAAS,oBAAoB,CAAC,CAAM,EAAE,CAAM;QAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;KAChB;;;;;;;IAED,SAAS,0BAA0B,CACjC,aAA0C,EAC1C,IAAuB,EACvB,IAAuB;QAEvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACjE,OAAO,KAAK,CAAC;SACd;;;YAGK,MAAM,GAAG,IAAI,CAAC,MAAM;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpC,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;KACb;;;;;;;;;;;IAQD,SAAgB,OAAO,CACrB,IAAO,EACP,aAAoC;QAApC,8BAAA,EAAA,oCAAoC;;YAEhC,QAAQ,GAAsB,IAAI;;YAClC,UAAU,GAAQ,IAAI;;;;;QAE1B,SAAS,QAAQ;YACf,IAAI,CAAC,0BAA0B,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;;gBAEnE,UAAU,GAAG,oBAAW,IAAI,IAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACtD;YAED,QAAQ,GAAG,SAAS,CAAC;YACrB,OAAO,UAAU,CAAC;SACnB;QACD,oBAAM,QAAQ,IAAE,KAAK;;;QAAG;;YAEtB,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;SACnB,CAAA,CAAC;QACF,0BAAO,QAAQ,GAAM;KACtB;;;;;;ICpDD;AAGA,QAAa,mBAAmB,GAAG,IAAIC,mBAAc,CAAM,qBAAqB,CAAC;AAEjF;QAAA;SAYC;;;;;QATe,gBAAG;;;;QAAjB,UAAkB,KAAkB;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;;;;QAEa,gBAAG;;;QAAjB;;gBACQ,KAAK,GAAgB,IAAI,CAAC,KAAK;YACrC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;SACd;QAVc,kBAAK,GAAgB,EAAE,CAAC;QAWzC,mBAAC;KAZD,IAYC;;;;;;QAXC,mBAAuC;;;;;;;ICNzC;;;;AAKA,QAAa,0BAA0B,GAAwB,IAAIA,mBAAc,CAC/E,+BAA+B,CAChC;;;;;AAKD,QAAa,kBAAkB,GAAwB,IAAIA,mBAAc,CACvE,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;"}