@ngxs/store 3.7.2 → 3.7.3-dev.master-1e7127b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +475 -0
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -0
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +16 -0
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -0
  6. package/bundles/ngxs-store-internals.umd.js +380 -211
  7. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  9. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  10. package/bundles/ngxs-store-operators.umd.js +310 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  13. package/bundles/ngxs-store.umd.js +4402 -4518
  14. package/bundles/ngxs-store.umd.js.map +1 -1
  15. package/bundles/ngxs-store.umd.min.js +1 -1
  16. package/bundles/ngxs-store.umd.min.js.map +1 -1
  17. package/esm2015/index.js +13 -13
  18. package/esm2015/internals/angular.js +46 -40
  19. package/esm2015/internals/decorator-injector-adapter.js +162 -0
  20. package/esm2015/internals/index.js +11 -10
  21. package/esm2015/internals/initial-state.js +34 -34
  22. package/esm2015/internals/internal-tokens.js +16 -16
  23. package/esm2015/internals/memoize.js +70 -70
  24. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  25. package/esm2015/internals/ngxs-store-internals.js +9 -9
  26. package/esm2015/internals/src/symbols.js +14 -14
  27. package/esm2015/internals/symbols.js +14 -14
  28. package/esm2015/internals/testing/fresh-platform.js +90 -0
  29. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -0
  30. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -0
  31. package/esm2015/internals/testing/index.js +7 -0
  32. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -0
  33. package/esm2015/internals/testing/ngxs.setup.js +76 -0
  34. package/esm2015/internals/testing/symbol.js +29 -0
  35. package/esm2015/ngxs-store.js +24 -27
  36. package/esm2015/operators/append.js +31 -31
  37. package/esm2015/operators/compose.js +24 -24
  38. package/esm2015/operators/iif.js +56 -56
  39. package/esm2015/operators/index.js +18 -18
  40. package/esm2015/operators/insert-item.js +41 -41
  41. package/esm2015/operators/internals.js +5 -5
  42. package/esm2015/operators/ngxs-store-operators.js +8 -8
  43. package/esm2015/operators/patch.js +39 -39
  44. package/esm2015/operators/remove-item.js +34 -34
  45. package/esm2015/operators/update-item.js +52 -52
  46. package/esm2015/operators/utils.js +50 -50
  47. package/esm2015/src/actions/actions.js +39 -39
  48. package/esm2015/src/actions/symbols.js +39 -39
  49. package/esm2015/src/actions-stream.js +138 -140
  50. package/esm2015/src/configs/messages.config.js +79 -87
  51. package/esm2015/src/decorators/action.js +48 -44
  52. package/esm2015/src/decorators/select/select-factory.js +49 -46
  53. package/esm2015/src/decorators/select/select.js +60 -45
  54. package/esm2015/src/decorators/select/symbols.js +94 -50
  55. package/esm2015/src/decorators/selector/selector.js +59 -55
  56. package/esm2015/src/decorators/selector/symbols.js +5 -5
  57. package/esm2015/src/decorators/selector-options.js +34 -34
  58. package/esm2015/src/decorators/state.js +83 -75
  59. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +101 -96
  60. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  61. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  62. package/esm2015/src/execution/symbols.js +29 -29
  63. package/esm2015/src/internal/dispatcher.js +217 -217
  64. package/esm2015/src/internal/internals.js +493 -489
  65. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  66. package/esm2015/src/internal/state-context-factory.js +138 -138
  67. package/esm2015/src/internal/state-factory.js +449 -429
  68. package/esm2015/src/internal/state-operations.js +120 -125
  69. package/esm2015/src/internal/state-operators.js +33 -33
  70. package/esm2015/src/internal/state-stream.js +21 -21
  71. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  72. package/esm2015/src/module.js +158 -172
  73. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  74. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  75. package/esm2015/src/operators/leave-ngxs.js +58 -58
  76. package/esm2015/src/operators/of-action.js +191 -191
  77. package/esm2015/src/plugin-manager.js +70 -70
  78. package/esm2015/src/plugin_api.js +10 -10
  79. package/esm2015/src/public_api.js +29 -29
  80. package/esm2015/src/public_to_deprecate.js +64 -64
  81. package/esm2015/src/state-token/state-token.js +45 -45
  82. package/esm2015/src/state-token/symbols.js +5 -5
  83. package/esm2015/src/store.js +174 -174
  84. package/esm2015/src/symbols.js +217 -221
  85. package/esm2015/src/utils/compose.js +44 -44
  86. package/esm2015/src/utils/freeze.js +35 -35
  87. package/esm2015/src/utils/selector-utils.js +221 -221
  88. package/esm2015/src/utils/store-validators.js +60 -65
  89. package/esm2015/src/utils/utils.js +143 -143
  90. package/esm5/index.js +13 -13
  91. package/esm5/internals/angular.js +46 -40
  92. package/esm5/internals/decorator-injector-adapter.js +162 -0
  93. package/esm5/internals/index.js +11 -10
  94. package/esm5/internals/initial-state.js +45 -45
  95. package/esm5/internals/internal-tokens.js +16 -16
  96. package/esm5/internals/memoize.js +71 -71
  97. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  98. package/esm5/internals/ngxs-store-internals.js +9 -9
  99. package/esm5/internals/src/symbols.js +14 -14
  100. package/esm5/internals/symbols.js +14 -14
  101. package/esm5/internals/testing/fresh-platform.js +101 -0
  102. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -0
  103. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -0
  104. package/esm5/internals/testing/index.js +7 -0
  105. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -0
  106. package/esm5/internals/testing/ngxs.setup.js +98 -0
  107. package/esm5/internals/testing/symbol.js +29 -0
  108. package/esm5/ngxs-store.js +24 -27
  109. package/esm5/operators/append.js +31 -31
  110. package/esm5/operators/compose.js +28 -28
  111. package/esm5/operators/iif.js +56 -56
  112. package/esm5/operators/index.js +18 -18
  113. package/esm5/operators/insert-item.js +41 -41
  114. package/esm5/operators/internals.js +5 -5
  115. package/esm5/operators/ngxs-store-operators.js +8 -8
  116. package/esm5/operators/patch.js +40 -40
  117. package/esm5/operators/remove-item.js +34 -34
  118. package/esm5/operators/update-item.js +52 -52
  119. package/esm5/operators/utils.js +50 -50
  120. package/esm5/src/actions/actions.js +62 -62
  121. package/esm5/src/actions/symbols.js +39 -39
  122. package/esm5/src/actions-stream.js +184 -186
  123. package/esm5/src/configs/messages.config.js +79 -104
  124. package/esm5/src/decorators/action.js +60 -56
  125. package/esm5/src/decorators/select/select-factory.js +50 -47
  126. package/esm5/src/decorators/select/select.js +65 -50
  127. package/esm5/src/decorators/select/symbols.js +95 -51
  128. package/esm5/src/decorators/selector/selector.js +59 -55
  129. package/esm5/src/decorators/selector/symbols.js +5 -5
  130. package/esm5/src/decorators/selector-options.js +34 -34
  131. package/esm5/src/decorators/state.js +84 -76
  132. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  133. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  134. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  135. package/esm5/src/execution/symbols.js +29 -29
  136. package/esm5/src/internal/dispatcher.js +253 -253
  137. package/esm5/src/internal/internals.js +495 -491
  138. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  139. package/esm5/src/internal/state-context-factory.js +146 -146
  140. package/esm5/src/internal/state-factory.js +575 -563
  141. package/esm5/src/internal/state-operations.js +130 -139
  142. package/esm5/src/internal/state-operators.js +34 -34
  143. package/esm5/src/internal/state-stream.js +25 -25
  144. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  145. package/esm5/src/module.js +201 -215
  146. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  147. package/esm5/src/modules/ngxs-root.module.js +47 -47
  148. package/esm5/src/operators/leave-ngxs.js +58 -58
  149. package/esm5/src/operators/of-action.js +217 -217
  150. package/esm5/src/plugin-manager.js +82 -82
  151. package/esm5/src/plugin_api.js +10 -10
  152. package/esm5/src/public_api.js +29 -29
  153. package/esm5/src/public_to_deprecate.js +64 -64
  154. package/esm5/src/state-token/state-token.js +57 -57
  155. package/esm5/src/state-token/symbols.js +5 -5
  156. package/esm5/src/store.js +225 -225
  157. package/esm5/src/symbols.js +226 -230
  158. package/esm5/src/utils/compose.js +55 -55
  159. package/esm5/src/utils/freeze.js +35 -35
  160. package/esm5/src/utils/selector-utils.js +230 -230
  161. package/esm5/src/utils/store-validators.js +78 -86
  162. package/esm5/src/utils/utils.js +151 -151
  163. package/fesm2015/ngxs-store-internals-testing.js +216 -0
  164. package/fesm2015/ngxs-store-internals-testing.js.map +1 -0
  165. package/fesm2015/ngxs-store-internals.js +361 -194
  166. package/fesm2015/ngxs-store-internals.js.map +1 -1
  167. package/fesm2015/ngxs-store-operators.js +312 -312
  168. package/fesm2015/ngxs-store-operators.js.map +1 -1
  169. package/fesm2015/ngxs-store.js +3907 -3976
  170. package/fesm2015/ngxs-store.js.map +1 -1
  171. package/fesm5/ngxs-store-internals-testing.js +263 -0
  172. package/fesm5/ngxs-store-internals-testing.js.map +1 -0
  173. package/fesm5/ngxs-store-internals.js +386 -219
  174. package/fesm5/ngxs-store-internals.js.map +1 -1
  175. package/fesm5/ngxs-store-operators.js +316 -316
  176. package/fesm5/ngxs-store-operators.js.map +1 -1
  177. package/fesm5/ngxs-store.js +4399 -4510
  178. package/fesm5/ngxs-store.js.map +1 -1
  179. package/index.d.ts +8 -8
  180. package/internals/angular.d.ts +3 -3
  181. package/internals/decorator-injector-adapter.d.ts +8 -0
  182. package/internals/index.d.ts +7 -6
  183. package/internals/initial-state.d.ts +8 -8
  184. package/internals/internal-tokens.d.ts +9 -9
  185. package/internals/memoize.d.ts +9 -9
  186. package/internals/ngxs-bootstrapper.d.ts +13 -13
  187. package/internals/ngxs-store-internals.d.ts +4 -4
  188. package/internals/ngxs-store-internals.metadata.json +1 -1
  189. package/internals/src/symbols.d.ts +7 -7
  190. package/internals/symbols.d.ts +7 -7
  191. package/internals/testing/fresh-platform.d.ts +1 -0
  192. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -0
  193. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -0
  194. package/internals/testing/index.d.ts +3 -0
  195. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -0
  196. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -0
  197. package/internals/testing/ngxs.setup.d.ts +7 -0
  198. package/internals/testing/package.json +13 -0
  199. package/internals/testing/symbol.d.ts +14 -0
  200. package/ngxs-store.d.ts +20 -23
  201. package/ngxs-store.metadata.json +1 -1
  202. package/operators/append.d.ts +6 -6
  203. package/operators/compose.d.ts +2 -2
  204. package/operators/iif.d.ts +11 -11
  205. package/operators/index.d.ts +13 -13
  206. package/operators/insert-item.d.ts +7 -7
  207. package/operators/internals.d.ts +2 -2
  208. package/operators/ngxs-store-operators.d.ts +4 -4
  209. package/operators/patch.d.ts +10 -10
  210. package/operators/remove-item.d.ts +7 -7
  211. package/operators/update-item.d.ts +10 -10
  212. package/operators/utils.d.ts +9 -9
  213. package/package.json +3 -3
  214. package/src/actions/actions.d.ts +15 -15
  215. package/src/actions/symbols.d.ts +21 -21
  216. package/src/actions-stream.d.ts +49 -49
  217. package/src/configs/messages.config.d.ts +11 -30
  218. package/src/decorators/action.d.ts +5 -5
  219. package/src/decorators/select/select-factory.d.ts +13 -14
  220. package/src/decorators/select/select.d.ts +4 -4
  221. package/src/decorators/select/symbols.d.ts +14 -10
  222. package/src/decorators/selector/selector.d.ts +5 -5
  223. package/src/decorators/selector/symbols.d.ts +4 -4
  224. package/src/decorators/selector-options.d.ts +5 -5
  225. package/src/decorators/state.d.ts +6 -6
  226. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  227. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  228. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  229. package/src/execution/symbols.d.ts +6 -6
  230. package/src/internal/dispatcher.d.ts +32 -32
  231. package/src/internal/internals.d.ts +166 -167
  232. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  233. package/src/internal/state-context-factory.d.ts +15 -15
  234. package/src/internal/state-factory.d.ts +57 -58
  235. package/src/internal/state-operations.d.ts +19 -21
  236. package/src/internal/state-operators.d.ts +2 -2
  237. package/src/internal/state-stream.d.ts +9 -9
  238. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  239. package/src/module.d.ts +23 -23
  240. package/src/modules/ngxs-feature.module.d.ts +13 -13
  241. package/src/modules/ngxs-root.module.d.ts +13 -13
  242. package/src/operators/leave-ngxs.d.ts +7 -7
  243. package/src/operators/of-action.d.ts +43 -43
  244. package/src/plugin-manager.d.ts +10 -10
  245. package/src/plugin_api.d.ts +5 -5
  246. package/src/public_api.d.ts +17 -17
  247. package/src/public_to_deprecate.d.ts +21 -21
  248. package/src/state-token/state-token.d.ts +7 -7
  249. package/src/state-token/symbols.d.ts +5 -5
  250. package/src/store.d.ts +53 -53
  251. package/src/symbols.d.ts +135 -137
  252. package/src/utils/compose.d.ts +23 -23
  253. package/src/utils/freeze.d.ts +5 -5
  254. package/src/utils/selector-utils.d.ts +23 -23
  255. package/src/utils/store-validators.d.ts +7 -8
  256. package/src/utils/utils.d.ts +46 -46
  257. package/types/index.d.ts +2 -2
  258. package/esm2015/src/host-environment/host-environment.js +0 -31
  259. package/esm2015/src/internal/config-validator.js +0 -67
  260. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  261. package/esm5/src/host-environment/host-environment.js +0 -29
  262. package/esm5/src/internal/config-validator.js +0 -76
  263. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  264. package/src/host-environment/host-environment.d.ts +0 -6
  265. package/src/internal/config-validator.d.ts +0 -10
  266. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -0,0 +1,263 @@
1
+ import { __spread, __awaiter, __generator } from 'tslib';
2
+ import { Component, NgModule, ApplicationRef, destroyPlatform, createPlatform } from '@angular/core';
3
+ import { TestBed } from '@angular/core/testing';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import { BrowserModule, ɵBrowserDomAdapter, ɵgetDOM } from '@angular/platform-browser';
6
+ import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
7
+ import { NgxsModule, Store } from '@ngxs/store';
8
+
9
+ /**
10
+ * @fileoverview added by tsickle
11
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12
+ */
13
+ var NgxsTestComponent = /** @class */ (function () {
14
+ function NgxsTestComponent() {
15
+ }
16
+ /**
17
+ * @return {?}
18
+ */
19
+ NgxsTestComponent.prototype.ngOnInit = /**
20
+ * @return {?}
21
+ */
22
+ function () { };
23
+ /**
24
+ * @return {?}
25
+ */
26
+ NgxsTestComponent.prototype.ngAfterViewInit = /**
27
+ * @return {?}
28
+ */
29
+ function () { };
30
+ NgxsTestComponent.decorators = [
31
+ { type: Component, args: [{
32
+ selector: 'app-root',
33
+ template: ''
34
+ }] }
35
+ ];
36
+ return NgxsTestComponent;
37
+ }());
38
+
39
+ /**
40
+ * @fileoverview added by tsickle
41
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
42
+ */
43
+ var NgxsTestModule = /** @class */ (function () {
44
+ function NgxsTestModule() {
45
+ }
46
+ /**
47
+ * @param {?} app
48
+ * @return {?}
49
+ */
50
+ NgxsTestModule.ngDoBootstrap = /**
51
+ * @param {?} app
52
+ * @return {?}
53
+ */
54
+ function (app) {
55
+ app.bootstrap(NgxsTestComponent);
56
+ };
57
+ NgxsTestModule.decorators = [
58
+ { type: NgModule, args: [{
59
+ imports: [BrowserModule],
60
+ declarations: [NgxsTestComponent],
61
+ entryComponents: [NgxsTestComponent]
62
+ },] }
63
+ ];
64
+ return NgxsTestModule;
65
+ }());
66
+
67
+ /**
68
+ * @fileoverview added by tsickle
69
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
70
+ */
71
+ var NgxsTestBed = /** @class */ (function () {
72
+ function NgxsTestBed() {
73
+ }
74
+ /**
75
+ * @param {?} options
76
+ * @return {?}
77
+ */
78
+ NgxsTestBed.configureTestingStates = /**
79
+ * @param {?} options
80
+ * @return {?}
81
+ */
82
+ function (options) {
83
+ this.resetTestBed();
84
+ if (options.before) {
85
+ options.before();
86
+ }
87
+ TestBed.configureTestingModule({
88
+ imports: __spread([
89
+ NgxsTestModule,
90
+ NgxsModule.forRoot(options.states || [], options.ngxsOptions || {})
91
+ ], (options.imports || []))
92
+ }).compileComponents();
93
+ NgxsTestBed.ngxsBootstrap();
94
+ return {
95
+ /**
96
+ * @return {?}
97
+ */
98
+ get store() {
99
+ return TestBed.inject(Store);
100
+ },
101
+ /**
102
+ * @return {?}
103
+ */
104
+ get getTestBed() {
105
+ return TestBed;
106
+ }
107
+ };
108
+ };
109
+ /**
110
+ * @private
111
+ * @return {?}
112
+ */
113
+ NgxsTestBed.ngxsBootstrap = /**
114
+ * @private
115
+ * @return {?}
116
+ */
117
+ function () {
118
+ NgxsTestBed.createRootNode();
119
+ NgxsTestModule.ngDoBootstrap(TestBed.inject(ApplicationRef));
120
+ };
121
+ /**
122
+ * @private
123
+ * @return {?}
124
+ */
125
+ NgxsTestBed.resetTestBed = /**
126
+ * @private
127
+ * @return {?}
128
+ */
129
+ function () {
130
+ TestBed.resetTestEnvironment();
131
+ TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
132
+ };
133
+ /**
134
+ * @private
135
+ * @param {?=} selector
136
+ * @return {?}
137
+ */
138
+ NgxsTestBed.createRootNode = /**
139
+ * @private
140
+ * @param {?=} selector
141
+ * @return {?}
142
+ */
143
+ function (selector) {
144
+ if (selector === void 0) { selector = 'app-root'; }
145
+ /** @type {?} */
146
+ var document = TestBed.inject(DOCUMENT);
147
+ /** @type {?} */
148
+ var adapter = new ɵBrowserDomAdapter();
149
+ /** @type {?} */
150
+ var root = adapter.createElement(selector);
151
+ document.body.appendChild(root);
152
+ };
153
+ return NgxsTestBed;
154
+ }());
155
+
156
+ /**
157
+ * @fileoverview added by tsickle
158
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
159
+ */
160
+ /**
161
+ * @return {?}
162
+ */
163
+ function createRootElement() {
164
+ /** @type {?} */
165
+ var document = TestBed.inject(DOCUMENT);
166
+ /** @type {?} */
167
+ var root = ɵgetDOM().createElement('app-root', document);
168
+ document.body.appendChild(root);
169
+ }
170
+ /**
171
+ * @return {?}
172
+ */
173
+ function removeRootElement() {
174
+ /** @type {?} */
175
+ var root = (/** @type {?} */ (document.getElementsByTagName('app-root').item(0)));
176
+ try {
177
+ document.body.removeChild(root);
178
+ }
179
+ catch (_a) { }
180
+ }
181
+ /**
182
+ * @return {?}
183
+ */
184
+ function destroyPlatformBeforeBootstrappingTheNewOne() {
185
+ destroyPlatform();
186
+ createRootElement();
187
+ }
188
+ // As we create our custom platform via `bootstrapModule`
189
+ // we have to destroy it after assetions and revert
190
+ // the previous one
191
+ /**
192
+ * @return {?}
193
+ */
194
+ function resetPlatformAfterBootstrapping() {
195
+ removeRootElement();
196
+ destroyPlatform();
197
+ createPlatform(TestBed);
198
+ }
199
+ /**
200
+ * @param {?} fn
201
+ * @return {?}
202
+ */
203
+ function freshPlatform(fn) {
204
+ /** @type {?} */
205
+ var done = null;
206
+ /** @type {?} */
207
+ var whenDoneIsCalledPromise = null;
208
+ /** @type {?} */
209
+ var hasDoneArgument = fn.length === 1;
210
+ if (hasDoneArgument) {
211
+ whenDoneIsCalledPromise = new Promise((/**
212
+ * @param {?} resolve
213
+ * @return {?}
214
+ */
215
+ function (resolve) {
216
+ done = resolve;
217
+ }));
218
+ }
219
+ return (/**
220
+ * @return {?}
221
+ */
222
+ function testWithAFreshPlatform() {
223
+ return __awaiter(this, void 0, void 0, function () {
224
+ return __generator(this, function (_a) {
225
+ switch (_a.label) {
226
+ case 0:
227
+ _a.trys.push([0, , 6, 7]);
228
+ destroyPlatformBeforeBootstrappingTheNewOne();
229
+ if (!(done !== null)) return [3 /*break*/, 3];
230
+ return [4 /*yield*/, fn(done)];
231
+ case 1:
232
+ _a.sent();
233
+ return [4 /*yield*/, (/** @type {?} */ (whenDoneIsCalledPromise))];
234
+ case 2:
235
+ _a.sent();
236
+ return [3 /*break*/, 5];
237
+ case 3: return [4 /*yield*/, fn()];
238
+ case 4:
239
+ _a.sent();
240
+ _a.label = 5;
241
+ case 5: return [3 /*break*/, 7];
242
+ case 6:
243
+ resetPlatformAfterBootstrapping();
244
+ return [7 /*endfinally*/];
245
+ case 7: return [2 /*return*/];
246
+ }
247
+ });
248
+ });
249
+ });
250
+ }
251
+
252
+ /**
253
+ * @fileoverview added by tsickle
254
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
255
+ */
256
+
257
+ /**
258
+ * @fileoverview added by tsickle
259
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
260
+ */
261
+
262
+ export { NgxsTestBed, freshPlatform };
263
+ //# sourceMappingURL=ngxs-store-internals-testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxs-store-internals-testing.js","sources":["ng://@ngxs/store/internals/testing/helpers/ngxs-test.component.ts","ng://@ngxs/store/internals/testing/helpers/ngxs-test.module.ts","ng://@ngxs/store/internals/testing/ngxs.setup.ts","ng://@ngxs/store/internals/testing/fresh-platform.ts"],"sourcesContent":["import { AfterViewInit, Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n template: ''\n})\nexport class NgxsTestComponent implements OnInit, AfterViewInit {\n public ngOnInit(): void {}\n public ngAfterViewInit(): void {}\n}\n","import { ApplicationRef, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { NgxsTestComponent } from './ngxs-test.component';\n\n@NgModule({\n imports: [BrowserModule],\n declarations: [NgxsTestComponent],\n entryComponents: [NgxsTestComponent]\n})\nexport class NgxsTestModule {\n public static ngDoBootstrap(app: ApplicationRef): void {\n app.bootstrap(NgxsTestComponent);\n }\n}\n","import { ApplicationRef } from '@angular/core';\nimport { TestBed, TestBedStatic } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵBrowserDomAdapter as BrowserDomAdapter } from '@angular/platform-browser';\nimport {\n BrowserDynamicTestingModule,\n platformBrowserDynamicTesting\n} from '@angular/platform-browser-dynamic/testing';\nimport { NgxsModule, Store } from '@ngxs/store';\n\nimport { NgxsTestModule } from './helpers/ngxs-test.module';\nimport { NgxsOptionsTesting, NgxsTesting } from './symbol';\n\nexport class NgxsTestBed {\n public static configureTestingStates(options: NgxsOptionsTesting): NgxsTesting {\n this.resetTestBed();\n\n if (options.before) {\n options.before();\n }\n\n TestBed.configureTestingModule({\n imports: [\n NgxsTestModule,\n NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),\n ...(options.imports || [])\n ]\n }).compileComponents();\n\n NgxsTestBed.ngxsBootstrap();\n\n return {\n get store(): Store {\n return TestBed.inject(Store);\n },\n get getTestBed(): TestBedStatic {\n return TestBed;\n }\n };\n }\n\n private static ngxsBootstrap(): void {\n NgxsTestBed.createRootNode();\n NgxsTestModule.ngDoBootstrap(TestBed.inject(ApplicationRef));\n }\n\n private static resetTestBed(): void {\n TestBed.resetTestEnvironment();\n TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());\n }\n\n private static createRootNode(selector = 'app-root'): void {\n const document = TestBed.inject(DOCUMENT);\n const adapter = new BrowserDomAdapter();\n const root = adapter.createElement(selector);\n document.body.appendChild(root);\n }\n}\n","import { TestBed } from '@angular/core/testing';\nimport { DOCUMENT } from '@angular/common';\nimport { ɵgetDOM as getDOM } from '@angular/platform-browser';\nimport { destroyPlatform, createPlatform } from '@angular/core';\n\nfunction createRootElement() {\n const document = TestBed.inject(DOCUMENT);\n const root = getDOM().createElement('app-root', document);\n document.body.appendChild(root);\n}\n\nfunction removeRootElement() {\n const root: Element = document.getElementsByTagName('app-root').item(0)!;\n try {\n document.body.removeChild(root);\n } catch {}\n}\n\nfunction destroyPlatformBeforeBootstrappingTheNewOne() {\n destroyPlatform();\n createRootElement();\n}\n\n// As we create our custom platform via `bootstrapModule`\n// we have to destroy it after assetions and revert\n// the previous one\nfunction resetPlatformAfterBootstrapping() {\n removeRootElement();\n destroyPlatform();\n createPlatform(TestBed);\n}\n\nexport function freshPlatform(fn: (done?: VoidFunction) => Promise<void>) {\n let done: VoidFunction | null = null,\n whenDoneIsCalledPromise: Promise<void> | null = null;\n\n const hasDoneArgument = fn.length === 1;\n\n if (hasDoneArgument) {\n whenDoneIsCalledPromise = new Promise<void>(resolve => {\n done = resolve;\n });\n }\n\n return async function testWithAFreshPlatform() {\n try {\n destroyPlatformBeforeBootstrappingTheNewOne();\n\n if (done !== null) {\n await fn(done);\n await whenDoneIsCalledPromise!;\n } else {\n await fn();\n }\n } finally {\n resetPlatformAfterBootstrapping();\n }\n };\n}\n"],"names":["BrowserDomAdapter","getDOM"],"mappings":"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"}