@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,214 +1,214 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { APP_BOOTSTRAP_LISTENER, InjectionToken, isDevMode, NgModule } from '@angular/core';
7
- import { INITIAL_STATE_TOKEN, InitialState, isAngularInTestMode, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, NgxsBootstrapper } from '@ngxs/store/internals';
8
- import { FEATURE_STATE_TOKEN, NG_DEV_MODE, NG_TEST_MODE, NgxsConfig, ROOT_STATE_TOKEN } from './symbols';
9
- import { NGXS_EXECUTION_STRATEGY } from './execution/symbols';
10
- import { StateFactory } from './internal/state-factory';
11
- import { StateContextFactory } from './internal/state-context-factory';
12
- import { Actions, InternalActions } from './actions-stream';
13
- import { LifecycleStateManager } from './internal/lifecycle-state-manager';
14
- import { InternalDispatchedActionResults, InternalDispatcher } from './internal/dispatcher';
15
- import { InternalStateOperations } from './internal/state-operations';
16
- import { Store } from './store';
17
- import { SelectFactory } from './decorators/select/select-factory';
18
- import { StateStream } from './internal/state-stream';
19
- import { PluginManager } from './plugin-manager';
20
- import { NgxsRootModule } from './modules/ngxs-root.module';
21
- import { NgxsFeatureModule } from './modules/ngxs-feature.module';
22
- import { DispatchOutsideZoneNgxsExecutionStrategy } from './execution/dispatch-outside-zone-ngxs-execution-strategy';
23
- import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
24
- import { HostEnvironment } from './host-environment/host-environment';
25
- import { ConfigValidator } from './internal/config-validator';
26
- /**
27
- * Ngxs Module
28
- */
29
- var NgxsModule = /** @class */ (function () {
30
- function NgxsModule() {
31
- }
32
- /**
33
- * Root module factory
34
- */
35
- /**
36
- * Root module factory
37
- * @param {?=} states
38
- * @param {?=} options
39
- * @return {?}
40
- */
41
- NgxsModule.forRoot = /**
42
- * Root module factory
43
- * @param {?=} states
44
- * @param {?=} options
45
- * @return {?}
46
- */
47
- function (states, options) {
48
- if (states === void 0) { states = []; }
49
- if (options === void 0) { options = {}; }
50
- return {
51
- ngModule: NgxsRootModule,
52
- providers: tslib_1.__spread([
53
- StateFactory,
54
- StateContextFactory,
55
- Actions,
56
- InternalActions,
57
- NgxsBootstrapper,
58
- ConfigValidator,
59
- HostEnvironment,
60
- LifecycleStateManager,
61
- InternalDispatcher,
62
- InternalDispatchedActionResults,
63
- InternalStateOperations,
64
- InternalNgxsExecutionStrategy,
65
- Store,
66
- StateStream,
67
- SelectFactory,
68
- PluginManager
69
- ], states, NgxsModule.ngxsTokenProviders(states, options))
70
- };
71
- };
72
- /**
73
- * Feature module factory
74
- */
75
- /**
76
- * Feature module factory
77
- * @param {?=} states
78
- * @return {?}
79
- */
80
- NgxsModule.forFeature = /**
81
- * Feature module factory
82
- * @param {?=} states
83
- * @return {?}
84
- */
85
- function (states) {
86
- if (states === void 0) { states = []; }
87
- return {
88
- ngModule: NgxsFeatureModule,
89
- providers: tslib_1.__spread([
90
- StateFactory,
91
- PluginManager
92
- ], states, [
93
- {
94
- provide: FEATURE_STATE_TOKEN,
95
- multi: true,
96
- useValue: states
97
- }
98
- ])
99
- };
100
- };
101
- /**
102
- * @private
103
- * @param {?} states
104
- * @param {?} options
105
- * @return {?}
106
- */
107
- NgxsModule.ngxsTokenProviders = /**
108
- * @private
109
- * @param {?} states
110
- * @param {?} options
111
- * @return {?}
112
- */
113
- function (states, options) {
114
- return [
115
- {
116
- provide: NG_TEST_MODE,
117
- useValue: isAngularInTestMode
118
- },
119
- {
120
- provide: NG_DEV_MODE,
121
- useValue: isDevMode
122
- },
123
- {
124
- provide: NGXS_EXECUTION_STRATEGY,
125
- useClass: options.executionStrategy || DispatchOutsideZoneNgxsExecutionStrategy
126
- },
127
- {
128
- provide: ROOT_STATE_TOKEN,
129
- useValue: states
130
- },
131
- {
132
- provide: NgxsModule.ROOT_OPTIONS,
133
- useValue: options
134
- },
135
- {
136
- provide: NgxsConfig,
137
- useFactory: NgxsModule.ngxsConfigFactory,
138
- deps: [NgxsModule.ROOT_OPTIONS]
139
- },
140
- {
141
- provide: APP_BOOTSTRAP_LISTENER,
142
- useFactory: NgxsModule.appBootstrapListenerFactory,
143
- multi: true,
144
- deps: [NgxsBootstrapper]
145
- },
146
- {
147
- provide: INITIAL_STATE_TOKEN,
148
- useFactory: NgxsModule.getInitialState
149
- },
150
- {
151
- provide: NGXS_STATE_CONTEXT_FACTORY,
152
- useExisting: StateContextFactory
153
- },
154
- {
155
- provide: NGXS_STATE_FACTORY,
156
- useExisting: StateFactory
157
- }
158
- ];
159
- };
160
- /**
161
- * @private
162
- * @param {?} options
163
- * @return {?}
164
- */
165
- NgxsModule.ngxsConfigFactory = /**
166
- * @private
167
- * @param {?} options
168
- * @return {?}
169
- */
170
- function (options) {
171
- return Object.assign(new NgxsConfig(), options);
172
- };
173
- /**
174
- * @private
175
- * @param {?} bootstrapper
176
- * @return {?}
177
- */
178
- NgxsModule.appBootstrapListenerFactory = /**
179
- * @private
180
- * @param {?} bootstrapper
181
- * @return {?}
182
- */
183
- function (bootstrapper) {
184
- return (/**
185
- * @return {?}
186
- */
187
- function () { return bootstrapper.bootstrap(); });
188
- };
189
- /**
190
- * @private
191
- * @return {?}
192
- */
193
- NgxsModule.getInitialState = /**
194
- * @private
195
- * @return {?}
196
- */
197
- function () {
198
- return InitialState.pop();
199
- };
200
- NgxsModule.ROOT_OPTIONS = new InjectionToken('ROOT_OPTIONS');
201
- NgxsModule.decorators = [
202
- { type: NgModule }
203
- ];
204
- return NgxsModule;
205
- }());
206
- export { NgxsModule };
207
- if (false) {
208
- /**
209
- * @type {?}
210
- * @private
211
- */
212
- NgxsModule.ROOT_OPTIONS;
213
- }
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsU0FBUyxFQUVULFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFakIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxZQUFZLEVBQ1osVUFBVSxFQUVWLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9B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LE9BQTBCO1FBQ3pELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7OztJQUVjLHNDQUEyQjs7Ozs7SUFBMUMsVUFBMkMsWUFBOEI7UUFDdkU7OztRQUFPLGNBQU0sT0FBQSxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQXhCLENBQXdCLEVBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFFYywwQkFBZTs7OztJQUE5QjtRQUNFLE9BQU8sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFsSHVCLHVCQUFZLEdBQUcsSUFBSSxjQUFjLENBQW9CLGNBQWMsQ0FBQyxDQUFDOztnQkFGOUYsUUFBUTs7SUFxSFQsaUJBQUM7Q0FBQSxBQXJIRCxJQXFIQztTQXBIWSxVQUFVOzs7Ozs7SUFDckIsd0JBQTZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVBQX0JPT1RTVFJBUF9MSVNURU5FUixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIGlzRGV2TW9kZSxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIFByb3ZpZGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU5JVElBTF9TVEFURV9UT0tFTixcbiAgSW5pdGlhbFN0YXRlLFxuICBpc0FuZ3VsYXJJblRlc3RNb2RlLFxuICBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcbiAgTkdYU19TVEFURV9GQUNUT1JZLFxuICBOZ3hzQm9vdHN0cmFwcGVyLFxuICBTdGF0ZUNsYXNzXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7XG4gIEZFQVRVUkVfU1RBVEVfVE9LRU4sXG4gIE5HX0RFVl9NT0RFLFxuICBOR19URVNUX01PREUsXG4gIE5neHNDb25maWcsXG4gIE5neHNNb2R1bGVPcHRpb25zLFxuICBST09UX1NUQVRFX1RPS0VOXG59IGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgeyBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSB9IGZyb20gJy4vZXhlY3V0aW9uL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcbmltcG9ydCB7IFN0YXRlQ29udGV4dEZhY3RvcnkgfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuL2FjdGlvbnMtc3RyZWFtJztcbmltcG9ydCB7IExpZmVjeWNsZVN0YXRlTWFuYWdlciB9IGZyb20gJy4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IHsgSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cywgSW50ZXJuYWxEaXNwYXRjaGVyIH0gZnJvbSAnLi9pbnRlcm5hbC9kaXNwYXRjaGVyJztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBTZWxlY3RGYWN0b3J5IH0gZnJvbSAnLi9kZWNvcmF0b3JzL3NlbGVjdC9zZWxlY3QtZmFjdG9yeSc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL3BsdWdpbi1tYW5hZ2VyJztcbmltcG9ydCB7IE5neHNSb290TW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL25neHMtcm9vdC5tb2R1bGUnO1xuaW1wb3J0IHsgTmd4c0ZlYXR1cmVNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbmd4cy1mZWF0dXJlLm1vZHVsZSc7XG5pbXBvcnQgeyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgSG9zdEVudmlyb25tZW50IH0gZnJvbSAnLi9ob3N0LWVudmlyb25tZW50L2hvc3QtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgQ29uZmlnVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnRlcm5hbC9jb25maWctdmFsaWRhdG9yJztcblxuLyoqXG4gKiBOZ3hzIE1vZHVsZVxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE5neHNNb2R1bGUge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBST09UX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c01vZHVsZU9wdGlvbnM+KCdST09UX09QVElPTlMnKTtcblxuICAvKipcbiAgICogUm9vdCBtb2R1bGUgZmFjdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIHN0YXRlczogU3RhdGVDbGFzc1tdID0gW10sXG4gICAgb3B0aW9uczogTmd4c01vZHVsZU9wdGlvbnMgPSB7fVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSb290TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hzUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTdGF0ZUZhY3RvcnksXG4gICAgICAgIFN0YXRlQ29udGV4dEZhY3RvcnksXG4gICAgICAgIEFjdGlvbnMsXG4gICAgICAgIEludGVybmFsQWN0aW9ucyxcbiAgICAgICAgTmd4c0Jvb3RzdHJhcHBlcixcbiAgICAgICAgQ29uZmlnVmFsaWRhdG9yLFxuICAgICAgICBIb3N0RW52aXJvbm1lbnQsXG4gICAgICAgIExpZmVjeWNsZVN0YXRlTWFuYWdlcixcbiAgICAgICAgSW50ZXJuYWxEaXNwYXRjaGVyLFxuICAgICAgICBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgICAgICBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyxcbiAgICAgICAgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXG4gICAgICAgIFN0b3JlLFxuICAgICAgICBTdGF0ZVN0cmVhbSxcbiAgICAgICAgU2VsZWN0RmFjdG9yeSxcbiAgICAgICAgUGx1Z2luTWFuYWdlcixcbiAgICAgICAgLi4uc3RhdGVzLFxuICAgICAgICAuLi5OZ3hzTW9kdWxlLm5neHNUb2tlblByb3ZpZGVycyhzdGF0ZXMsIG9wdGlvbnMpXG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZWF0dXJlIG1vZHVsZSBmYWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvckZlYXR1cmUoc3RhdGVzOiBTdGF0ZUNsYXNzW10gPSBbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4c0ZlYXR1cmVNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNGZWF0dXJlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFN0YXRlRmFjdG9yeSxcbiAgICAgICAgUGx1Z2luTWFuYWdlcixcbiAgICAgICAgLi4uc3RhdGVzLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRkVBVFVSRV9TVEFURV9UT0tFTixcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICB1c2VWYWx1ZTogc3RhdGVzXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbmd4c1Rva2VuUHJvdmlkZXJzKFxuICAgIHN0YXRlczogU3RhdGVDbGFzc1tdLFxuICAgIG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zXG4gICk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IE5HX1RFU1RfTU9ERSxcbiAgICAgICAgdXNlVmFsdWU6IGlzQW5ndWxhckluVGVzdE1vZGVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IE5HX0RFVl9NT0RFLFxuICAgICAgICB1c2VWYWx1ZTogaXNEZXZNb2RlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSxcbiAgICAgICAgdXNlQ2xhc3M6IG9wdGlvbnMuZXhlY3V0aW9uU3RyYXRlZ3kgfHwgRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogUk9PVF9TVEFURV9UT0tFTixcbiAgICAgICAgdXNlVmFsdWU6IHN0YXRlc1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTmd4c01vZHVsZS5ST09UX09QVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBOZ3hzQ29uZmlnLFxuICAgICAgICB1c2VGYWN0b3J5OiBOZ3hzTW9kdWxlLm5neHNDb25maWdGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbTmd4c01vZHVsZS5ST09UX09QVElPTlNdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSLFxuICAgICAgICB1c2VGYWN0b3J5OiBOZ3hzTW9kdWxlLmFwcEJvb3RzdHJhcExpc3RlbmVyRmFjdG9yeSxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIGRlcHM6IFtOZ3hzQm9vdHN0cmFwcGVyXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogSU5JVElBTF9TVEFURV9UT0tFTixcbiAgICAgICAgdXNlRmFjdG9yeTogTmd4c01vZHVsZS5nZXRJbml0aWFsU3RhdGVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IE5HWFNfU1RBVEVfQ09OVEVYVF9GQUNUT1JZLFxuICAgICAgICB1c2VFeGlzdGluZzogU3RhdGVDb250ZXh0RmFjdG9yeVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkdYU19TVEFURV9GQUNUT1JZLFxuICAgICAgICB1c2VFeGlzdGluZzogU3RhdGVGYWN0b3J5XG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG5neHNDb25maWdGYWN0b3J5KG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zKTogTmd4c0NvbmZpZyB7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IE5neHNDb25maWcoKSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBhcHBCb290c3RyYXBMaXN0ZW5lckZhY3RvcnkoYm9vdHN0cmFwcGVyOiBOZ3hzQm9vdHN0cmFwcGVyKTogRnVuY3Rpb24ge1xuICAgIHJldHVybiAoKSA9PiBib290c3RyYXBwZXIuYm9vdHN0cmFwKCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRJbml0aWFsU3RhdGUoKSB7XG4gICAgcmV0dXJuIEluaXRpYWxTdGF0ZS5wb3AoKTtcbiAgfVxufVxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { APP_BOOTSTRAP_LISTENER, InjectionToken, isDevMode, NgModule } from '@angular/core';
7
+ import { INITIAL_STATE_TOKEN, InitialState, isAngularInTestMode, NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY, NgxsBootstrapper } from '@ngxs/store/internals';
8
+ import { FEATURE_STATE_TOKEN, NG_DEV_MODE, NG_TEST_MODE, NgxsConfig, ROOT_STATE_TOKEN } from './symbols';
9
+ import { NGXS_EXECUTION_STRATEGY } from './execution/symbols';
10
+ import { StateFactory } from './internal/state-factory';
11
+ import { StateContextFactory } from './internal/state-context-factory';
12
+ import { Actions, InternalActions } from './actions-stream';
13
+ import { LifecycleStateManager } from './internal/lifecycle-state-manager';
14
+ import { InternalDispatchedActionResults, InternalDispatcher } from './internal/dispatcher';
15
+ import { InternalStateOperations } from './internal/state-operations';
16
+ import { Store } from './store';
17
+ import { SelectFactory } from './decorators/select/select-factory';
18
+ import { StateStream } from './internal/state-stream';
19
+ import { PluginManager } from './plugin-manager';
20
+ import { NgxsRootModule } from './modules/ngxs-root.module';
21
+ import { NgxsFeatureModule } from './modules/ngxs-feature.module';
22
+ import { DispatchOutsideZoneNgxsExecutionStrategy } from './execution/dispatch-outside-zone-ngxs-execution-strategy';
23
+ import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
24
+ import { HostEnvironment } from './host-environment/host-environment';
25
+ import { ConfigValidator } from './internal/config-validator';
26
+ /**
27
+ * Ngxs Module
28
+ */
29
+ var NgxsModule = /** @class */ (function () {
30
+ function NgxsModule() {
31
+ }
32
+ /**
33
+ * Root module factory
34
+ */
35
+ /**
36
+ * Root module factory
37
+ * @param {?=} states
38
+ * @param {?=} options
39
+ * @return {?}
40
+ */
41
+ NgxsModule.forRoot = /**
42
+ * Root module factory
43
+ * @param {?=} states
44
+ * @param {?=} options
45
+ * @return {?}
46
+ */
47
+ function (states, options) {
48
+ if (states === void 0) { states = []; }
49
+ if (options === void 0) { options = {}; }
50
+ return {
51
+ ngModule: NgxsRootModule,
52
+ providers: tslib_1.__spread([
53
+ StateFactory,
54
+ StateContextFactory,
55
+ Actions,
56
+ InternalActions,
57
+ NgxsBootstrapper,
58
+ ConfigValidator,
59
+ HostEnvironment,
60
+ LifecycleStateManager,
61
+ InternalDispatcher,
62
+ InternalDispatchedActionResults,
63
+ InternalStateOperations,
64
+ InternalNgxsExecutionStrategy,
65
+ Store,
66
+ StateStream,
67
+ SelectFactory,
68
+ PluginManager
69
+ ], states, NgxsModule.ngxsTokenProviders(states, options))
70
+ };
71
+ };
72
+ /**
73
+ * Feature module factory
74
+ */
75
+ /**
76
+ * Feature module factory
77
+ * @param {?=} states
78
+ * @return {?}
79
+ */
80
+ NgxsModule.forFeature = /**
81
+ * Feature module factory
82
+ * @param {?=} states
83
+ * @return {?}
84
+ */
85
+ function (states) {
86
+ if (states === void 0) { states = []; }
87
+ return {
88
+ ngModule: NgxsFeatureModule,
89
+ providers: tslib_1.__spread([
90
+ StateFactory,
91
+ PluginManager
92
+ ], states, [
93
+ {
94
+ provide: FEATURE_STATE_TOKEN,
95
+ multi: true,
96
+ useValue: states
97
+ }
98
+ ])
99
+ };
100
+ };
101
+ /**
102
+ * @private
103
+ * @param {?} states
104
+ * @param {?} options
105
+ * @return {?}
106
+ */
107
+ NgxsModule.ngxsTokenProviders = /**
108
+ * @private
109
+ * @param {?} states
110
+ * @param {?} options
111
+ * @return {?}
112
+ */
113
+ function (states, options) {
114
+ return [
115
+ {
116
+ provide: NG_TEST_MODE,
117
+ useValue: isAngularInTestMode
118
+ },
119
+ {
120
+ provide: NG_DEV_MODE,
121
+ useValue: isDevMode
122
+ },
123
+ {
124
+ provide: NGXS_EXECUTION_STRATEGY,
125
+ useClass: options.executionStrategy || DispatchOutsideZoneNgxsExecutionStrategy
126
+ },
127
+ {
128
+ provide: ROOT_STATE_TOKEN,
129
+ useValue: states
130
+ },
131
+ {
132
+ provide: NgxsModule.ROOT_OPTIONS,
133
+ useValue: options
134
+ },
135
+ {
136
+ provide: NgxsConfig,
137
+ useFactory: NgxsModule.ngxsConfigFactory,
138
+ deps: [NgxsModule.ROOT_OPTIONS]
139
+ },
140
+ {
141
+ provide: APP_BOOTSTRAP_LISTENER,
142
+ useFactory: NgxsModule.appBootstrapListenerFactory,
143
+ multi: true,
144
+ deps: [NgxsBootstrapper]
145
+ },
146
+ {
147
+ provide: INITIAL_STATE_TOKEN,
148
+ useFactory: NgxsModule.getInitialState
149
+ },
150
+ {
151
+ provide: NGXS_STATE_CONTEXT_FACTORY,
152
+ useExisting: StateContextFactory
153
+ },
154
+ {
155
+ provide: NGXS_STATE_FACTORY,
156
+ useExisting: StateFactory
157
+ }
158
+ ];
159
+ };
160
+ /**
161
+ * @private
162
+ * @param {?} options
163
+ * @return {?}
164
+ */
165
+ NgxsModule.ngxsConfigFactory = /**
166
+ * @private
167
+ * @param {?} options
168
+ * @return {?}
169
+ */
170
+ function (options) {
171
+ return Object.assign(new NgxsConfig(), options);
172
+ };
173
+ /**
174
+ * @private
175
+ * @param {?} bootstrapper
176
+ * @return {?}
177
+ */
178
+ NgxsModule.appBootstrapListenerFactory = /**
179
+ * @private
180
+ * @param {?} bootstrapper
181
+ * @return {?}
182
+ */
183
+ function (bootstrapper) {
184
+ return (/**
185
+ * @return {?}
186
+ */
187
+ function () { return bootstrapper.bootstrap(); });
188
+ };
189
+ /**
190
+ * @private
191
+ * @return {?}
192
+ */
193
+ NgxsModule.getInitialState = /**
194
+ * @private
195
+ * @return {?}
196
+ */
197
+ function () {
198
+ return InitialState.pop();
199
+ };
200
+ NgxsModule.ROOT_OPTIONS = new InjectionToken('ROOT_OPTIONS');
201
+ NgxsModule.decorators = [
202
+ { type: NgModule }
203
+ ];
204
+ return NgxsModule;
205
+ }());
206
+ export { NgxsModule };
207
+ if (false) {
208
+ /**
209
+ * @type {?}
210
+ * @private
211
+ */
212
+ NgxsModule.ROOT_OPTIONS;
213
+ }
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsU0FBUyxFQUVULFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFakIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxZQUFZLEVBQ1osVUFBVSxFQUVWLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNySCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBSzlEO0lBQUE7SUFxSEEsQ0FBQztJQWpIQzs7T0FFRzs7Ozs7OztJQUNXLGtCQUFPOzs7Ozs7SUFBckIsVUFDRSxNQUF5QixFQUN6QixPQUErQjtRQUQvQix1QkFBQSxFQUFBLFdBQXlCO1FBQ3pCLHdCQUFBLEVBQUEsWUFBK0I7UUFFL0IsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVM7Z0JBQ1AsWUFBWTtnQkFDWixtQkFBbUI7Z0JBQ25CLE9BQU87Z0JBQ1AsZUFBZTtnQkFDZixnQkFBZ0I7Z0JBQ2hCLGVBQWU7Z0JBQ2YsZUFBZTtnQkFDZixxQkFBcUI7Z0JBQ3JCLGtCQUFrQjtnQkFDbEIsK0JBQStCO2dCQUMvQix1QkFBdUI7Z0JBQ3ZCLDZCQUE2QjtnQkFDN0IsS0FBSztnQkFDTCxXQUFXO2dCQUNYLGFBQWE7Z0JBQ2IsYUFBYTtlQUNWLE1BQU0sRUFDTixVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUNsRDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7Ozs7OztJQUNXLHFCQUFVOzs7OztJQUF4QixVQUF5QixNQUF5QjtRQUF6Qix1QkFBQSxFQUFBLFdBQXlCO1FBQ2hELE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVM7Z0JBQ1AsWUFBWTtnQkFDWixhQUFhO2VBQ1YsTUFBTTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixLQUFLLEVBQUUsSUFBSTtvQkFDWCxRQUFRLEVBQUUsTUFBTTtpQkFDakI7Y0FDRjtTQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7O0lBRWMsNkJBQWtCOzs7Ozs7SUFBakMsVUFDRSxNQUFvQixFQUNwQixPQUEwQjtRQUUxQixPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsV0FBVztnQkFDcEIsUUFBUSxFQUFFLFNBQVM7YUFDcEI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixJQUFJLHdDQUF3QzthQUNoRjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFFBQVEsRUFBRSxNQUFNO2FBQ2pCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZO2dCQUNoQyxRQUFRLEVBQUUsT0FBTzthQUNsQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixVQUFVLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjtnQkFDeEMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQzthQUNoQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFVBQVUsRUFBRSxVQUFVLENBQUMsMkJBQTJCO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFVBQVUsRUFBRSxVQUFVLENBQUMsZUFBZTthQUN2QztZQUNEO2dCQUNFLE9BQU8sRUFBRSwwQkFBMEI7Z0JBQ25DLFdBQVcsRUFBRSxtQkFBbUI7YUFDakM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsWUFBWTthQUMxQjtTQUNGLENBQUM7SUFDSixDQUFDOzs7Ozs7SUFFYyw0QkFBaUI7Ozs7O0lBQWhDLFVBQWlDLE9BQTBCO1FBQ3pELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7OztJQUVjLHNDQUEyQjs7Ozs7SUFBMUMsVUFBMkMsWUFBOEI7UUFDdkU7OztRQUFPLGNBQU0sT0FBQSxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQXhCLENBQXdCLEVBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFFYywwQkFBZTs7OztJQUE5QjtRQUNFLE9BQU8sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFsSHVCLHVCQUFZLEdBQUcsSUFBSSxjQUFjLENBQW9CLGNBQWMsQ0FBQyxDQUFDOztnQkFGOUYsUUFBUTs7SUFxSFQsaUJBQUM7Q0FBQSxBQXJIRCxJQXFIQztTQXBIWSxVQUFVOzs7Ozs7SUFDckIsd0JBQTZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBUFBfQk9PVFNUUkFQX0xJU1RFTkVSLFxyXG4gIEluamVjdGlvblRva2VuLFxyXG4gIGlzRGV2TW9kZSxcclxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gIE5nTW9kdWxlLFxyXG4gIFByb3ZpZGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgSU5JVElBTF9TVEFURV9UT0tFTixcclxuICBJbml0aWFsU3RhdGUsXHJcbiAgaXNBbmd1bGFySW5UZXN0TW9kZSxcclxuICBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcclxuICBOR1hTX1NUQVRFX0ZBQ1RPUlksXHJcbiAgTmd4c0Jvb3RzdHJhcHBlcixcclxuICBTdGF0ZUNsYXNzXHJcbn0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRkVBVFVSRV9TVEFURV9UT0tFTixcclxuICBOR19ERVZfTU9ERSxcclxuICBOR19URVNUX01PREUsXHJcbiAgTmd4c0NvbmZpZyxcclxuICBOZ3hzTW9kdWxlT3B0aW9ucyxcclxuICBST09UX1NUQVRFX1RPS0VOXHJcbn0gZnJvbSAnLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL2V4ZWN1dGlvbi9zeW1ib2xzJztcclxuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcm5hbC9zdGF0ZS1mYWN0b3J5JztcclxuaW1wb3J0IHsgU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtY29udGV4dC1mYWN0b3J5JztcclxuaW1wb3J0IHsgQWN0aW9ucywgSW50ZXJuYWxBY3Rpb25zIH0gZnJvbSAnLi9hY3Rpb25zLXN0cmVhbSc7XHJcbmltcG9ydCB7IExpZmVjeWNsZVN0YXRlTWFuYWdlciB9IGZyb20gJy4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xyXG5pbXBvcnQgeyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLCBJbnRlcm5hbERpc3BhdGNoZXIgfSBmcm9tICcuL2ludGVybmFsL2Rpc3BhdGNoZXInO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4vaW50ZXJuYWwvc3RhdGUtb3BlcmF0aW9ucyc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XHJcbmltcG9ydCB7IFNlbGVjdEZhY3RvcnkgfSBmcm9tICcuL2RlY29yYXRvcnMvc2VsZWN0L3NlbGVjdC1mYWN0b3J5JztcclxuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL2ludGVybmFsL3N0YXRlLXN0cmVhbSc7XHJcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuL3BsdWdpbi1tYW5hZ2VyJztcclxuaW1wb3J0IHsgTmd4c1Jvb3RNb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvbmd4cy1yb290Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE5neHNGZWF0dXJlTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL25neHMtZmVhdHVyZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9leGVjdXRpb24vZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcclxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XHJcbmltcG9ydCB7IEhvc3RFbnZpcm9ubWVudCB9IGZyb20gJy4vaG9zdC1lbnZpcm9ubWVudC9ob3N0LWVudmlyb25tZW50JztcclxuaW1wb3J0IHsgQ29uZmlnVmFsaWRhdG9yIH0gZnJvbSAnLi9pbnRlcm5hbC9jb25maWctdmFsaWRhdG9yJztcclxuXHJcbi8qKlxyXG4gKiBOZ3hzIE1vZHVsZVxyXG4gKi9cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIE5neHNNb2R1bGUge1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJPT1RfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzTW9kdWxlT3B0aW9ucz4oJ1JPT1RfT1BUSU9OUycpO1xyXG5cclxuICAvKipcclxuICAgKiBSb290IG1vZHVsZSBmYWN0b3J5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgc3RhdGVzOiBTdGF0ZUNsYXNzW10gPSBbXSxcclxuICAgIG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zID0ge31cclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNSb290TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4c1Jvb3RNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFN0YXRlRmFjdG9yeSxcclxuICAgICAgICBTdGF0ZUNvbnRleHRGYWN0b3J5LFxyXG4gICAgICAgIEFjdGlvbnMsXHJcbiAgICAgICAgSW50ZXJuYWxBY3Rpb25zLFxyXG4gICAgICAgIE5neHNCb290c3RyYXBwZXIsXHJcbiAgICAgICAgQ29uZmlnVmFsaWRhdG9yLFxyXG4gICAgICAgIEhvc3RFbnZpcm9ubWVudCxcclxuICAgICAgICBMaWZlY3ljbGVTdGF0ZU1hbmFnZXIsXHJcbiAgICAgICAgSW50ZXJuYWxEaXNwYXRjaGVyLFxyXG4gICAgICAgIEludGVybmFsRGlzcGF0Y2hlZEFjdGlvblJlc3VsdHMsXHJcbiAgICAgICAgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMsXHJcbiAgICAgICAgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXHJcbiAgICAgICAgU3RvcmUsXHJcbiAgICAgICAgU3RhdGVTdHJlYW0sXHJcbiAgICAgICAgU2VsZWN0RmFjdG9yeSxcclxuICAgICAgICBQbHVnaW5NYW5hZ2VyLFxyXG4gICAgICAgIC4uLnN0YXRlcyxcclxuICAgICAgICAuLi5OZ3hzTW9kdWxlLm5neHNUb2tlblByb3ZpZGVycyhzdGF0ZXMsIG9wdGlvbnMpXHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZWF0dXJlIG1vZHVsZSBmYWN0b3J5XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBmb3JGZWF0dXJlKHN0YXRlczogU3RhdGVDbGFzc1tdID0gW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neHNGZWF0dXJlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogTmd4c0ZlYXR1cmVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFN0YXRlRmFjdG9yeSxcclxuICAgICAgICBQbHVnaW5NYW5hZ2VyLFxyXG4gICAgICAgIC4uLnN0YXRlcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBGRUFUVVJFX1NUQVRFX1RPS0VOLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogc3RhdGVzXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmd4c1Rva2VuUHJvdmlkZXJzKFxyXG4gICAgc3RhdGVzOiBTdGF0ZUNsYXNzW10sXHJcbiAgICBvcHRpb25zOiBOZ3hzTW9kdWxlT3B0aW9uc1xyXG4gICk6IFByb3ZpZGVyW10ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1RFU1RfTU9ERSxcclxuICAgICAgICB1c2VWYWx1ZTogaXNBbmd1bGFySW5UZXN0TW9kZVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfREVWX01PREUsXHJcbiAgICAgICAgdXNlVmFsdWU6IGlzRGV2TW9kZVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdYU19FWEVDVVRJT05fU1RSQVRFR1ksXHJcbiAgICAgICAgdXNlQ2xhc3M6IG9wdGlvbnMuZXhlY3V0aW9uU3RyYXRlZ3kgfHwgRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogUk9PVF9TVEFURV9UT0tFTixcclxuICAgICAgICB1c2VWYWx1ZTogc3RhdGVzXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOZ3hzTW9kdWxlLlJPT1RfT1BUSU9OUyxcclxuICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTmd4c0NvbmZpZyxcclxuICAgICAgICB1c2VGYWN0b3J5OiBOZ3hzTW9kdWxlLm5neHNDb25maWdGYWN0b3J5LFxyXG4gICAgICAgIGRlcHM6IFtOZ3hzTW9kdWxlLlJPT1RfT1BUSU9OU11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEFQUF9CT09UU1RSQVBfTElTVEVORVIsXHJcbiAgICAgICAgdXNlRmFjdG9yeTogTmd4c01vZHVsZS5hcHBCb290c3RyYXBMaXN0ZW5lckZhY3RvcnksXHJcbiAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgZGVwczogW05neHNCb290c3RyYXBwZXJdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBJTklUSUFMX1NUQVRFX1RPS0VOLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IE5neHNNb2R1bGUuZ2V0SW5pdGlhbFN0YXRlXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSxcclxuICAgICAgICB1c2VFeGlzdGluZzogU3RhdGVDb250ZXh0RmFjdG9yeVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcHJvdmlkZTogTkdYU19TVEFURV9GQUNUT1JZLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBTdGF0ZUZhY3RvcnlcclxuICAgICAgfVxyXG4gICAgXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG5neHNDb25maWdGYWN0b3J5KG9wdGlvbnM6IE5neHNNb2R1bGVPcHRpb25zKTogTmd4c0NvbmZpZyB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgTmd4c0NvbmZpZygpLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGFwcEJvb3RzdHJhcExpc3RlbmVyRmFjdG9yeShib290c3RyYXBwZXI6IE5neHNCb290c3RyYXBwZXIpOiBGdW5jdGlvbiB7XHJcbiAgICByZXR1cm4gKCkgPT4gYm9vdHN0cmFwcGVyLmJvb3RzdHJhcCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0SW5pdGlhbFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIEluaXRpYWxTdGF0ZS5wb3AoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,65 +1,65 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Inject, NgModule, Optional } from '@angular/core';
6
- import { Store } from '../store';
7
- import { InternalStateOperations } from '../internal/state-operations';
8
- import { StateFactory } from '../internal/state-factory';
9
- import { FEATURE_STATE_TOKEN } from '../symbols';
10
- import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
11
- import { UpdateState } from '../actions/actions';
12
- /**
13
- * Feature module
14
- * @ignore
15
- */
16
- var NgxsFeatureModule = /** @class */ (function () {
17
- function NgxsFeatureModule(_store, internalStateOperations, factory, states, lifecycleStateManager) {
18
- if (states === void 0) { states = []; }
19
- // Since FEATURE_STATE_TOKEN is a multi token, we need to
20
- // flatten it [[Feature1State, Feature2State], [Feature3State]]
21
- /** @type {?} */
22
- var flattenedStates = NgxsFeatureModule.flattenStates(states);
23
- // add stores to the state graph and return their defaults
24
- /** @type {?} */
25
- var results = factory.addAndReturnDefaults(flattenedStates);
26
- if (results.states.length) {
27
- internalStateOperations.setStateToTheCurrentWithNew(results);
28
- // dispatch the update action and invoke init and bootstrap functions after
29
- lifecycleStateManager.ngxsBootstrap(new UpdateState(results.defaults), results);
30
- }
31
- }
32
- /**
33
- * @private
34
- * @param {?=} states
35
- * @return {?}
36
- */
37
- NgxsFeatureModule.flattenStates = /**
38
- * @private
39
- * @param {?=} states
40
- * @return {?}
41
- */
42
- function (states) {
43
- if (states === void 0) { states = []; }
44
- return states.reduce((/**
45
- * @param {?} total
46
- * @param {?} values
47
- * @return {?}
48
- */
49
- function (total, values) { return total.concat(values); }), []);
50
- };
51
- NgxsFeatureModule.decorators = [
52
- { type: NgModule }
53
- ];
54
- /** @nocollapse */
55
- NgxsFeatureModule.ctorParameters = function () { return [
56
- { type: Store },
57
- { type: InternalStateOperations },
58
- { type: StateFactory },
59
- { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [FEATURE_STATE_TOKEN,] }] },
60
- { type: LifecycleStateManager }
61
- ]; };
62
- return NgxsFeatureModule;
63
- }());
64
- export { NgxsFeatureModule };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1mZWF0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL21vZHVsZXMvbmd4cy1mZWF0dXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTWpEO0lBRUUsMkJBQ0UsTUFBYSxFQUNiLHVCQUFnRCxFQUNoRCxPQUFxQixFQUdyQixNQUFtQyxFQUNuQyxxQkFBNEM7UUFINUMsdUJBQUEsRUFBQSxXQUVtQzs7OztZQUs3QixlQUFlLEdBQXlCLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7OztZQUcvRSxPQUFPLEdBQXNCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFFaEYsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN6Qix1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3RCwyRUFBMkU7WUFDM0UscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7Ozs7OztJQUVjLCtCQUFhOzs7OztJQUE1QixVQUE2QixNQUFtQztRQUFuQyx1QkFBQSxFQUFBLFdBQW1DO1FBQzlELE9BQU8sTUFBTSxDQUFDLE1BQU07Ozs7O1FBQ2xCLFVBQUMsS0FBMkIsRUFBRSxNQUE0QixJQUFLLE9BQUEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBcEIsQ0FBb0IsR0FDbkYsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDOztnQkEvQkYsUUFBUTs7OztnQkFaQSxLQUFLO2dCQUNMLHVCQUF1QjtnQkFDdkIsWUFBWTs0Q0FnQmhCLFFBQVEsWUFDUixNQUFNLFNBQUMsbUJBQW1CO2dCQWZ0QixxQkFBcUI7O0lBd0M5Qix3QkFBQztDQUFBLEFBaENELElBZ0NDO1NBL0JZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IFN0YXRlRmFjdG9yeSB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLWZhY3RvcnknO1xuaW1wb3J0IHsgRkVBVFVSRV9TVEFURV9UT0tFTiB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IHsgU3RhdGVDbGFzc0ludGVybmFsLCBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBVcGRhdGVTdGF0ZSB9IGZyb20gJy4uL2FjdGlvbnMvYWN0aW9ucyc7XG5cbi8qKlxuICogRmVhdHVyZSBtb2R1bGVcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzRmVhdHVyZU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIF9zdG9yZTogU3RvcmUsXG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxuICAgIGZhY3Rvcnk6IFN0YXRlRmFjdG9yeSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoRkVBVFVSRV9TVEFURV9UT0tFTilcbiAgICBzdGF0ZXM6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdW10gPSBbXSxcbiAgICBsaWZlY3ljbGVTdGF0ZU1hbmFnZXI6IExpZmVjeWNsZVN0YXRlTWFuYWdlclxuICApIHtcbiAgICAvLyBTaW5jZSBGRUFUVVJFX1NUQVRFX1RPS0VOIGlzIGEgbXVsdGkgdG9rZW4sIHdlIG5lZWQgdG9cbiAgICAvLyBmbGF0dGVuIGl0IFtbRmVhdHVyZTFTdGF0ZSwgRmVhdHVyZTJTdGF0ZV0sIFtGZWF0dXJlM1N0YXRlXV1cbiAgICBjb25zdCBmbGF0dGVuZWRTdGF0ZXM6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gTmd4c0ZlYXR1cmVNb2R1bGUuZmxhdHRlblN0YXRlcyhzdGF0ZXMpO1xuXG4gICAgLy8gYWRkIHN0b3JlcyB0byB0aGUgc3RhdGUgZ3JhcGggYW5kIHJldHVybiB0aGVpciBkZWZhdWx0c1xuICAgIGNvbnN0IHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzID0gZmFjdG9yeS5hZGRBbmRSZXR1cm5EZWZhdWx0cyhmbGF0dGVuZWRTdGF0ZXMpO1xuXG4gICAgaWYgKHJlc3VsdHMuc3RhdGVzLmxlbmd0aCkge1xuICAgICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xuXG4gICAgICAvLyBkaXNwYXRjaCB0aGUgdXBkYXRlIGFjdGlvbiBhbmQgaW52b2tlIGluaXQgYW5kIGJvb3RzdHJhcCBmdW5jdGlvbnMgYWZ0ZXJcbiAgICAgIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBVcGRhdGVTdGF0ZShyZXN1bHRzLmRlZmF1bHRzKSwgcmVzdWx0cyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmxhdHRlblN0YXRlcyhzdGF0ZXM6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdW10gPSBbXSk6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdIHtcbiAgICByZXR1cm4gc3RhdGVzLnJlZHVjZShcbiAgICAgICh0b3RhbDogU3RhdGVDbGFzc0ludGVybmFsW10sIHZhbHVlczogU3RhdGVDbGFzc0ludGVybmFsW10pID0+IHRvdGFsLmNvbmNhdCh2YWx1ZXMpLFxuICAgICAgW11cbiAgICApO1xuICB9XG59XG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Inject, NgModule, Optional } from '@angular/core';
6
+ import { Store } from '../store';
7
+ import { InternalStateOperations } from '../internal/state-operations';
8
+ import { StateFactory } from '../internal/state-factory';
9
+ import { FEATURE_STATE_TOKEN } from '../symbols';
10
+ import { LifecycleStateManager } from '../internal/lifecycle-state-manager';
11
+ import { UpdateState } from '../actions/actions';
12
+ /**
13
+ * Feature module
14
+ * @ignore
15
+ */
16
+ var NgxsFeatureModule = /** @class */ (function () {
17
+ function NgxsFeatureModule(_store, internalStateOperations, factory, states, lifecycleStateManager) {
18
+ if (states === void 0) { states = []; }
19
+ // Since FEATURE_STATE_TOKEN is a multi token, we need to
20
+ // flatten it [[Feature1State, Feature2State], [Feature3State]]
21
+ /** @type {?} */
22
+ var flattenedStates = NgxsFeatureModule.flattenStates(states);
23
+ // add stores to the state graph and return their defaults
24
+ /** @type {?} */
25
+ var results = factory.addAndReturnDefaults(flattenedStates);
26
+ if (results.states.length) {
27
+ internalStateOperations.setStateToTheCurrentWithNew(results);
28
+ // dispatch the update action and invoke init and bootstrap functions after
29
+ lifecycleStateManager.ngxsBootstrap(new UpdateState(results.defaults), results);
30
+ }
31
+ }
32
+ /**
33
+ * @private
34
+ * @param {?=} states
35
+ * @return {?}
36
+ */
37
+ NgxsFeatureModule.flattenStates = /**
38
+ * @private
39
+ * @param {?=} states
40
+ * @return {?}
41
+ */
42
+ function (states) {
43
+ if (states === void 0) { states = []; }
44
+ return states.reduce((/**
45
+ * @param {?} total
46
+ * @param {?} values
47
+ * @return {?}
48
+ */
49
+ function (total, values) { return total.concat(values); }), []);
50
+ };
51
+ NgxsFeatureModule.decorators = [
52
+ { type: NgModule }
53
+ ];
54
+ /** @nocollapse */
55
+ NgxsFeatureModule.ctorParameters = function () { return [
56
+ { type: Store },
57
+ { type: InternalStateOperations },
58
+ { type: StateFactory },
59
+ { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [FEATURE_STATE_TOKEN,] }] },
60
+ { type: LifecycleStateManager }
61
+ ]; };
62
+ return NgxsFeatureModule;
63
+ }());
64
+ export { NgxsFeatureModule };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1mZWF0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL21vZHVsZXMvbmd4cy1mZWF0dXJlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTWpEO0lBRUUsMkJBQ0UsTUFBYSxFQUNiLHVCQUFnRCxFQUNoRCxPQUFxQixFQUdyQixNQUFtQyxFQUNuQyxxQkFBNEM7UUFINUMsdUJBQUEsRUFBQSxXQUVtQzs7OztZQUs3QixlQUFlLEdBQXlCLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7OztZQUcvRSxPQUFPLEdBQXNCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7UUFFaEYsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN6Qix1QkFBdUIsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU3RCwyRUFBMkU7WUFDM0UscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNqRjtJQUNILENBQUM7Ozs7OztJQUVjLCtCQUFhOzs7OztJQUE1QixVQUE2QixNQUFtQztRQUFuQyx1QkFBQSxFQUFBLFdBQW1DO1FBQzlELE9BQU8sTUFBTSxDQUFDLE1BQU07Ozs7O1FBQ2xCLFVBQUMsS0FBMkIsRUFBRSxNQUE0QixJQUFLLE9BQUEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBcEIsQ0FBb0IsR0FDbkYsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDOztnQkEvQkYsUUFBUTs7OztnQkFaQSxLQUFLO2dCQUNMLHVCQUF1QjtnQkFDdkIsWUFBWTs0Q0FnQmhCLFFBQVEsWUFDUixNQUFNLFNBQUMsbUJBQW1CO2dCQWZ0QixxQkFBcUI7O0lBd0M5Qix3QkFBQztDQUFBLEFBaENELElBZ0NDO1NBL0JZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcclxuaW1wb3J0IHsgU3RhdGVGYWN0b3J5IH0gZnJvbSAnLi4vaW50ZXJuYWwvc3RhdGUtZmFjdG9yeSc7XHJcbmltcG9ydCB7IEZFQVRVUkVfU1RBVEVfVE9LRU4gfSBmcm9tICcuLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgTGlmZWN5Y2xlU3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi4vaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXInO1xyXG5pbXBvcnQgeyBTdGF0ZUNsYXNzSW50ZXJuYWwsIFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcclxuaW1wb3J0IHsgVXBkYXRlU3RhdGUgfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMnO1xyXG5cclxuLyoqXHJcbiAqIEZlYXR1cmUgbW9kdWxlXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSgpXHJcbmV4cG9ydCBjbGFzcyBOZ3hzRmVhdHVyZU1vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBfc3RvcmU6IFN0b3JlLFxyXG4gICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxyXG4gICAgZmFjdG9yeTogU3RhdGVGYWN0b3J5LFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoRkVBVFVSRV9TVEFURV9UT0tFTilcclxuICAgIHN0YXRlczogU3RhdGVDbGFzc0ludGVybmFsW11bXSA9IFtdLFxyXG4gICAgbGlmZWN5Y2xlU3RhdGVNYW5hZ2VyOiBMaWZlY3ljbGVTdGF0ZU1hbmFnZXJcclxuICApIHtcclxuICAgIC8vIFNpbmNlIEZFQVRVUkVfU1RBVEVfVE9LRU4gaXMgYSBtdWx0aSB0b2tlbiwgd2UgbmVlZCB0b1xyXG4gICAgLy8gZmxhdHRlbiBpdCBbW0ZlYXR1cmUxU3RhdGUsIEZlYXR1cmUyU3RhdGVdLCBbRmVhdHVyZTNTdGF0ZV1dXHJcbiAgICBjb25zdCBmbGF0dGVuZWRTdGF0ZXM6IFN0YXRlQ2xhc3NJbnRlcm5hbFtdID0gTmd4c0ZlYXR1cmVNb2R1bGUuZmxhdHRlblN0YXRlcyhzdGF0ZXMpO1xyXG5cclxuICAgIC8vIGFkZCBzdG9yZXMgdG8gdGhlIHN0YXRlIGdyYXBoIGFuZCByZXR1cm4gdGhlaXIgZGVmYXVsdHNcclxuICAgIGNvbnN0IHJlc3VsdHM6IFN0YXRlc0FuZERlZmF1bHRzID0gZmFjdG9yeS5hZGRBbmRSZXR1cm5EZWZhdWx0cyhmbGF0dGVuZWRTdGF0ZXMpO1xyXG5cclxuICAgIGlmIChyZXN1bHRzLnN0YXRlcy5sZW5ndGgpIHtcclxuICAgICAgaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuc2V0U3RhdGVUb1RoZUN1cnJlbnRXaXRoTmV3KHJlc3VsdHMpO1xyXG5cclxuICAgICAgLy8gZGlzcGF0Y2ggdGhlIHVwZGF0ZSBhY3Rpb24gYW5kIGludm9rZSBpbml0IGFuZCBib290c3RyYXAgZnVuY3Rpb25zIGFmdGVyXHJcbiAgICAgIGxpZmVjeWNsZVN0YXRlTWFuYWdlci5uZ3hzQm9vdHN0cmFwKG5ldyBVcGRhdGVTdGF0ZShyZXN1bHRzLmRlZmF1bHRzKSwgcmVzdWx0cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBmbGF0dGVuU3RhdGVzKHN0YXRlczogU3RhdGVDbGFzc0ludGVybmFsW11bXSA9IFtdKTogU3RhdGVDbGFzc0ludGVybmFsW10ge1xyXG4gICAgcmV0dXJuIHN0YXRlcy5yZWR1Y2UoXHJcbiAgICAgICh0b3RhbDogU3RhdGVDbGFzc0ludGVybmFsW10sIHZhbHVlczogU3RhdGVDbGFzc0ludGVybmFsW10pID0+IHRvdGFsLmNvbmNhdCh2YWx1ZXMpLFxyXG4gICAgICBbXVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19