@ngxs/store 3.7.3 → 3.7.4-dev.master-327646e

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 (270) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +318 -215
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-internals.umd.js +398 -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 +311 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  13. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  14. package/bundles/ngxs-store.umd.js +4496 -4519
  15. package/bundles/ngxs-store.umd.js.map +1 -1
  16. package/bundles/ngxs-store.umd.min.js +1 -1
  17. package/bundles/ngxs-store.umd.min.js.map +1 -1
  18. package/esm2015/index.js +13 -13
  19. package/esm2015/internals/angular.js +20 -40
  20. package/esm2015/internals/decorator-injector-adapter.js +204 -0
  21. package/esm2015/internals/index.js +11 -10
  22. package/esm2015/internals/initial-state.js +34 -34
  23. package/esm2015/internals/internal-tokens.js +16 -16
  24. package/esm2015/internals/memoize.js +70 -70
  25. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  26. package/esm2015/internals/ngxs-store-internals.js +9 -9
  27. package/esm2015/internals/src/symbols.js +14 -14
  28. package/esm2015/internals/symbols.js +14 -14
  29. package/esm2015/internals/testing/fresh-platform.js +110 -71
  30. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  31. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  32. package/esm2015/internals/testing/index.js +8 -7
  33. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -9
  34. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  35. package/esm2015/internals/testing/skip-console-logging.js +62 -0
  36. package/esm2015/internals/testing/symbol.js +29 -29
  37. package/esm2015/ngxs-store.js +23 -27
  38. package/esm2015/operators/append.js +31 -31
  39. package/esm2015/operators/compose.js +24 -24
  40. package/esm2015/operators/iif.js +56 -56
  41. package/esm2015/operators/index.js +18 -18
  42. package/esm2015/operators/insert-item.js +41 -41
  43. package/esm2015/operators/internals.js +5 -5
  44. package/esm2015/operators/ngxs-store-operators.js +8 -8
  45. package/esm2015/operators/patch.js +38 -39
  46. package/esm2015/operators/remove-item.js +34 -34
  47. package/esm2015/operators/update-item.js +54 -52
  48. package/esm2015/operators/utils.js +50 -50
  49. package/esm2015/src/actions/actions.js +39 -39
  50. package/esm2015/src/actions/symbols.js +39 -39
  51. package/esm2015/src/actions-stream.js +138 -140
  52. package/esm2015/src/configs/messages.config.js +79 -87
  53. package/esm2015/src/decorators/action.js +48 -44
  54. package/esm2015/src/decorators/select/select-factory.js +49 -46
  55. package/esm2015/src/decorators/select/select.js +81 -45
  56. package/esm2015/src/decorators/select/symbols.js +94 -50
  57. package/esm2015/src/decorators/selector/selector.js +59 -55
  58. package/esm2015/src/decorators/selector/symbols.js +5 -5
  59. package/esm2015/src/decorators/selector-options.js +34 -34
  60. package/esm2015/src/decorators/state.js +83 -75
  61. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -96
  62. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  63. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -27
  64. package/esm2015/src/execution/symbols.js +52 -29
  65. package/esm2015/src/internal/dispatcher.js +217 -217
  66. package/esm2015/src/internal/internals.js +493 -489
  67. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  68. package/esm2015/src/internal/state-context-factory.js +138 -138
  69. package/esm2015/src/internal/state-factory.js +449 -429
  70. package/esm2015/src/internal/state-operations.js +133 -125
  71. package/esm2015/src/internal/state-operators.js +33 -33
  72. package/esm2015/src/internal/state-stream.js +30 -21
  73. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  74. package/esm2015/src/module.js +157 -172
  75. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  76. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  77. package/esm2015/src/operators/leave-ngxs.js +58 -58
  78. package/esm2015/src/operators/of-action.js +197 -191
  79. package/esm2015/src/plugin-manager.js +70 -70
  80. package/esm2015/src/plugin_api.js +10 -10
  81. package/esm2015/src/public_api.js +29 -29
  82. package/esm2015/src/public_to_deprecate.js +64 -64
  83. package/esm2015/src/state-token/state-token.js +45 -45
  84. package/esm2015/src/state-token/symbols.js +5 -5
  85. package/esm2015/src/store.js +190 -174
  86. package/esm2015/src/symbols.js +220 -221
  87. package/esm2015/src/utils/compose.js +44 -44
  88. package/esm2015/src/utils/freeze.js +35 -35
  89. package/esm2015/src/utils/selector-utils.js +221 -221
  90. package/esm2015/src/utils/store-validators.js +60 -65
  91. package/esm2015/src/utils/utils.js +143 -143
  92. package/esm5/index.js +13 -13
  93. package/esm5/internals/angular.js +20 -40
  94. package/esm5/internals/decorator-injector-adapter.js +204 -0
  95. package/esm5/internals/index.js +11 -10
  96. package/esm5/internals/initial-state.js +45 -45
  97. package/esm5/internals/internal-tokens.js +16 -16
  98. package/esm5/internals/memoize.js +71 -71
  99. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  100. package/esm5/internals/ngxs-store-internals.js +9 -9
  101. package/esm5/internals/src/symbols.js +14 -14
  102. package/esm5/internals/symbols.js +14 -14
  103. package/esm5/internals/testing/fresh-platform.js +121 -81
  104. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  105. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  106. package/esm5/internals/testing/index.js +8 -7
  107. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -9
  108. package/esm5/internals/testing/ngxs.setup.js +98 -98
  109. package/esm5/internals/testing/skip-console-logging.js +62 -0
  110. package/esm5/internals/testing/symbol.js +29 -29
  111. package/esm5/ngxs-store.js +23 -27
  112. package/esm5/operators/append.js +31 -31
  113. package/esm5/operators/compose.js +28 -28
  114. package/esm5/operators/iif.js +56 -56
  115. package/esm5/operators/index.js +18 -18
  116. package/esm5/operators/insert-item.js +41 -41
  117. package/esm5/operators/internals.js +5 -5
  118. package/esm5/operators/ngxs-store-operators.js +8 -8
  119. package/esm5/operators/patch.js +39 -40
  120. package/esm5/operators/remove-item.js +34 -34
  121. package/esm5/operators/update-item.js +54 -52
  122. package/esm5/operators/utils.js +50 -50
  123. package/esm5/src/actions/actions.js +62 -62
  124. package/esm5/src/actions/symbols.js +39 -39
  125. package/esm5/src/actions-stream.js +184 -186
  126. package/esm5/src/configs/messages.config.js +79 -104
  127. package/esm5/src/decorators/action.js +60 -56
  128. package/esm5/src/decorators/select/select-factory.js +50 -47
  129. package/esm5/src/decorators/select/select.js +87 -50
  130. package/esm5/src/decorators/select/symbols.js +95 -51
  131. package/esm5/src/decorators/selector/selector.js +59 -55
  132. package/esm5/src/decorators/selector/symbols.js +5 -5
  133. package/esm5/src/decorators/selector-options.js +34 -34
  134. package/esm5/src/decorators/state.js +84 -76
  135. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -121
  136. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  137. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -41
  138. package/esm5/src/execution/symbols.js +52 -29
  139. package/esm5/src/internal/dispatcher.js +253 -253
  140. package/esm5/src/internal/internals.js +495 -491
  141. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  142. package/esm5/src/internal/state-context-factory.js +146 -146
  143. package/esm5/src/internal/state-factory.js +575 -563
  144. package/esm5/src/internal/state-operations.js +143 -139
  145. package/esm5/src/internal/state-operators.js +34 -34
  146. package/esm5/src/internal/state-stream.js +37 -25
  147. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  148. package/esm5/src/module.js +200 -215
  149. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  150. package/esm5/src/modules/ngxs-root.module.js +47 -47
  151. package/esm5/src/operators/leave-ngxs.js +58 -58
  152. package/esm5/src/operators/of-action.js +223 -217
  153. package/esm5/src/plugin-manager.js +82 -82
  154. package/esm5/src/plugin_api.js +10 -10
  155. package/esm5/src/public_api.js +29 -29
  156. package/esm5/src/public_to_deprecate.js +64 -64
  157. package/esm5/src/state-token/state-token.js +57 -57
  158. package/esm5/src/state-token/symbols.js +5 -5
  159. package/esm5/src/store.js +241 -225
  160. package/esm5/src/symbols.js +229 -230
  161. package/esm5/src/utils/compose.js +55 -55
  162. package/esm5/src/utils/freeze.js +35 -35
  163. package/esm5/src/utils/selector-utils.js +230 -230
  164. package/esm5/src/utils/store-validators.js +78 -86
  165. package/esm5/src/utils/utils.js +151 -151
  166. package/fesm2015/ngxs-store-internals-testing.js +278 -177
  167. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  168. package/fesm2015/ngxs-store-internals.js +378 -194
  169. package/fesm2015/ngxs-store-internals.js.map +1 -1
  170. package/fesm2015/ngxs-store-operators.js +313 -312
  171. package/fesm2015/ngxs-store-operators.js.map +1 -1
  172. package/fesm2015/ngxs-store.js +3999 -3979
  173. package/fesm2015/ngxs-store.js.map +1 -1
  174. package/fesm5/ngxs-store-internals-testing.js +325 -223
  175. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  176. package/fesm5/ngxs-store-internals.js +403 -219
  177. package/fesm5/ngxs-store-internals.js.map +1 -1
  178. package/fesm5/ngxs-store-operators.js +317 -316
  179. package/fesm5/ngxs-store-operators.js.map +1 -1
  180. package/fesm5/ngxs-store.js +4494 -4512
  181. package/fesm5/ngxs-store.js.map +1 -1
  182. package/index.d.ts +8 -8
  183. package/internals/angular.d.ts +1 -3
  184. package/internals/decorator-injector-adapter.d.ts +15 -0
  185. package/internals/index.d.ts +7 -6
  186. package/internals/initial-state.d.ts +8 -8
  187. package/internals/internal-tokens.d.ts +9 -9
  188. package/internals/memoize.d.ts +9 -9
  189. package/internals/ngxs-bootstrapper.d.ts +13 -13
  190. package/internals/ngxs-store-internals.d.ts +4 -4
  191. package/internals/ngxs-store-internals.metadata.json +1 -1
  192. package/internals/src/symbols.d.ts +7 -7
  193. package/internals/symbols.d.ts +7 -7
  194. package/internals/testing/fresh-platform.d.ts +1 -1
  195. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  196. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  197. package/internals/testing/index.d.ts +4 -3
  198. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  199. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
  200. package/internals/testing/ngxs.setup.d.ts +7 -7
  201. package/internals/testing/skip-console-logging.d.ts +1 -0
  202. package/internals/testing/symbol.d.ts +14 -14
  203. package/ngxs-store.d.ts +19 -23
  204. package/ngxs-store.metadata.json +1 -1
  205. package/operators/append.d.ts +6 -6
  206. package/operators/compose.d.ts +3 -2
  207. package/operators/iif.d.ts +11 -11
  208. package/operators/index.d.ts +13 -13
  209. package/operators/insert-item.d.ts +7 -7
  210. package/operators/internals.d.ts +2 -2
  211. package/operators/ngxs-store-operators.d.ts +4 -4
  212. package/operators/ngxs-store-operators.metadata.json +1 -1
  213. package/operators/patch.d.ts +6 -10
  214. package/operators/remove-item.d.ts +7 -7
  215. package/operators/update-item.d.ts +10 -10
  216. package/operators/utils.d.ts +10 -9
  217. package/package.json +3 -3
  218. package/src/actions/actions.d.ts +15 -15
  219. package/src/actions/symbols.d.ts +21 -21
  220. package/src/actions-stream.d.ts +49 -49
  221. package/src/configs/messages.config.d.ts +11 -30
  222. package/src/decorators/action.d.ts +5 -5
  223. package/src/decorators/select/select-factory.d.ts +13 -14
  224. package/src/decorators/select/select.d.ts +4 -4
  225. package/src/decorators/select/symbols.d.ts +14 -10
  226. package/src/decorators/selector/selector.d.ts +5 -5
  227. package/src/decorators/selector/symbols.d.ts +4 -4
  228. package/src/decorators/selector-options.d.ts +5 -5
  229. package/src/decorators/state.d.ts +6 -6
  230. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  231. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  232. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  233. package/src/execution/symbols.d.ts +10 -6
  234. package/src/internal/dispatcher.d.ts +32 -32
  235. package/src/internal/internals.d.ts +166 -167
  236. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  237. package/src/internal/state-context-factory.d.ts +15 -15
  238. package/src/internal/state-factory.d.ts +57 -58
  239. package/src/internal/state-operations.d.ts +19 -21
  240. package/src/internal/state-operators.d.ts +2 -2
  241. package/src/internal/state-stream.d.ts +11 -9
  242. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  243. package/src/module.d.ts +23 -23
  244. package/src/modules/ngxs-feature.module.d.ts +13 -13
  245. package/src/modules/ngxs-root.module.d.ts +13 -13
  246. package/src/operators/leave-ngxs.d.ts +7 -7
  247. package/src/operators/of-action.d.ts +56 -43
  248. package/src/plugin-manager.d.ts +10 -10
  249. package/src/plugin_api.d.ts +5 -5
  250. package/src/public_api.d.ts +17 -17
  251. package/src/public_to_deprecate.d.ts +21 -21
  252. package/src/state-token/state-token.d.ts +7 -7
  253. package/src/state-token/symbols.d.ts +5 -5
  254. package/src/store.d.ts +59 -53
  255. package/src/symbols.d.ts +138 -137
  256. package/src/utils/compose.d.ts +23 -23
  257. package/src/utils/freeze.d.ts +5 -5
  258. package/src/utils/selector-utils.d.ts +23 -23
  259. package/src/utils/store-validators.d.ts +7 -8
  260. package/src/utils/utils.d.ts +46 -46
  261. package/types/index.d.ts +2 -2
  262. package/esm2015/src/host-environment/host-environment.js +0 -31
  263. package/esm2015/src/internal/config-validator.js +0 -67
  264. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  265. package/esm5/src/host-environment/host-environment.js +0 -29
  266. package/esm5/src/internal/config-validator.js +0 -76
  267. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  268. package/src/host-environment/host-environment.d.ts +0 -6
  269. package/src/internal/config-validator.d.ts +0 -10
  270. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -1,125 +1,133 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from '@angular/core';
6
- import { InternalDispatcher } from '../internal/dispatcher';
7
- import { StateStream } from './state-stream';
8
- import { NgxsConfig } from '../symbols';
9
- import { deepFreeze } from '../utils/freeze';
10
- import { ConfigValidator } from '../internal/config-validator';
11
- /**
12
- * State Context factory class
13
- * @ignore
14
- */
15
- export class InternalStateOperations {
16
- /**
17
- * @param {?} _stateStream
18
- * @param {?} _dispatcher
19
- * @param {?} _config
20
- * @param {?} configValidator
21
- */
22
- constructor(_stateStream, _dispatcher, _config, configValidator) {
23
- this._stateStream = _stateStream;
24
- this._dispatcher = _dispatcher;
25
- this._config = _config;
26
- configValidator.verifyDevMode();
27
- }
28
- /**
29
- * Returns the root state operators.
30
- * @return {?}
31
- */
32
- getRootStateOperations() {
33
- /** @type {?} */
34
- const rootStateOperations = {
35
- getState: (/**
36
- * @return {?}
37
- */
38
- () => this._stateStream.getValue()),
39
- setState: (/**
40
- * @param {?} newState
41
- * @return {?}
42
- */
43
- (newState) => this._stateStream.next(newState)),
44
- dispatch: (/**
45
- * @param {?} actionOrActions
46
- * @return {?}
47
- */
48
- (actionOrActions) => this._dispatcher.dispatch(actionOrActions))
49
- };
50
- if (this._config.developmentMode) {
51
- return this.ensureStateAndActionsAreImmutable(rootStateOperations);
52
- }
53
- return rootStateOperations;
54
- }
55
- /**
56
- * @private
57
- * @param {?} root
58
- * @return {?}
59
- */
60
- ensureStateAndActionsAreImmutable(root) {
61
- return {
62
- getState: (/**
63
- * @return {?}
64
- */
65
- () => root.getState()),
66
- setState: (/**
67
- * @param {?} value
68
- * @return {?}
69
- */
70
- value => {
71
- /** @type {?} */
72
- const frozenValue = deepFreeze(value);
73
- return root.setState(frozenValue);
74
- }),
75
- dispatch: (/**
76
- * @param {?} actions
77
- * @return {?}
78
- */
79
- actions => {
80
- return root.dispatch(actions);
81
- })
82
- };
83
- }
84
- /**
85
- * @param {?} results
86
- * @return {?}
87
- */
88
- setStateToTheCurrentWithNew(results) {
89
- /** @type {?} */
90
- const stateOperations = this.getRootStateOperations();
91
- // Get our current stream
92
- /** @type {?} */
93
- const currentState = stateOperations.getState();
94
- // Set the state to the current + new
95
- stateOperations.setState(Object.assign({}, currentState, results.defaults));
96
- }
97
- }
98
- InternalStateOperations.decorators = [
99
- { type: Injectable }
100
- ];
101
- /** @nocollapse */
102
- InternalStateOperations.ctorParameters = () => [
103
- { type: StateStream },
104
- { type: InternalDispatcher },
105
- { type: NgxsConfig },
106
- { type: ConfigValidator }
107
- ];
108
- if (false) {
109
- /**
110
- * @type {?}
111
- * @private
112
- */
113
- InternalStateOperations.prototype._stateStream;
114
- /**
115
- * @type {?}
116
- * @private
117
- */
118
- InternalStateOperations.prototype._dispatcher;
119
- /**
120
- * @type {?}
121
- * @private
122
- */
123
- InternalStateOperations.prototype._config;
124
- }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7OztJQUNsQyxZQUNVLFlBQXlCLEVBQ3pCLFdBQStCLEVBQy9CLE9BQW1CLEVBQzNCLGVBQWdDO1FBSHhCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRzNCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUtELHNCQUFzQjs7Y0FDZCxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLFFBQVE7Ozs7WUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLENBQUMsZUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7U0FDdkY7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDcEU7UUFFRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7Ozs7OztJQUVPLGlDQUFpQyxDQUFDLElBQTBCO1FBQ2xFLE9BQU87WUFDTCxRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7WUFDL0IsUUFBUTs7OztZQUFFLEtBQUssQ0FBQyxFQUFFOztzQkFDVixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztnQkFDckMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQTtZQUNELFFBQVE7Ozs7WUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQTtTQUNGLENBQUM7SUFDSixDQUFDOzs7OztJQUVELDJCQUEyQixDQUFDLE9BQTBCOztjQUM5QyxlQUFlLEdBQXlCLElBQUksQ0FBQyxzQkFBc0IsRUFBRTs7O2NBR3JFLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQy9DLHFDQUFxQztRQUNyQyxlQUFlLENBQUMsUUFBUSxtQkFBTSxZQUFZLEVBQUssT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFDO0lBQ3JFLENBQUM7OztZQWhERixVQUFVOzs7O1lBVEYsV0FBVztZQURYLGtCQUFrQjtZQUVsQixVQUFVO1lBRVYsZUFBZTs7Ozs7OztJQVNwQiwrQ0FBaUM7Ozs7O0lBQ2pDLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3RhdGVPcGVyYXRpb25zLCBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XHJcbmltcG9ydCB7IEludGVybmFsRGlzcGF0Y2hlciB9IGZyb20gJy4uL2ludGVybmFsL2Rpc3BhdGNoZXInO1xyXG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcclxuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4uL3N5bWJvbHMnO1xyXG5pbXBvcnQgeyBkZWVwRnJlZXplIH0gZnJvbSAnLi4vdXRpbHMvZnJlZXplJztcclxuaW1wb3J0IHsgQ29uZmlnVmFsaWRhdG9yIH0gZnJvbSAnLi4vaW50ZXJuYWwvY29uZmlnLXZhbGlkYXRvcic7XHJcblxyXG4vKipcclxuICogU3RhdGUgQ29udGV4dCBmYWN0b3J5IGNsYXNzXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEludGVybmFsU3RhdGVPcGVyYXRpb25zIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3N0YXRlU3RyZWFtOiBTdGF0ZVN0cmVhbSxcclxuICAgIHByaXZhdGUgX2Rpc3BhdGNoZXI6IEludGVybmFsRGlzcGF0Y2hlcixcclxuICAgIHByaXZhdGUgX2NvbmZpZzogTmd4c0NvbmZpZyxcclxuICAgIGNvbmZpZ1ZhbGlkYXRvcjogQ29uZmlnVmFsaWRhdG9yXHJcbiAgKSB7XHJcbiAgICBjb25maWdWYWxpZGF0b3IudmVyaWZ5RGV2TW9kZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgcm9vdCBzdGF0ZSBvcGVyYXRvcnMuXHJcbiAgICovXHJcbiAgZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XHJcbiAgICBjb25zdCByb290U3RhdGVPcGVyYXRpb25zID0ge1xyXG4gICAgICBnZXRTdGF0ZTogKCkgPT4gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSxcclxuICAgICAgc2V0U3RhdGU6IChuZXdTdGF0ZTogYW55KSA9PiB0aGlzLl9zdGF0ZVN0cmVhbS5uZXh0KG5ld1N0YXRlKSxcclxuICAgICAgZGlzcGF0Y2g6IChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKSA9PiB0aGlzLl9kaXNwYXRjaGVyLmRpc3BhdGNoKGFjdGlvbk9yQWN0aW9ucylcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5kZXZlbG9wbWVudE1vZGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByb290U3RhdGVPcGVyYXRpb25zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdDogU3RhdGVPcGVyYXRpb25zPGFueT4pOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBnZXRTdGF0ZTogKCkgPT4gcm9vdC5nZXRTdGF0ZSgpLFxyXG4gICAgICBzZXRTdGF0ZTogdmFsdWUgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZyb3plblZhbHVlID0gZGVlcEZyZWV6ZSh2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIHJvb3Quc2V0U3RhdGUoZnJvemVuVmFsdWUpO1xyXG4gICAgICB9LFxyXG4gICAgICBkaXNwYXRjaDogYWN0aW9ucyA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHJvb3QuZGlzcGF0Y2goYWN0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0YXRlT3BlcmF0aW9uczogU3RhdGVPcGVyYXRpb25zPGFueT4gPSB0aGlzLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTtcclxuXHJcbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXHJcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBzdGF0ZU9wZXJhdGlvbnMuZ2V0U3RhdGUoKTtcclxuICAgIC8vIFNldCB0aGUgc3RhdGUgdG8gdGhlIGN1cnJlbnQgKyBuZXdcclxuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcclxuICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { isAngularInTestMode } from '@ngxs/store/internals';
7
+ import { InternalDispatcher } from '../internal/dispatcher';
8
+ import { StateStream } from './state-stream';
9
+ import { NgxsConfig } from '../symbols';
10
+ import { deepFreeze } from '../utils/freeze';
11
+ /**
12
+ * State Context factory class
13
+ * @ignore
14
+ */
15
+ export class InternalStateOperations {
16
+ /**
17
+ * @param {?} _stateStream
18
+ * @param {?} _dispatcher
19
+ * @param {?} _config
20
+ */
21
+ constructor(_stateStream, _dispatcher, _config) {
22
+ this._stateStream = _stateStream;
23
+ this._dispatcher = _dispatcher;
24
+ this._config = _config;
25
+ }
26
+ /**
27
+ * Returns the root state operators.
28
+ * @return {?}
29
+ */
30
+ getRootStateOperations() {
31
+ /** @type {?} */
32
+ const rootStateOperations = {
33
+ getState: (/**
34
+ * @return {?}
35
+ */
36
+ () => this._stateStream.getValue()),
37
+ setState: (/**
38
+ * @param {?} newState
39
+ * @return {?}
40
+ */
41
+ (newState) => this._stateStream.next(newState)),
42
+ dispatch: (/**
43
+ * @param {?} actionOrActions
44
+ * @return {?}
45
+ */
46
+ (actionOrActions) => this._dispatcher.dispatch(actionOrActions))
47
+ };
48
+ // We have to have that duplication since this will allow us to tree-shake `ensureStateAndActionsAreImmutable`
49
+ // and `deepFreeze` in Ivy production build.
50
+ // The below `if` condition checks 2 things:
51
+ // 1) if we're in View Engine (`ngDevMode` is `undefined`)
52
+ // 2) if we're running tests, we should fallback to `config.developmentMode` to be backwards-compatible
53
+ if (typeof ngDevMode === 'undefined' || (ngDevMode && isAngularInTestMode())) {
54
+ return this._config.developmentMode
55
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
56
+ : rootStateOperations;
57
+ }
58
+ else {
59
+ // If we're in Ivy and not running tests, then tree-shake `ensureStateAndActionsAreImmutable` and `deepFreeze`.
60
+ return ngDevMode
61
+ ? ensureStateAndActionsAreImmutable(rootStateOperations)
62
+ : rootStateOperations;
63
+ }
64
+ }
65
+ /**
66
+ * @param {?} results
67
+ * @return {?}
68
+ */
69
+ setStateToTheCurrentWithNew(results) {
70
+ /** @type {?} */
71
+ const stateOperations = this.getRootStateOperations();
72
+ // Get our current stream
73
+ /** @type {?} */
74
+ const currentState = stateOperations.getState();
75
+ // Set the state to the current + new
76
+ stateOperations.setState(Object.assign({}, currentState, results.defaults));
77
+ }
78
+ }
79
+ InternalStateOperations.decorators = [
80
+ { type: Injectable }
81
+ ];
82
+ /** @nocollapse */
83
+ InternalStateOperations.ctorParameters = () => [
84
+ { type: StateStream },
85
+ { type: InternalDispatcher },
86
+ { type: NgxsConfig }
87
+ ];
88
+ if (false) {
89
+ /**
90
+ * @type {?}
91
+ * @private
92
+ */
93
+ InternalStateOperations.prototype._stateStream;
94
+ /**
95
+ * @type {?}
96
+ * @private
97
+ */
98
+ InternalStateOperations.prototype._dispatcher;
99
+ /**
100
+ * @type {?}
101
+ * @private
102
+ */
103
+ InternalStateOperations.prototype._config;
104
+ }
105
+ /**
106
+ * @param {?} root
107
+ * @return {?}
108
+ */
109
+ function ensureStateAndActionsAreImmutable(root) {
110
+ return {
111
+ getState: (/**
112
+ * @return {?}
113
+ */
114
+ () => root.getState()),
115
+ setState: (/**
116
+ * @param {?} value
117
+ * @return {?}
118
+ */
119
+ value => {
120
+ /** @type {?} */
121
+ const frozenValue = deepFreeze(value);
122
+ return root.setState(frozenValue);
123
+ }),
124
+ dispatch: (/**
125
+ * @param {?} actions
126
+ * @return {?}
127
+ */
128
+ actions => {
129
+ return root.dispatch(actions);
130
+ })
131
+ };
132
+ }
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU83QyxNQUFNLE9BQU8sdUJBQXVCOzs7Ozs7SUFDbEMsWUFDVSxZQUF5QixFQUN6QixXQUErQixFQUMvQixPQUFtQjtRQUZuQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUMxQixDQUFDOzs7OztJQUtKLHNCQUFzQjs7Y0FDZCxtQkFBbUIsR0FBRztZQUMxQixRQUFROzs7WUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQzVDLFFBQVE7Ozs7WUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0QsUUFBUTs7OztZQUFFLENBQUMsZUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUE7U0FDdkY7UUFFRCw4R0FBOEc7UUFDOUcsNENBQTRDO1FBQzVDLDRDQUE0QztRQUM1QywwREFBMEQ7UUFDMUQsdUdBQXVHO1FBQ3ZHLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLENBQUMsU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUMsRUFBRTtZQUM1RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZTtnQkFDakMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7YUFBTTtZQUNMLCtHQUErRztZQUMvRyxPQUFPLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLG1CQUFtQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7U0FDekI7SUFDSCxDQUFDOzs7OztJQUVELDJCQUEyQixDQUFDLE9BQTBCOztjQUM5QyxlQUFlLEdBQXlCLElBQUksQ0FBQyxzQkFBc0IsRUFBRTs7O2NBR3JFLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQy9DLHFDQUFxQztRQUNyQyxlQUFlLENBQUMsUUFBUSxtQkFBTSxZQUFZLEVBQUssT0FBTyxDQUFDLFFBQVEsRUFBRyxDQUFDO0lBQ3JFLENBQUM7OztZQTFDRixVQUFVOzs7O1lBUkYsV0FBVztZQURYLGtCQUFrQjtZQUVsQixVQUFVOzs7Ozs7O0lBVWYsK0NBQWlDOzs7OztJQUNqQyw4Q0FBdUM7Ozs7O0lBQ3ZDLDBDQUEyQjs7Ozs7O0FBd0MvQixTQUFTLGlDQUFpQyxDQUFDLElBQTBCO0lBQ25FLE9BQU87UUFDTCxRQUFROzs7UUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsUUFBUTs7OztRQUFFLEtBQUssQ0FBQyxFQUFFOztrQkFDVixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBQ0QsUUFBUTs7OztRQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUE7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQW5ndWxhckluVGVzdE1vZGUgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdGlvbnMsIFN0YXRlc0FuZERlZmF1bHRzIH0gZnJvbSAnLi4vaW50ZXJuYWwvaW50ZXJuYWxzJztcbmltcG9ydCB7IEludGVybmFsRGlzcGF0Y2hlciB9IGZyb20gJy4uL2ludGVybmFsL2Rpc3BhdGNoZXInO1xuaW1wb3J0IHsgU3RhdGVTdHJlYW0gfSBmcm9tICcuL3N0YXRlLXN0cmVhbSc7XG5pbXBvcnQgeyBOZ3hzQ29uZmlnIH0gZnJvbSAnLi4vc3ltYm9scyc7XG5pbXBvcnQgeyBkZWVwRnJlZXplIH0gZnJvbSAnLi4vdXRpbHMvZnJlZXplJztcblxuLyoqXG4gKiBTdGF0ZSBDb250ZXh0IGZhY3RvcnkgY2xhc3NcbiAqIEBpZ25vcmVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEludGVybmFsU3RhdGVPcGVyYXRpb25zIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX2Rpc3BhdGNoZXI6IEludGVybmFsRGlzcGF0Y2hlcixcbiAgICBwcml2YXRlIF9jb25maWc6IE5neHNDb25maWdcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb290IHN0YXRlIG9wZXJhdG9ycy5cbiAgICovXG4gIGdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTogU3RhdGVPcGVyYXRpb25zPGFueT4ge1xuICAgIGNvbnN0IHJvb3RTdGF0ZU9wZXJhdGlvbnMgPSB7XG4gICAgICBnZXRTdGF0ZTogKCkgPT4gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSxcbiAgICAgIHNldFN0YXRlOiAobmV3U3RhdGU6IGFueSkgPT4gdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXdTdGF0ZSksXG4gICAgICBkaXNwYXRjaDogKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pID0+IHRoaXMuX2Rpc3BhdGNoZXIuZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zKVxuICAgIH07XG5cbiAgICAvLyBXZSBoYXZlIHRvIGhhdmUgdGhhdCBkdXBsaWNhdGlvbiBzaW5jZSB0aGlzIHdpbGwgYWxsb3cgdXMgdG8gdHJlZS1zaGFrZSBgZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlYFxuICAgIC8vIGFuZCBgZGVlcEZyZWV6ZWAgaW4gSXZ5IHByb2R1Y3Rpb24gYnVpbGQuXG4gICAgLy8gVGhlIGJlbG93IGBpZmAgY29uZGl0aW9uIGNoZWNrcyAyIHRoaW5nczpcbiAgICAvLyAxKSBpZiB3ZSdyZSBpbiBWaWV3IEVuZ2luZSAoYG5nRGV2TW9kZWAgaXMgYHVuZGVmaW5lZGApXG4gICAgLy8gMikgaWYgd2UncmUgcnVubmluZyB0ZXN0cywgd2Ugc2hvdWxkIGZhbGxiYWNrIHRvIGBjb25maWcuZGV2ZWxvcG1lbnRNb2RlYCB0byBiZSBiYWNrd2FyZHMtY29tcGF0aWJsZVxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCAobmdEZXZNb2RlICYmIGlzQW5ndWxhckluVGVzdE1vZGUoKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcuZGV2ZWxvcG1lbnRNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgd2UncmUgaW4gSXZ5IGFuZCBub3QgcnVubmluZyB0ZXN0cywgdGhlbiB0cmVlLXNoYWtlIGBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGVgIGFuZCBgZGVlcEZyZWV6ZWAuXG4gICAgICByZXR1cm4gbmdEZXZNb2RlXG4gICAgICAgID8gZW5zdXJlU3RhdGVBbmRBY3Rpb25zQXJlSW1tdXRhYmxlKHJvb3RTdGF0ZU9wZXJhdGlvbnMpXG4gICAgICAgIDogcm9vdFN0YXRlT3BlcmF0aW9ucztcbiAgICB9XG4gIH1cblxuICBzZXRTdGF0ZVRvVGhlQ3VycmVudFdpdGhOZXcocmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZU9wZXJhdGlvbnM6IFN0YXRlT3BlcmF0aW9uczxhbnk+ID0gdGhpcy5nZXRSb290U3RhdGVPcGVyYXRpb25zKCk7XG5cbiAgICAvLyBHZXQgb3VyIGN1cnJlbnQgc3RyZWFtXG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gc3RhdGVPcGVyYXRpb25zLmdldFN0YXRlKCk7XG4gICAgLy8gU2V0IHRoZSBzdGF0ZSB0byB0aGUgY3VycmVudCArIG5ld1xuICAgIHN0YXRlT3BlcmF0aW9ucy5zZXRTdGF0ZSh7IC4uLmN1cnJlbnRTdGF0ZSwgLi4ucmVzdWx0cy5kZWZhdWx0cyB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbnN1cmVTdGF0ZUFuZEFjdGlvbnNBcmVJbW11dGFibGUocm9vdDogU3RhdGVPcGVyYXRpb25zPGFueT4pOiBTdGF0ZU9wZXJhdGlvbnM8YW55PiB7XG4gIHJldHVybiB7XG4gICAgZ2V0U3RhdGU6ICgpID0+IHJvb3QuZ2V0U3RhdGUoKSxcbiAgICBzZXRTdGF0ZTogdmFsdWUgPT4ge1xuICAgICAgY29uc3QgZnJvemVuVmFsdWUgPSBkZWVwRnJlZXplKHZhbHVlKTtcbiAgICAgIHJldHVybiByb290LnNldFN0YXRlKGZyb3plblZhbHVlKTtcbiAgICB9LFxuICAgIGRpc3BhdGNoOiBhY3Rpb25zID0+IHtcbiAgICAgIHJldHVybiByb290LmRpc3BhdGNoKGFjdGlvbnMpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,33 +1,33 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { CONFIG_MESSAGES as MESSAGES, VALIDATION_CODE as CODE } from '../configs/messages.config';
6
- /**
7
- * @template T
8
- * @param {?} val
9
- * @return {?}
10
- */
11
- export function simplePatch(val) {
12
- return (/**
13
- * @param {?} existingState
14
- * @return {?}
15
- */
16
- (existingState) => {
17
- if (Array.isArray(val)) {
18
- throw new Error(MESSAGES[CODE.PATCHING_ARRAY]());
19
- }
20
- else if (typeof val !== 'object') {
21
- throw new Error(MESSAGES[CODE.PATCHING_PRIMITIVE]());
22
- }
23
- /** @type {?} */
24
- const newState = Object.assign({}, ((/** @type {?} */ (existingState))));
25
- for (const key in val) {
26
- // deep clone for patch compatibility
27
- // noinspection JSUnfilteredForInLoop (IDE)
28
- newState[key] = ((/** @type {?} */ (val)))[key];
29
- }
30
- return (/** @type {?} */ (newState));
31
- });
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsZUFBZSxJQUFJLFFBQVEsRUFDM0IsZUFBZSxJQUFJLElBQUksRUFDeEIsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBR3BDLE1BQU0sVUFBVSxXQUFXLENBQUksR0FBZTtJQUM1Qzs7OztJQUFPLENBQUMsYUFBMEIsRUFBRSxFQUFFO1FBQ3BDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO2FBQU0sSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3REOztjQUVLLFFBQVEscUJBQWEsQ0FBQyxtQkFBQSxhQUFhLEVBQU8sQ0FBQyxDQUFFO1FBQ25ELEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLHFDQUFxQztZQUNyQywyQ0FBMkM7WUFDM0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUEsR0FBRyxFQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sbUJBQUEsUUFBUSxFQUFLLENBQUM7SUFDdkIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ09ORklHX01FU1NBR0VTIGFzIE1FU1NBR0VTLFxyXG4gIFZBTElEQVRJT05fQ09ERSBhcyBDT0RFXHJcbn0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xyXG5pbXBvcnQgeyBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi4vc3ltYm9scyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxlUGF0Y2g8VD4odmFsOiBQYXJ0aWFsPFQ+KTogU3RhdGVPcGVyYXRvcjxUPiB7XHJcbiAgcmV0dXJuIChleGlzdGluZ1N0YXRlOiBSZWFkb25seTxUPikgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoTUVTU0FHRVNbQ09ERS5QQVRDSElOR19BUlJBWV0oKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgIT09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihNRVNTQUdFU1tDT0RFLlBBVENISU5HX1BSSU1JVElWRV0oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbmV3U3RhdGU6IGFueSA9IHsgLi4uKGV4aXN0aW5nU3RhdGUgYXMgYW55KSB9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsKSB7XHJcbiAgICAgIC8vIGRlZXAgY2xvbmUgZm9yIHBhdGNoIGNvbXBhdGliaWxpdHlcclxuICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTVW5maWx0ZXJlZEZvckluTG9vcCAoSURFKVxyXG4gICAgICBuZXdTdGF0ZVtrZXldID0gKHZhbCBhcyBhbnkpW2tleV07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ld1N0YXRlIGFzIFQ7XHJcbiAgfTtcclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { throwPatchingArrayError, throwPatchingPrimitiveError } from '../configs/messages.config';
6
+ /**
7
+ * @template T
8
+ * @param {?} val
9
+ * @return {?}
10
+ */
11
+ export function simplePatch(val) {
12
+ return (/**
13
+ * @param {?} existingState
14
+ * @return {?}
15
+ */
16
+ (existingState) => {
17
+ if (Array.isArray(val)) {
18
+ throwPatchingArrayError();
19
+ }
20
+ else if (typeof val !== 'object') {
21
+ throwPatchingPrimitiveError();
22
+ }
23
+ /** @type {?} */
24
+ const newState = Object.assign({}, ((/** @type {?} */ (existingState))));
25
+ for (const key in val) {
26
+ // deep clone for patch compatibility
27
+ // noinspection JSUnfilteredForInLoop (IDE)
28
+ newState[key] = ((/** @type {?} */ (val)))[key];
29
+ }
30
+ return (/** @type {?} */ (newState));
31
+ });
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUM1QixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFHcEMsTUFBTSxVQUFVLFdBQVcsQ0FBSSxHQUFlO0lBQzVDOzs7O0lBQU8sQ0FBQyxhQUEwQixFQUFFLEVBQUU7UUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLHVCQUF1QixFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUNsQywyQkFBMkIsRUFBRSxDQUFDO1NBQy9COztjQUVLLFFBQVEscUJBQWEsQ0FBQyxtQkFBQSxhQUFhLEVBQU8sQ0FBQyxDQUFFO1FBQ25ELEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLHFDQUFxQztZQUNyQywyQ0FBMkM7WUFDM0MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQUEsR0FBRyxFQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sbUJBQUEsUUFBUSxFQUFLLENBQUM7SUFDdkIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHRocm93UGF0Y2hpbmdBcnJheUVycm9yLFxuICB0aHJvd1BhdGNoaW5nUHJpbWl0aXZlRXJyb3Jcbn0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuaW1wb3J0IHsgU3RhdGVPcGVyYXRvciB9IGZyb20gJy4uL3N5bWJvbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxlUGF0Y2g8VD4odmFsOiBQYXJ0aWFsPFQ+KTogU3RhdGVPcGVyYXRvcjxUPiB7XG4gIHJldHVybiAoZXhpc3RpbmdTdGF0ZTogUmVhZG9ubHk8VD4pID0+IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICB0aHJvd1BhdGNoaW5nQXJyYXlFcnJvcigpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbCAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93UGF0Y2hpbmdQcmltaXRpdmVFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1N0YXRlOiBhbnkgPSB7IC4uLihleGlzdGluZ1N0YXRlIGFzIGFueSkgfTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWwpIHtcbiAgICAgIC8vIGRlZXAgY2xvbmUgZm9yIHBhdGNoIGNvbXBhdGliaWxpdHlcbiAgICAgIC8vIG5vaW5zcGVjdGlvbiBKU1VuZmlsdGVyZWRGb3JJbkxvb3AgKElERSlcbiAgICAgIG5ld1N0YXRlW2tleV0gPSAodmFsIGFzIGFueSlba2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3U3RhdGUgYXMgVDtcbiAgfTtcbn1cbiJdfQ==
@@ -1,21 +1,30 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from '@angular/core';
6
- import { BehaviorSubject } from 'rxjs';
7
- /**
8
- * BehaviorSubject of the entire state.
9
- * @ignore
10
- */
11
- export class StateStream extends BehaviorSubject {
12
- constructor() {
13
- super({});
14
- }
15
- }
16
- StateStream.decorators = [
17
- { type: Injectable }
18
- ];
19
- /** @nocollapse */
20
- StateStream.ctorParameters = () => [];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc3RyZWFtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBU3ZDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBNEI7SUFDM0Q7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDOzs7WUFKRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBsYWluT2JqZWN0IH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcclxuXHJcbi8qKlxyXG4gKiBCZWhhdmlvclN1YmplY3Qgb2YgdGhlIGVudGlyZSBzdGF0ZS5cclxuICogQGlnbm9yZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RhdGVTdHJlYW0gZXh0ZW5kcyBCZWhhdmlvclN1YmplY3Q8UGxhaW5PYmplY3Q+IHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKHt9KTtcclxuICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { BehaviorSubject } from 'rxjs';
7
+ /**
8
+ * BehaviorSubject of the entire state.
9
+ * @ignore
10
+ */
11
+ export class StateStream extends BehaviorSubject {
12
+ constructor() {
13
+ super({});
14
+ }
15
+ /**
16
+ * @return {?}
17
+ */
18
+ ngOnDestroy() {
19
+ // The `StateStream` should never emit values once the root view is removed, e.g. when the `NgModuleRef.destroy()` is called.
20
+ // This will eliminate memory leaks in server-side rendered apps where the `StateStream` is created per each HTTP request, users
21
+ // might forget to unsubscribe from `store.select` or `store.subscribe`, thus this will lead to huge memory leaks in SSR apps.
22
+ this.complete();
23
+ }
24
+ }
25
+ StateStream.decorators = [
26
+ { type: Injectable }
27
+ ];
28
+ /** @nocollapse */
29
+ StateStream.ctorParameters = () => [];
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtc3RyZWFtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvaW50ZXJuYWwvc3RhdGUtc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBU3ZDLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBNEI7SUFDM0Q7UUFDRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDOzs7O0lBRUQsV0FBVztRQUNULDZIQUE2SDtRQUM3SCxnSUFBZ0k7UUFDaEksOEhBQThIO1FBQzlILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7WUFYRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIEJlaGF2aW9yU3ViamVjdCBvZiB0aGUgZW50aXJlIHN0YXRlLlxuICogQGlnbm9yZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RhdGVTdHJlYW0gZXh0ZW5kcyBCZWhhdmlvclN1YmplY3Q8UGxhaW5PYmplY3Q+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe30pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gVGhlIGBTdGF0ZVN0cmVhbWAgc2hvdWxkIG5ldmVyIGVtaXQgdmFsdWVzIG9uY2UgdGhlIHJvb3QgdmlldyBpcyByZW1vdmVkLCBlLmcuIHdoZW4gdGhlIGBOZ01vZHVsZVJlZi5kZXN0cm95KClgIGlzIGNhbGxlZC5cbiAgICAvLyBUaGlzIHdpbGwgZWxpbWluYXRlIG1lbW9yeSBsZWFrcyBpbiBzZXJ2ZXItc2lkZSByZW5kZXJlZCBhcHBzIHdoZXJlIHRoZSBgU3RhdGVTdHJlYW1gIGlzIGNyZWF0ZWQgcGVyIGVhY2ggSFRUUCByZXF1ZXN0LCB1c2Vyc1xuICAgIC8vIG1pZ2h0IGZvcmdldCB0byB1bnN1YnNjcmliZSBmcm9tIGBzdG9yZS5zZWxlY3RgIG9yIGBzdG9yZS5zdWJzY3JpYmVgLCB0aHVzIHRoaXMgd2lsbCBsZWFkIHRvIGh1Z2UgbWVtb3J5IGxlYWtzIGluIFNTUiBhcHBzLlxuICAgIHRoaXMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,40 +1,28 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { isDevMode } from '@angular/core';
6
- import { ReplaySubject } from 'rxjs';
7
- /** @type {?} */
8
- export const ivyEnabledInDevMode$ = new ReplaySubject(1);
9
- /**
10
- * Ivy exposes helper functions to the global `window.ng` object.
11
- * Those functions are `getComponent, getContext,
12
- * getListeners, getViewComponent, getHostElement, getInjector,
13
- * getRootComponents, getDirectives, getDebugNode`
14
- * Previously, old view engine exposed `window.ng.coreTokens` and
15
- * `window.ng.probe` if an application was in development/production.
16
- * Ivy doesn't expose these functions in production. Developers will be able
17
- * to see warnings in both JIT/AOT modes, but only if an application
18
- * is in development.
19
- * @return {?}
20
- */
21
- export function setIvyEnabledInDevMode() {
22
- try {
23
- // `try-catch` will also handle server-side rendering, as
24
- // `window is not defined` will not be thrown.
25
- /** @type {?} */
26
- const ng = ((/** @type {?} */ (window))).ng;
27
- /** @type {?} */
28
- const _viewEngineEnabled = !!ng.probe && !!ng.coreTokens;
29
- /** @type {?} */
30
- const _ivyEnabledInDevMode = !_viewEngineEnabled && isDevMode();
31
- ivyEnabledInDevMode$.next(_ivyEnabledInDevMode);
32
- }
33
- catch (_a) {
34
- ivyEnabledInDevMode$.next(false);
35
- }
36
- finally {
37
- ivyEnabledInDevMode$.complete();
38
- }
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9pdnkvaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFckMsTUFBTSxPQUFPLG9CQUFvQixHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWFqRSxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLElBQUk7Ozs7Y0FHSSxFQUFFLEdBQUcsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLEVBQUU7O2NBQ3ZCLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVTs7Y0FDbEQsb0JBQW9CLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxTQUFTLEVBQUU7UUFDL0Qsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FDakQ7SUFBQyxXQUFNO1FBQ04sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2xDO1lBQVM7UUFDUixvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUNqQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGl2eUVuYWJsZWRJbkRldk1vZGUkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XHJcblxyXG4vKipcclxuICogSXZ5IGV4cG9zZXMgaGVscGVyIGZ1bmN0aW9ucyB0byB0aGUgZ2xvYmFsIGB3aW5kb3cubmdgIG9iamVjdC5cclxuICogVGhvc2UgZnVuY3Rpb25zIGFyZSBgZ2V0Q29tcG9uZW50LCBnZXRDb250ZXh0LFxyXG4gKiBnZXRMaXN0ZW5lcnMsIGdldFZpZXdDb21wb25lbnQsIGdldEhvc3RFbGVtZW50LCBnZXRJbmplY3RvcixcclxuICogZ2V0Um9vdENvbXBvbmVudHMsIGdldERpcmVjdGl2ZXMsIGdldERlYnVnTm9kZWBcclxuICogUHJldmlvdXNseSwgb2xkIHZpZXcgZW5naW5lIGV4cG9zZWQgYHdpbmRvdy5uZy5jb3JlVG9rZW5zYCBhbmRcclxuICogYHdpbmRvdy5uZy5wcm9iZWAgaWYgYW4gYXBwbGljYXRpb24gd2FzIGluIGRldmVsb3BtZW50L3Byb2R1Y3Rpb24uXHJcbiAqIEl2eSBkb2Vzbid0IGV4cG9zZSB0aGVzZSBmdW5jdGlvbnMgaW4gcHJvZHVjdGlvbi4gRGV2ZWxvcGVycyB3aWxsIGJlIGFibGVcclxuICogdG8gc2VlIHdhcm5pbmdzIGluIGJvdGggSklUL0FPVCBtb2RlcywgYnV0IG9ubHkgaWYgYW4gYXBwbGljYXRpb25cclxuICogaXMgaW4gZGV2ZWxvcG1lbnQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0SXZ5RW5hYmxlZEluRGV2TW9kZSgpOiB2b2lkIHtcclxuICB0cnkge1xyXG4gICAgLy8gYHRyeS1jYXRjaGAgd2lsbCBhbHNvIGhhbmRsZSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcsIGFzXHJcbiAgICAvLyBgd2luZG93IGlzIG5vdCBkZWZpbmVkYCB3aWxsIG5vdCBiZSB0aHJvd24uXHJcbiAgICBjb25zdCBuZyA9ICh3aW5kb3cgYXMgYW55KS5uZztcclxuICAgIGNvbnN0IF92aWV3RW5naW5lRW5hYmxlZCA9ICEhbmcucHJvYmUgJiYgISFuZy5jb3JlVG9rZW5zO1xyXG4gICAgY29uc3QgX2l2eUVuYWJsZWRJbkRldk1vZGUgPSAhX3ZpZXdFbmdpbmVFbmFibGVkICYmIGlzRGV2TW9kZSgpO1xyXG4gICAgaXZ5RW5hYmxlZEluRGV2TW9kZSQubmV4dChfaXZ5RW5hYmxlZEluRGV2TW9kZSk7XHJcbiAgfSBjYXRjaCB7XHJcbiAgICBpdnlFbmFibGVkSW5EZXZNb2RlJC5uZXh0KGZhbHNlKTtcclxuICB9IGZpbmFsbHkge1xyXG4gICAgaXZ5RW5hYmxlZEluRGV2TW9kZSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { ɵivyEnabled } from '@angular/core';
6
+ import { getUndecoratedStateInIvyWarningMessage } from '../configs/messages.config';
7
+ /**
8
+ * All provided or injected tokens must have `\@Injectable` decorator
9
+ * (previously, injected tokens without `\@Injectable` were allowed
10
+ * if another decorator was used, e.g. pipes).
11
+ * @param {?} target
12
+ * @return {?}
13
+ */
14
+ export function ensureStateClassIsInjectable(target) {
15
+ // `ɵprov` is a static property added by the NGCC compiler. It always exists in
16
+ // AOT mode because this property is added before runtime. If an application is running in
17
+ // JIT mode then this property can be added by the `@Injectable()` decorator. The `@Injectable()`
18
+ // decorator has to go after the `@State()` decorator, thus we prevent users from unwanted DI errors.
19
+ if (ɵivyEnabled) {
20
+ /** @type {?} */
21
+ /** @nocollapse */ const ngInjectableDef = target.ɵprov;
22
+ if (!ngInjectableDef) {
23
+ // Don't warn if Ivy is disabled or `ɵprov` exists on the class
24
+ console.warn(getUndecoratedStateInIvyWarningMessage(target.name));
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9pdnkvaXZ5LWVuYWJsZWQtaW4tZGV2LW1vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBT3BGLE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxNQUFXO0lBQ3RELCtFQUErRTtJQUMvRSwwRkFBMEY7SUFDMUYsaUdBQWlHO0lBQ2pHLHFHQUFxRztJQUNyRyxJQUFJLFdBQVcsRUFBRTs7Y0FDVCxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUs7UUFDcEMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNwQiwrREFBK0Q7WUFDL0QsT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNuRTtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1aXZ5RW5hYmxlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRVbmRlY29yYXRlZFN0YXRlSW5JdnlXYXJuaW5nTWVzc2FnZSB9IGZyb20gJy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcblxuLyoqXG4gKiBBbGwgcHJvdmlkZWQgb3IgaW5qZWN0ZWQgdG9rZW5zIG11c3QgaGF2ZSBgQEluamVjdGFibGVgIGRlY29yYXRvclxuICogKHByZXZpb3VzbHksIGluamVjdGVkIHRva2VucyB3aXRob3V0IGBASW5qZWN0YWJsZWAgd2VyZSBhbGxvd2VkXG4gKiBpZiBhbm90aGVyIGRlY29yYXRvciB3YXMgdXNlZCwgZS5nLiBwaXBlcykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTdGF0ZUNsYXNzSXNJbmplY3RhYmxlKHRhcmdldDogYW55KTogdm9pZCB7XG4gIC8vIGDJtXByb3ZgIGlzIGEgc3RhdGljIHByb3BlcnR5IGFkZGVkIGJ5IHRoZSBOR0NDIGNvbXBpbGVyLiBJdCBhbHdheXMgZXhpc3RzIGluXG4gIC8vIEFPVCBtb2RlIGJlY2F1c2UgdGhpcyBwcm9wZXJ0eSBpcyBhZGRlZCBiZWZvcmUgcnVudGltZS4gSWYgYW4gYXBwbGljYXRpb24gaXMgcnVubmluZyBpblxuICAvLyBKSVQgbW9kZSB0aGVuIHRoaXMgcHJvcGVydHkgY2FuIGJlIGFkZGVkIGJ5IHRoZSBgQEluamVjdGFibGUoKWAgZGVjb3JhdG9yLiBUaGUgYEBJbmplY3RhYmxlKClgXG4gIC8vIGRlY29yYXRvciBoYXMgdG8gZ28gYWZ0ZXIgdGhlIGBAU3RhdGUoKWAgZGVjb3JhdG9yLCB0aHVzIHdlIHByZXZlbnQgdXNlcnMgZnJvbSB1bndhbnRlZCBESSBlcnJvcnMuXG4gIGlmICjJtWl2eUVuYWJsZWQpIHtcbiAgICBjb25zdCBuZ0luamVjdGFibGVEZWYgPSB0YXJnZXQuybVwcm92O1xuICAgIGlmICghbmdJbmplY3RhYmxlRGVmKSB7XG4gICAgICAvLyBEb24ndCB3YXJuIGlmIEl2eSBpcyBkaXNhYmxlZCBvciBgybVwcm92YCBleGlzdHMgb24gdGhlIGNsYXNzXG4gICAgICBjb25zb2xlLndhcm4oZ2V0VW5kZWNvcmF0ZWRTdGF0ZUluSXZ5V2FybmluZ01lc3NhZ2UodGFyZ2V0Lm5hbWUpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==