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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals.umd.js +210 -210
  3. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-operators.umd.js +326 -321
  6. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  7. package/bundles/ngxs-store-operators.umd.min.js +10 -10
  8. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store.umd.js +4401 -4386
  10. package/bundles/ngxs-store.umd.js.map +1 -1
  11. package/bundles/ngxs-store.umd.min.js +11 -11
  12. package/bundles/ngxs-store.umd.min.js.map +1 -1
  13. package/esm2015/index.js +13 -13
  14. package/esm2015/internals/angular.js +40 -40
  15. package/esm2015/internals/index.js +10 -10
  16. package/esm2015/internals/initial-state.js +34 -34
  17. package/esm2015/internals/internal-tokens.js +16 -16
  18. package/esm2015/internals/memoize.js +70 -70
  19. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  20. package/esm2015/internals/ngxs-store-internals.js +8 -8
  21. package/esm2015/internals/src/symbols.js +14 -14
  22. package/esm2015/internals/symbols.js +14 -14
  23. package/esm2015/ngxs-store.js +25 -25
  24. package/esm2015/operators/append.js +31 -31
  25. package/esm2015/operators/compose.js +24 -24
  26. package/esm2015/operators/iif.js +56 -56
  27. package/esm2015/operators/index.js +18 -18
  28. package/esm2015/operators/insert-item.js +41 -41
  29. package/esm2015/operators/internals.js +5 -5
  30. package/esm2015/operators/ngxs-store-operators.js +8 -8
  31. package/esm2015/operators/patch.js +39 -39
  32. package/esm2015/operators/remove-item.js +34 -34
  33. package/esm2015/operators/update-item.js +52 -52
  34. package/esm2015/operators/utils.js +50 -50
  35. package/esm2015/src/actions/actions.js +39 -39
  36. package/esm2015/src/actions/symbols.js +39 -39
  37. package/esm2015/src/actions-stream.js +140 -140
  38. package/esm2015/src/configs/messages.config.js +87 -87
  39. package/esm2015/src/decorators/action.js +44 -44
  40. package/esm2015/src/decorators/select/select-factory.js +39 -39
  41. package/esm2015/src/decorators/select/select.js +45 -46
  42. package/esm2015/src/decorators/select/symbols.js +50 -50
  43. package/esm2015/src/decorators/selector/selector.js +55 -55
  44. package/esm2015/src/decorators/selector/symbols.js +5 -5
  45. package/esm2015/src/decorators/selector-options.js +34 -34
  46. package/esm2015/src/decorators/state.js +75 -75
  47. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -96
  48. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  49. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  50. package/esm2015/src/execution/symbols.js +29 -29
  51. package/esm2015/src/host-environment/host-environment.js +31 -31
  52. package/esm2015/src/internal/config-validator.js +67 -67
  53. package/esm2015/src/internal/dispatcher.js +210 -202
  54. package/esm2015/src/internal/internals.js +489 -489
  55. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  56. package/esm2015/src/internal/state-context-factory.js +138 -138
  57. package/esm2015/src/internal/state-factory.js +401 -392
  58. package/esm2015/src/internal/state-operations.js +125 -125
  59. package/esm2015/src/internal/state-operators.js +33 -33
  60. package/esm2015/src/internal/state-stream.js +21 -21
  61. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -34
  62. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
  63. package/esm2015/src/module.js +171 -171
  64. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  65. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  66. package/esm2015/src/operators/leave-ngxs.js +58 -58
  67. package/esm2015/src/operators/of-action.js +191 -188
  68. package/esm2015/src/plugin-manager.js +70 -70
  69. package/esm2015/src/plugin_api.js +10 -10
  70. package/esm2015/src/public_api.js +29 -29
  71. package/esm2015/src/public_to_deprecate.js +64 -64
  72. package/esm2015/src/state-token/state-token.js +45 -45
  73. package/esm2015/src/state-token/symbols.js +5 -5
  74. package/esm2015/src/store.js +174 -174
  75. package/esm2015/src/symbols.js +221 -221
  76. package/esm2015/src/utils/compose.js +44 -44
  77. package/esm2015/src/utils/freeze.js +35 -35
  78. package/esm2015/src/utils/selector-utils.js +221 -221
  79. package/esm2015/src/utils/store-validators.js +65 -65
  80. package/esm2015/src/utils/utils.js +95 -93
  81. package/esm5/index.js +13 -13
  82. package/esm5/internals/angular.js +40 -40
  83. package/esm5/internals/index.js +10 -10
  84. package/esm5/internals/initial-state.js +45 -45
  85. package/esm5/internals/internal-tokens.js +16 -16
  86. package/esm5/internals/memoize.js +71 -71
  87. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  88. package/esm5/internals/ngxs-store-internals.js +8 -8
  89. package/esm5/internals/src/symbols.js +14 -14
  90. package/esm5/internals/symbols.js +14 -14
  91. package/esm5/ngxs-store.js +25 -25
  92. package/esm5/operators/append.js +31 -31
  93. package/esm5/operators/compose.js +28 -28
  94. package/esm5/operators/iif.js +56 -56
  95. package/esm5/operators/index.js +18 -18
  96. package/esm5/operators/insert-item.js +41 -41
  97. package/esm5/operators/internals.js +5 -5
  98. package/esm5/operators/ngxs-store-operators.js +8 -8
  99. package/esm5/operators/patch.js +40 -40
  100. package/esm5/operators/remove-item.js +34 -34
  101. package/esm5/operators/update-item.js +52 -52
  102. package/esm5/operators/utils.js +50 -50
  103. package/esm5/src/actions/actions.js +62 -62
  104. package/esm5/src/actions/symbols.js +39 -39
  105. package/esm5/src/actions-stream.js +186 -186
  106. package/esm5/src/configs/messages.config.js +104 -104
  107. package/esm5/src/decorators/action.js +56 -56
  108. package/esm5/src/decorators/select/select-factory.js +37 -37
  109. package/esm5/src/decorators/select/select.js +50 -51
  110. package/esm5/src/decorators/select/symbols.js +51 -51
  111. package/esm5/src/decorators/selector/selector.js +55 -55
  112. package/esm5/src/decorators/selector/symbols.js +5 -5
  113. package/esm5/src/decorators/selector-options.js +34 -34
  114. package/esm5/src/decorators/state.js +76 -76
  115. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  116. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  117. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  118. package/esm5/src/execution/symbols.js +29 -29
  119. package/esm5/src/host-environment/host-environment.js +29 -29
  120. package/esm5/src/internal/config-validator.js +76 -76
  121. package/esm5/src/internal/dispatcher.js +246 -238
  122. package/esm5/src/internal/internals.js +491 -491
  123. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  124. package/esm5/src/internal/state-context-factory.js +146 -146
  125. package/esm5/src/internal/state-factory.js +528 -519
  126. package/esm5/src/internal/state-operations.js +139 -139
  127. package/esm5/src/internal/state-operators.js +34 -34
  128. package/esm5/src/internal/state-stream.js +25 -25
  129. package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -34
  130. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
  131. package/esm5/src/module.js +214 -214
  132. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  133. package/esm5/src/modules/ngxs-root.module.js +47 -47
  134. package/esm5/src/operators/leave-ngxs.js +58 -58
  135. package/esm5/src/operators/of-action.js +217 -214
  136. package/esm5/src/plugin-manager.js +82 -82
  137. package/esm5/src/plugin_api.js +10 -10
  138. package/esm5/src/public_api.js +29 -29
  139. package/esm5/src/public_to_deprecate.js +64 -64
  140. package/esm5/src/state-token/state-token.js +57 -57
  141. package/esm5/src/state-token/symbols.js +5 -5
  142. package/esm5/src/store.js +225 -225
  143. package/esm5/src/symbols.js +230 -230
  144. package/esm5/src/utils/compose.js +55 -55
  145. package/esm5/src/utils/freeze.js +35 -35
  146. package/esm5/src/utils/selector-utils.js +230 -230
  147. package/esm5/src/utils/store-validators.js +86 -86
  148. package/esm5/src/utils/utils.js +98 -96
  149. package/fesm2015/ngxs-store-internals.js +191 -191
  150. package/fesm2015/ngxs-store-internals.js.map +1 -1
  151. package/fesm2015/ngxs-store-operators.js +312 -312
  152. package/fesm2015/ngxs-store-operators.js.map +1 -1
  153. package/fesm2015/ngxs-store.js +3878 -3868
  154. package/fesm2015/ngxs-store.js.map +1 -1
  155. package/fesm5/ngxs-store-internals.js +216 -216
  156. package/fesm5/ngxs-store-internals.js.map +1 -1
  157. package/fesm5/ngxs-store-operators.js +316 -316
  158. package/fesm5/ngxs-store-operators.js.map +1 -1
  159. package/fesm5/ngxs-store.js +4397 -4387
  160. package/fesm5/ngxs-store.js.map +1 -1
  161. package/index.d.ts +8 -8
  162. package/internals/angular.d.ts +3 -3
  163. package/internals/index.d.ts +6 -6
  164. package/internals/initial-state.d.ts +8 -8
  165. package/internals/internal-tokens.d.ts +9 -9
  166. package/internals/memoize.d.ts +9 -9
  167. package/internals/ngxs-bootstrapper.d.ts +13 -13
  168. package/internals/ngxs-store-internals.d.ts +4 -4
  169. package/internals/src/symbols.d.ts +7 -7
  170. package/internals/symbols.d.ts +7 -7
  171. package/ngxs-store.d.ts +22 -22
  172. package/ngxs-store.metadata.json +1 -1
  173. package/operators/append.d.ts +6 -6
  174. package/operators/compose.d.ts +2 -2
  175. package/operators/iif.d.ts +11 -11
  176. package/operators/index.d.ts +13 -13
  177. package/operators/insert-item.d.ts +7 -7
  178. package/operators/internals.d.ts +2 -2
  179. package/operators/ngxs-store-operators.d.ts +4 -4
  180. package/operators/patch.d.ts +10 -10
  181. package/operators/remove-item.d.ts +7 -7
  182. package/operators/update-item.d.ts +10 -10
  183. package/operators/utils.d.ts +9 -9
  184. package/package.json +4 -4
  185. package/src/actions/actions.d.ts +15 -15
  186. package/src/actions/symbols.d.ts +21 -21
  187. package/src/actions-stream.d.ts +49 -49
  188. package/src/configs/messages.config.d.ts +30 -30
  189. package/src/decorators/action.d.ts +5 -5
  190. package/src/decorators/select/select-factory.d.ts +12 -12
  191. package/src/decorators/select/select.d.ts +4 -5
  192. package/src/decorators/select/symbols.d.ts +10 -14
  193. package/src/decorators/selector/selector.d.ts +5 -5
  194. package/src/decorators/selector/symbols.d.ts +4 -4
  195. package/src/decorators/selector-options.d.ts +5 -5
  196. package/src/decorators/state.d.ts +6 -6
  197. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -12
  198. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  199. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  200. package/src/execution/symbols.d.ts +6 -6
  201. package/src/host-environment/host-environment.d.ts +6 -6
  202. package/src/internal/config-validator.d.ts +10 -10
  203. package/src/internal/dispatcher.d.ts +31 -31
  204. package/src/internal/internals.d.ts +167 -167
  205. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  206. package/src/internal/state-context-factory.d.ts +15 -15
  207. package/src/internal/state-factory.d.ts +57 -57
  208. package/src/internal/state-operations.d.ts +21 -21
  209. package/src/internal/state-operators.d.ts +2 -2
  210. package/src/internal/state-stream.d.ts +9 -9
  211. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -6
  212. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -14
  213. package/src/module.d.ts +23 -23
  214. package/src/modules/ngxs-feature.module.d.ts +13 -13
  215. package/src/modules/ngxs-root.module.d.ts +13 -13
  216. package/src/operators/leave-ngxs.d.ts +7 -7
  217. package/src/operators/of-action.d.ts +43 -42
  218. package/src/plugin-manager.d.ts +10 -10
  219. package/src/plugin_api.d.ts +5 -5
  220. package/src/public_api.d.ts +17 -17
  221. package/src/public_to_deprecate.d.ts +21 -21
  222. package/src/state-token/state-token.d.ts +7 -7
  223. package/src/state-token/symbols.d.ts +5 -5
  224. package/src/store.d.ts +53 -53
  225. package/src/symbols.d.ts +137 -137
  226. package/src/utils/compose.d.ts +23 -23
  227. package/src/utils/freeze.d.ts +5 -5
  228. package/src/utils/selector-utils.d.ts +23 -23
  229. package/src/utils/store-validators.d.ts +8 -8
  230. package/src/utils/utils.d.ts +29 -29
  231. package/types/index.d.ts +2 -2
@@ -1,234 +1,234 @@
1
1
  import { getPlatform, COMPILER_OPTIONS, Injectable, InjectionToken } from '@angular/core';
2
2
  import { ReplaySubject } from 'rxjs';
3
3
 
4
- /**
5
- * @fileoverview added by tsickle
6
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7
- */
8
- /**
9
- * @param {?} a
10
- * @param {?} b
11
- * @return {?}
12
- */
13
- function defaultEqualityCheck(a, b) {
14
- return a === b;
15
- }
16
- /**
17
- * @param {?} equalityCheck
18
- * @param {?} prev
19
- * @param {?} next
20
- * @return {?}
21
- */
22
- function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
23
- if (prev === null || next === null || prev.length !== next.length) {
24
- return false;
25
- }
26
- // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
27
- /** @type {?} */
28
- var length = prev.length;
29
- for (var i = 0; i < length; i++) {
30
- if (!equalityCheck(prev[i], next[i])) {
31
- return false;
32
- }
33
- }
34
- return true;
35
- }
36
- /**
37
- * Memoize a function on its last inputs only.
38
- * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
39
- *
40
- * @ignore
41
- * @template T
42
- * @param {?} func
43
- * @param {?=} equalityCheck
44
- * @return {?}
45
- */
46
- function memoize(func, equalityCheck) {
47
- if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
48
- /** @type {?} */
49
- var lastArgs = null;
50
- /** @type {?} */
51
- var lastResult = null;
52
- // we reference arguments instead of spreading them for performance reasons
53
- /**
54
- * @return {?}
55
- */
56
- function memoized() {
57
- if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
58
- // apply arguments instead of spreading for performance.
59
- lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
60
- }
61
- lastArgs = arguments;
62
- return lastResult;
63
- }
64
- ((/** @type {?} */ (memoized))).reset = (/**
65
- * @return {?}
66
- */
67
- function () {
68
- // The hidden (for now) ability to reset the memoization
69
- lastArgs = null;
70
- lastResult = null;
71
- });
72
- return (/** @type {?} */ (memoized));
4
+ /**
5
+ * @fileoverview added by tsickle
6
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
7
+ */
8
+ /**
9
+ * @param {?} a
10
+ * @param {?} b
11
+ * @return {?}
12
+ */
13
+ function defaultEqualityCheck(a, b) {
14
+ return a === b;
15
+ }
16
+ /**
17
+ * @param {?} equalityCheck
18
+ * @param {?} prev
19
+ * @param {?} next
20
+ * @return {?}
21
+ */
22
+ function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
23
+ if (prev === null || next === null || prev.length !== next.length) {
24
+ return false;
25
+ }
26
+ // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
27
+ /** @type {?} */
28
+ var length = prev.length;
29
+ for (var i = 0; i < length; i++) {
30
+ if (!equalityCheck(prev[i], next[i])) {
31
+ return false;
32
+ }
33
+ }
34
+ return true;
35
+ }
36
+ /**
37
+ * Memoize a function on its last inputs only.
38
+ * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
39
+ *
40
+ * @ignore
41
+ * @template T
42
+ * @param {?} func
43
+ * @param {?=} equalityCheck
44
+ * @return {?}
45
+ */
46
+ function memoize(func, equalityCheck) {
47
+ if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
48
+ /** @type {?} */
49
+ var lastArgs = null;
50
+ /** @type {?} */
51
+ var lastResult = null;
52
+ // we reference arguments instead of spreading them for performance reasons
53
+ /**
54
+ * @return {?}
55
+ */
56
+ function memoized() {
57
+ if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
58
+ // apply arguments instead of spreading for performance.
59
+ lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
60
+ }
61
+ lastArgs = arguments;
62
+ return lastResult;
63
+ }
64
+ ((/** @type {?} */ (memoized))).reset = (/**
65
+ * @return {?}
66
+ */
67
+ function () {
68
+ // The hidden (for now) ability to reset the memoization
69
+ lastArgs = null;
70
+ lastResult = null;
71
+ });
72
+ return (/** @type {?} */ (memoized));
73
73
  }
74
74
 
75
- /**
76
- * @fileoverview added by tsickle
77
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
78
- */
79
- /**
80
- * @return {?}
81
- */
82
- function _isAngularInTestMode() {
83
- /** @type {?} */
84
- var platformRef = getPlatform();
85
- if (!platformRef)
86
- return false;
87
- /** @type {?} */
88
- var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
89
- if (!compilerOptions)
90
- return false;
91
- /** @type {?} */
92
- var isInTestMode = compilerOptions.some((/**
93
- * @param {?} item
94
- * @return {?}
95
- */
96
- function (item) {
97
- /** @type {?} */
98
- var providers = (item && item.providers) || [];
99
- return providers.some((/**
100
- * @param {?} provider
101
- * @return {?}
102
- */
103
- function (provider) {
104
- return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
105
- false);
106
- }));
107
- }));
108
- return isInTestMode;
109
- }
110
- /** @type {?} */
75
+ /**
76
+ * @fileoverview added by tsickle
77
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
78
+ */
79
+ /**
80
+ * @return {?}
81
+ */
82
+ function _isAngularInTestMode() {
83
+ /** @type {?} */
84
+ var platformRef = getPlatform();
85
+ if (!platformRef)
86
+ return false;
87
+ /** @type {?} */
88
+ var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
89
+ if (!compilerOptions)
90
+ return false;
91
+ /** @type {?} */
92
+ var isInTestMode = compilerOptions.some((/**
93
+ * @param {?} item
94
+ * @return {?}
95
+ */
96
+ function (item) {
97
+ /** @type {?} */
98
+ var providers = (item && item.providers) || [];
99
+ return providers.some((/**
100
+ * @param {?} provider
101
+ * @return {?}
102
+ */
103
+ function (provider) {
104
+ return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
105
+ false);
106
+ }));
107
+ }));
108
+ return isInTestMode;
109
+ }
110
+ /** @type {?} */
111
111
  var isAngularInTestMode = memoize(_isAngularInTestMode);
112
112
 
113
- /**
114
- * @fileoverview added by tsickle
115
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
116
- */
117
- var NgxsBootstrapper = /** @class */ (function () {
118
- function NgxsBootstrapper() {
119
- /**
120
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
121
- */
122
- this.bootstrap$ = new ReplaySubject(1);
123
- }
124
- Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
125
- get: /**
126
- * @return {?}
127
- */
128
- function () {
129
- return this.bootstrap$.asObservable();
130
- },
131
- enumerable: true,
132
- configurable: true
133
- });
134
- /**
135
- * This event will be emitted after attaching `ComponentRef` of the root component
136
- * to the tree of views, that's a signal that application has been fully rendered
137
- */
138
- /**
139
- * This event will be emitted after attaching `ComponentRef` of the root component
140
- * to the tree of views, that's a signal that application has been fully rendered
141
- * @return {?}
142
- */
143
- NgxsBootstrapper.prototype.bootstrap = /**
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
- * @return {?}
147
- */
148
- function () {
149
- this.bootstrap$.next(true);
150
- this.bootstrap$.complete();
151
- };
152
- NgxsBootstrapper.decorators = [
153
- { type: Injectable }
154
- ];
155
- return NgxsBootstrapper;
156
- }());
157
- if (false) {
158
- /**
159
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
160
- * @type {?}
161
- * @private
162
- */
163
- NgxsBootstrapper.prototype.bootstrap$;
113
+ /**
114
+ * @fileoverview added by tsickle
115
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
116
+ */
117
+ var NgxsBootstrapper = /** @class */ (function () {
118
+ function NgxsBootstrapper() {
119
+ /**
120
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
121
+ */
122
+ this.bootstrap$ = new ReplaySubject(1);
123
+ }
124
+ Object.defineProperty(NgxsBootstrapper.prototype, "appBootstrapped$", {
125
+ get: /**
126
+ * @return {?}
127
+ */
128
+ function () {
129
+ return this.bootstrap$.asObservable();
130
+ },
131
+ enumerable: true,
132
+ configurable: true
133
+ });
134
+ /**
135
+ * This event will be emitted after attaching `ComponentRef` of the root component
136
+ * to the tree of views, that's a signal that application has been fully rendered
137
+ */
138
+ /**
139
+ * This event will be emitted after attaching `ComponentRef` of the root component
140
+ * to the tree of views, that's a signal that application has been fully rendered
141
+ * @return {?}
142
+ */
143
+ NgxsBootstrapper.prototype.bootstrap = /**
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
+ * @return {?}
147
+ */
148
+ function () {
149
+ this.bootstrap$.next(true);
150
+ this.bootstrap$.complete();
151
+ };
152
+ NgxsBootstrapper.decorators = [
153
+ { type: Injectable }
154
+ ];
155
+ return NgxsBootstrapper;
156
+ }());
157
+ if (false) {
158
+ /**
159
+ * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
160
+ * @type {?}
161
+ * @private
162
+ */
163
+ NgxsBootstrapper.prototype.bootstrap$;
164
164
  }
165
165
 
166
- /**
167
- * @fileoverview added by tsickle
168
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
169
- */
170
- /** @type {?} */
171
- var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
172
- var InitialState = /** @class */ (function () {
173
- function InitialState() {
174
- }
175
- /**
176
- * @param {?} state
177
- * @return {?}
178
- */
179
- InitialState.set = /**
180
- * @param {?} state
181
- * @return {?}
182
- */
183
- function (state) {
184
- this.value = state;
185
- };
186
- /**
187
- * @return {?}
188
- */
189
- InitialState.pop = /**
190
- * @return {?}
191
- */
192
- function () {
193
- /** @type {?} */
194
- var state = this.value;
195
- this.value = {};
196
- return state;
197
- };
198
- InitialState.value = {};
199
- return InitialState;
200
- }());
201
- if (false) {
202
- /**
203
- * @type {?}
204
- * @private
205
- */
206
- InitialState.value;
166
+ /**
167
+ * @fileoverview added by tsickle
168
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
169
+ */
170
+ /** @type {?} */
171
+ var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
172
+ var InitialState = /** @class */ (function () {
173
+ function InitialState() {
174
+ }
175
+ /**
176
+ * @param {?} state
177
+ * @return {?}
178
+ */
179
+ InitialState.set = /**
180
+ * @param {?} state
181
+ * @return {?}
182
+ */
183
+ function (state) {
184
+ this.value = state;
185
+ };
186
+ /**
187
+ * @return {?}
188
+ */
189
+ InitialState.pop = /**
190
+ * @return {?}
191
+ */
192
+ function () {
193
+ /** @type {?} */
194
+ var state = this.value;
195
+ this.value = {};
196
+ return state;
197
+ };
198
+ InitialState.value = {};
199
+ return InitialState;
200
+ }());
201
+ if (false) {
202
+ /**
203
+ * @type {?}
204
+ * @private
205
+ */
206
+ InitialState.value;
207
207
  }
208
208
 
209
- /**
210
- * @fileoverview added by tsickle
211
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
212
- */
213
- /**
214
- * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
215
- * @type {?}
216
- */
217
- var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
218
- /**
219
- * @see StateFactory as it's referenced by this token to be accessed by plugins internally
220
- * @type {?}
221
- */
209
+ /**
210
+ * @fileoverview added by tsickle
211
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
212
+ */
213
+ /**
214
+ * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
215
+ * @type {?}
216
+ */
217
+ var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
218
+ /**
219
+ * @see StateFactory as it's referenced by this token to be accessed by plugins internally
220
+ * @type {?}
221
+ */
222
222
  var NGXS_STATE_FACTORY = new InjectionToken('Internals.StateFactory');
223
223
 
224
- /**
225
- * @fileoverview added by tsickle
226
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
224
+ /**
225
+ * @fileoverview added by tsickle
226
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
227
227
  */
228
228
 
229
- /**
230
- * @fileoverview added by tsickle
231
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
229
+ /**
230
+ * @fileoverview added by tsickle
231
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
232
232
  */
233
233
 
234
234
  export { INITIAL_STATE_TOKEN, InitialState, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, NgxsBootstrapper, isAngularInTestMode, memoize };
@@ -1 +1 @@
1
- {"version":3,"file":"ngxs-store-internals.js","sources":["ng://@ngxs/store/internals/memoize.ts","ng://@ngxs/store/internals/angular.ts","ng://@ngxs/store/internals/ngxs-bootstrapper.ts","ng://@ngxs/store/internals/initial-state.ts","ng://@ngxs/store/internals/internal-tokens.ts"],"sourcesContent":["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 { getPlatform, COMPILER_OPTIONS, CompilerOptions, PlatformRef } from '@angular/core';\nimport { memoize } from './memoize';\n\nfunction _isAngularInTestMode() {\n const platformRef: PlatformRef | null = getPlatform();\n if (!platformRef) return false;\n const compilerOptions = platformRef.injector.get<any>(COMPILER_OPTIONS, null);\n if (!compilerOptions) return false;\n const isInTestMode = compilerOptions.some((item: CompilerOptions) => {\n const providers = (item && item.providers) || [];\n return providers.some((provider: any) => {\n return (\n (provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||\n false\n );\n });\n });\n return isInTestMode;\n}\n\nexport const isAngularInTestMode = memoize(_isAngularInTestMode);\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","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":[],"mappings":"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"}
1
+ {"version":3,"file":"ngxs-store-internals.js","sources":["ng://@ngxs/store/internals/memoize.ts","ng://@ngxs/store/internals/angular.ts","ng://@ngxs/store/internals/ngxs-bootstrapper.ts","ng://@ngxs/store/internals/initial-state.ts","ng://@ngxs/store/internals/internal-tokens.ts"],"sourcesContent":["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 { getPlatform, COMPILER_OPTIONS, CompilerOptions, PlatformRef } from '@angular/core';\r\nimport { memoize } from './memoize';\r\n\r\nfunction _isAngularInTestMode() {\r\n const platformRef: PlatformRef | null = getPlatform();\r\n if (!platformRef) return false;\r\n const compilerOptions = platformRef.injector.get<any>(COMPILER_OPTIONS, null);\r\n if (!compilerOptions) return false;\r\n const isInTestMode = compilerOptions.some((item: CompilerOptions) => {\r\n const providers = (item && item.providers) || [];\r\n return providers.some((provider: any) => {\r\n return (\r\n (provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||\r\n false\r\n );\r\n });\r\n });\r\n return isInTestMode;\r\n}\r\n\r\nexport const isAngularInTestMode = memoize(_isAngularInTestMode);\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","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"],"names":[],"mappings":"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"}