@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,96 +1,103 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
6
- import { isPlatformServer } from '@angular/common';
7
- import { CONFIG_MESSAGES, VALIDATION_CODE } from '../configs/messages.config';
8
- export class DispatchOutsideZoneNgxsExecutionStrategy {
9
- /**
10
- * @param {?} _ngZone
11
- * @param {?} _platformId
12
- */
13
- constructor(_ngZone, _platformId) {
14
- this._ngZone = _ngZone;
15
- this._platformId = _platformId;
16
- this.verifyZoneIsNotNooped(this._ngZone);
17
- }
18
- /**
19
- * @template T
20
- * @param {?} func
21
- * @return {?}
22
- */
23
- enter(func) {
24
- if (isPlatformServer(this._platformId)) {
25
- return this.runInsideAngular(func);
26
- }
27
- return this.runOutsideAngular(func);
28
- }
29
- /**
30
- * @template T
31
- * @param {?} func
32
- * @return {?}
33
- */
34
- leave(func) {
35
- return this.runInsideAngular(func);
36
- }
37
- /**
38
- * @private
39
- * @template T
40
- * @param {?} func
41
- * @return {?}
42
- */
43
- runInsideAngular(func) {
44
- if (NgZone.isInAngularZone()) {
45
- return func();
46
- }
47
- return this._ngZone.run(func);
48
- }
49
- /**
50
- * @private
51
- * @template T
52
- * @param {?} func
53
- * @return {?}
54
- */
55
- runOutsideAngular(func) {
56
- if (NgZone.isInAngularZone()) {
57
- return this._ngZone.runOutsideAngular(func);
58
- }
59
- return func();
60
- }
61
- /**
62
- * @private
63
- * @param {?} ngZone
64
- * @return {?}
65
- */
66
- verifyZoneIsNotNooped(ngZone) {
67
- // `NoopNgZone` is not exposed publicly as it doesn't expect
68
- // to be used outside of the core Angular code, thus we just have
69
- // to check if the zone doesn't extend or instanceof `NgZone`
70
- if (ngZone instanceof NgZone) {
71
- return;
72
- }
73
- console.warn(CONFIG_MESSAGES[VALIDATION_CODE.ZONE_WARNING]());
74
- }
75
- }
76
- DispatchOutsideZoneNgxsExecutionStrategy.decorators = [
77
- { type: Injectable }
78
- ];
79
- /** @nocollapse */
80
- DispatchOutsideZoneNgxsExecutionStrategy.ctorParameters = () => [
81
- { type: NgZone },
82
- { type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
83
- ];
84
- if (false) {
85
- /**
86
- * @type {?}
87
- * @private
88
- */
89
- DispatchOutsideZoneNgxsExecutionStrategy.prototype._ngZone;
90
- /**
91
- * @type {?}
92
- * @private
93
- */
94
- DispatchOutsideZoneNgxsExecutionStrategy.prototype._platformId;
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvZXhlY3V0aW9uL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzlFLE1BQU0sT0FBTyx3Q0FBd0M7Ozs7O0lBQ25ELFlBQW9CLE9BQWUsRUFBK0IsV0FBbUI7UUFBakUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUErQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7OztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7Ozs7O0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7Ozs7OztJQUVPLGdCQUFnQixDQUFJLElBQWE7UUFDdkMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7Ozs7O0lBRU8saUJBQWlCLENBQUksSUFBYTtRQUN4QyxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUVPLHFCQUFxQixDQUFDLE1BQWM7UUFDMUMsNERBQTREO1FBQzVELGlFQUFpRTtRQUNqRSw2REFBNkQ7UUFDN0QsSUFBSSxNQUFNLFlBQVksTUFBTSxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7O1lBeENGLFVBQVU7Ozs7WUFOa0IsTUFBTTt5Q0FRSyxNQUFNLFNBQUMsV0FBVzs7Ozs7OztJQUE1QywyREFBdUI7Ozs7O0lBQUUsK0RBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zeW1ib2xzJztcclxuaW1wb3J0IHsgQ09ORklHX01FU1NBR0VTLCBWQUxJREFUSU9OX0NPREUgfSBmcm9tICcuLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSwgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBfcGxhdGZvcm1JZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnZlcmlmeVpvbmVJc05vdE5vb3BlZCh0aGlzLl9uZ1pvbmUpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5fcGxhdGZvcm1JZCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xyXG4gIH1cclxuXHJcbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcnVuSW5zaWRlQW5ndWxhcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XHJcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XHJcbiAgICAgIHJldHVybiBmdW5jKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bihmdW5jKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcnVuT3V0c2lkZUFuZ3VsYXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZ1bmMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKG5nWm9uZTogTmdab25lKTogdm9pZCB7XHJcbiAgICAvLyBgTm9vcE5nWm9uZWAgaXMgbm90IGV4cG9zZWQgcHVibGljbHkgYXMgaXQgZG9lc24ndCBleHBlY3RcclxuICAgIC8vIHRvIGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgY29yZSBBbmd1bGFyIGNvZGUsIHRodXMgd2UganVzdCBoYXZlXHJcbiAgICAvLyB0byBjaGVjayBpZiB0aGUgem9uZSBkb2Vzbid0IGV4dGVuZCBvciBpbnN0YW5jZW9mIGBOZ1pvbmVgXHJcbiAgICBpZiAobmdab25lIGluc3RhbmNlb2YgTmdab25lKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zb2xlLndhcm4oQ09ORklHX01FU1NBR0VTW1ZBTElEQVRJT05fQ09ERS5aT05FX1dBUk5JTkddKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
6
+ import { isPlatformServer } from '@angular/common';
7
+ import { getZoneWarningMessage } from '../configs/messages.config';
8
+ import * as i0 from "@angular/core";
9
+ export class DispatchOutsideZoneNgxsExecutionStrategy {
10
+ /**
11
+ * @param {?} _ngZone
12
+ * @param {?} _platformId
13
+ */
14
+ constructor(_ngZone, _platformId) {
15
+ this._ngZone = _ngZone;
16
+ this._platformId = _platformId;
17
+ // Caretaker note: we have still left the `typeof` condition in order to avoid
18
+ // creating a breaking change for projects that still use the View Engine.
19
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
20
+ verifyZoneIsNotNooped(_ngZone);
21
+ }
22
+ }
23
+ /**
24
+ * @template T
25
+ * @param {?} func
26
+ * @return {?}
27
+ */
28
+ enter(func) {
29
+ if (isPlatformServer(this._platformId)) {
30
+ return this.runInsideAngular(func);
31
+ }
32
+ return this.runOutsideAngular(func);
33
+ }
34
+ /**
35
+ * @template T
36
+ * @param {?} func
37
+ * @return {?}
38
+ */
39
+ leave(func) {
40
+ return this.runInsideAngular(func);
41
+ }
42
+ /**
43
+ * @private
44
+ * @template T
45
+ * @param {?} func
46
+ * @return {?}
47
+ */
48
+ runInsideAngular(func) {
49
+ if (NgZone.isInAngularZone()) {
50
+ return func();
51
+ }
52
+ return this._ngZone.run(func);
53
+ }
54
+ /**
55
+ * @private
56
+ * @template T
57
+ * @param {?} func
58
+ * @return {?}
59
+ */
60
+ runOutsideAngular(func) {
61
+ if (NgZone.isInAngularZone()) {
62
+ return this._ngZone.runOutsideAngular(func);
63
+ }
64
+ return func();
65
+ }
66
+ }
67
+ DispatchOutsideZoneNgxsExecutionStrategy.decorators = [
68
+ { type: Injectable, args: [{ providedIn: 'root' },] }
69
+ ];
70
+ /** @nocollapse */
71
+ DispatchOutsideZoneNgxsExecutionStrategy.ctorParameters = () => [
72
+ { type: NgZone },
73
+ { type: String, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
74
+ ];
75
+ /** @nocollapse */ DispatchOutsideZoneNgxsExecutionStrategy.ngInjectableDef = i0.defineInjectable({ factory: function DispatchOutsideZoneNgxsExecutionStrategy_Factory() { return new DispatchOutsideZoneNgxsExecutionStrategy(i0.inject(i0.NgZone), i0.inject(i0.PLATFORM_ID)); }, token: DispatchOutsideZoneNgxsExecutionStrategy, providedIn: "root" });
76
+ if (false) {
77
+ /**
78
+ * @type {?}
79
+ * @private
80
+ */
81
+ DispatchOutsideZoneNgxsExecutionStrategy.prototype._ngZone;
82
+ /**
83
+ * @type {?}
84
+ * @private
85
+ */
86
+ DispatchOutsideZoneNgxsExecutionStrategy.prototype._platformId;
87
+ }
88
+ // Caretaker note: this should exist as a separate function and not a class method,
89
+ // since class methods are not tree-shakable.
90
+ /**
91
+ * @param {?} ngZone
92
+ * @return {?}
93
+ */
94
+ function verifyZoneIsNotNooped(ngZone) {
95
+ // `NoopNgZone` is not exposed publicly as it doesn't expect
96
+ // to be used outside of the core Angular code, thus we just have
97
+ // to check if the zone doesn't extend or instanceof `NgZone`.
98
+ if (ngZone instanceof NgZone) {
99
+ return;
100
+ }
101
+ console.warn(getZoneWarningMessage());
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvZXhlY3V0aW9uL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdDQUF3Qzs7Ozs7SUFDbkQsWUFBb0IsT0FBZSxFQUErQixXQUFtQjtRQUFqRSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQStCLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQ25GLDhFQUE4RTtRQUM5RSwwRUFBMEU7UUFDMUUsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFO1lBQ2pELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7Ozs7O0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUksSUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7O0lBRU8sZ0JBQWdCLENBQUksSUFBYTtRQUN2QyxJQUFJLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksRUFBRSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7Ozs7SUFFTyxpQkFBaUIsQ0FBSSxJQUFhO1FBQ3hDLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7O1lBakNGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7Ozs7WUFOTCxNQUFNO3lDQVFLLE1BQU0sU0FBQyxXQUFXOzs7Ozs7OztJQUE1QywyREFBdUI7Ozs7O0lBQUUsK0RBQWdEOzs7Ozs7OztBQW9DdkYsU0FBUyxxQkFBcUIsQ0FBQyxNQUFjO0lBQzNDLDREQUE0RDtJQUM1RCxpRUFBaUU7SUFDakUsOERBQThEO0lBQzlELElBQUksTUFBTSxZQUFZLE1BQU0sRUFBRTtRQUM1QixPQUFPO0tBQ1I7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB7IGdldFpvbmVXYXJuaW5nTWVzc2FnZSB9IGZyb20gJy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgX3BsYXRmb3JtSWQ6IHN0cmluZykge1xuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKF9uZ1pvbmUpO1xuICAgIH1cbiAgfVxuXG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnVuT3V0c2lkZUFuZ3VsYXIoZnVuYyk7XG4gIH1cblxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuSW5zaWRlQW5ndWxhcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xuICAgICAgcmV0dXJuIGZ1bmMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oZnVuYyk7XG4gIH1cblxuICBwcml2YXRlIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG5cbi8vIENhcmV0YWtlciBub3RlOiB0aGlzIHNob3VsZCBleGlzdCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBub3QgYSBjbGFzcyBtZXRob2QsXG4vLyBzaW5jZSBjbGFzcyBtZXRob2RzIGFyZSBub3QgdHJlZS1zaGFrYWJsZS5cbmZ1bmN0aW9uIHZlcmlmeVpvbmVJc05vdE5vb3BlZChuZ1pvbmU6IE5nWm9uZSk6IHZvaWQge1xuICAvLyBgTm9vcE5nWm9uZWAgaXMgbm90IGV4cG9zZWQgcHVibGljbHkgYXMgaXQgZG9lc24ndCBleHBlY3RcbiAgLy8gdG8gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBjb3JlIEFuZ3VsYXIgY29kZSwgdGh1cyB3ZSBqdXN0IGhhdmVcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHpvbmUgZG9lc24ndCBleHRlbmQgb3IgaW5zdGFuY2VvZiBgTmdab25lYC5cbiAgaWYgKG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnNvbGUud2FybihnZXRab25lV2FybmluZ01lc3NhZ2UoKSk7XG59XG4iXX0=
@@ -1,45 +1,45 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable, Inject } from '@angular/core';
6
- import { NGXS_EXECUTION_STRATEGY } from './symbols';
7
- export class InternalNgxsExecutionStrategy {
8
- /**
9
- * @param {?} _executionStrategy
10
- */
11
- constructor(_executionStrategy) {
12
- this._executionStrategy = _executionStrategy;
13
- }
14
- /**
15
- * @template T
16
- * @param {?} func
17
- * @return {?}
18
- */
19
- enter(func) {
20
- return this._executionStrategy.enter(func);
21
- }
22
- /**
23
- * @template T
24
- * @param {?} func
25
- * @return {?}
26
- */
27
- leave(func) {
28
- return this._executionStrategy.leave(func);
29
- }
30
- }
31
- InternalNgxsExecutionStrategy.decorators = [
32
- { type: Injectable }
33
- ];
34
- /** @nocollapse */
35
- InternalNgxsExecutionStrategy.ctorParameters = () => [
36
- { type: undefined, decorators: [{ type: Inject, args: [NGXS_EXECUTION_STRATEGY,] }] }
37
- ];
38
- if (false) {
39
- /**
40
- * @type {?}
41
- * @private
42
- */
43
- InternalNgxsExecutionStrategy.prototype._executionStrategy;
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHM0UsTUFBTSxPQUFPLDZCQUE2Qjs7OztJQUN4QyxZQUMyQyxrQkFBeUM7UUFBekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtJQUNqRixDQUFDOzs7Ozs7SUFFSixLQUFLLENBQUksSUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7O0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OztZQVpGLFVBQVU7Ozs7NENBR04sTUFBTSxTQUFDLHVCQUF1Qjs7Ozs7OztJQUEvQiwyREFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSwgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL3N5bWJvbHMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSkgcHJpdmF0ZSBfZXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxyXG4gICkge31cclxuXHJcbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKGZ1bmMpO1xyXG4gIH1cclxuXHJcbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKGZ1bmMpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable, Inject } from '@angular/core';
6
+ import { NGXS_EXECUTION_STRATEGY } from './symbols';
7
+ export class InternalNgxsExecutionStrategy {
8
+ /**
9
+ * @param {?} _executionStrategy
10
+ */
11
+ constructor(_executionStrategy) {
12
+ this._executionStrategy = _executionStrategy;
13
+ }
14
+ /**
15
+ * @template T
16
+ * @param {?} func
17
+ * @return {?}
18
+ */
19
+ enter(func) {
20
+ return this._executionStrategy.enter(func);
21
+ }
22
+ /**
23
+ * @template T
24
+ * @param {?} func
25
+ * @return {?}
26
+ */
27
+ leave(func) {
28
+ return this._executionStrategy.leave(func);
29
+ }
30
+ }
31
+ InternalNgxsExecutionStrategy.decorators = [
32
+ { type: Injectable }
33
+ ];
34
+ /** @nocollapse */
35
+ InternalNgxsExecutionStrategy.ctorParameters = () => [
36
+ { type: undefined, decorators: [{ type: Inject, args: [NGXS_EXECUTION_STRATEGY,] }] }
37
+ ];
38
+ if (false) {
39
+ /**
40
+ * @type {?}
41
+ * @private
42
+ */
43
+ InternalNgxsExecutionStrategy.prototype._executionStrategy;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9leGVjdXRpb24vaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHM0UsTUFBTSxPQUFPLDZCQUE2Qjs7OztJQUN4QyxZQUMyQyxrQkFBeUM7UUFBekMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtJQUNqRixDQUFDOzs7Ozs7SUFFSixLQUFLLENBQUksSUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7O0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OztZQVpGLFVBQVU7Ozs7NENBR04sTUFBTSxTQUFDLHVCQUF1Qjs7Ozs7OztJQUEvQiwyREFBa0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LCBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSBpbXBsZW1lbnRzIE5neHNFeGVjdXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTkdYU19FWEVDVVRJT05fU1RSQVRFR1kpIHByaXZhdGUgX2V4ZWN1dGlvblN0cmF0ZWd5OiBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcbiAgKSB7fVxuXG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kuZW50ZXIoZnVuYyk7XG4gIH1cblxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKGZ1bmMpO1xuICB9XG59XG4iXX0=
@@ -1,27 +1,29 @@
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
- export class NoopNgxsExecutionStrategy {
7
- /**
8
- * @template T
9
- * @param {?} func
10
- * @return {?}
11
- */
12
- enter(func) {
13
- return func();
14
- }
15
- /**
16
- * @template T
17
- * @param {?} func
18
- * @return {?}
19
- */
20
- leave(func) {
21
- return func();
22
- }
23
- }
24
- NoopNgxsExecutionStrategy.decorators = [
25
- { type: Injectable }
26
- ];
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2V4ZWN1dGlvbi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE1BQU0sT0FBTyx5QkFBeUI7Ozs7OztJQUNwQyxLQUFLLENBQUksSUFBYTtRQUNwQixPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7O1lBUkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcclxuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XHJcbiAgICByZXR1cm4gZnVuYygpO1xyXG4gIH1cclxuXHJcbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xyXG4gICAgcmV0dXJuIGZ1bmMoKTtcclxuICB9XHJcbn1cclxuIl19
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 * as i0 from "@angular/core";
7
+ export class NoopNgxsExecutionStrategy {
8
+ /**
9
+ * @template T
10
+ * @param {?} func
11
+ * @return {?}
12
+ */
13
+ enter(func) {
14
+ return func();
15
+ }
16
+ /**
17
+ * @template T
18
+ * @param {?} func
19
+ * @return {?}
20
+ */
21
+ leave(func) {
22
+ return func();
23
+ }
24
+ }
25
+ NoopNgxsExecutionStrategy.decorators = [
26
+ { type: Injectable, args: [{ providedIn: 'root' },] }
27
+ ];
28
+ /** @nocollapse */ NoopNgxsExecutionStrategy.ngInjectableDef = i0.defineInjectable({ factory: function NoopNgxsExecutionStrategy_Factory() { return new NoopNgxsExecutionStrategy(); }, token: NoopNgxsExecutionStrategy, providedIn: "root" });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2V4ZWN1dGlvbi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCOzs7Ozs7SUFDcEMsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUksSUFBYTtRQUNwQixPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7OztZQVJGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneSBpbXBsZW1lbnRzIE5neHNFeGVjdXRpb25TdHJhdGVneSB7XG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG5cbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiBmdW5jKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,29 +1,52 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { InjectionToken } from '@angular/core';
6
- /*
7
- * Internal execution strategy injection token
8
- */
9
- /** @type {?} */
10
- export const NGXS_EXECUTION_STRATEGY = new InjectionToken('NGXS_EXECUTION_STRATEGY');
11
- /**
12
- * @record
13
- */
14
- export function NgxsExecutionStrategy() { }
15
- if (false) {
16
- /**
17
- * @template T
18
- * @param {?} func
19
- * @return {?}
20
- */
21
- NgxsExecutionStrategy.prototype.enter = function (func) { };
22
- /**
23
- * @template T
24
- * @param {?} func
25
- * @return {?}
26
- */
27
- NgxsExecutionStrategy.prototype.leave = function (func) { };
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2V4ZWN1dGlvbi9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQyxNQUFNLE9BQU8sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQ3ZELHlCQUF5QixDQUMxQjs7OztBQUtELDJDQUdDOzs7Ozs7O0lBRkMsNERBQTJCOzs7Ozs7SUFDM0IsNERBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qXHJcbiAqIEludGVybmFsIGV4ZWN1dGlvbiBzdHJhdGVneSBpbmplY3Rpb24gdG9rZW5cclxuICovXHJcbmV4cG9ydCBjb25zdCBOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3k+KFxyXG4gICdOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSdcclxuKTtcclxuXHJcbi8qXHJcbiAqIEV4ZWN1dGlvbiBzdHJhdGVneSBpbnRlcmZhY2VcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcclxuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVDtcclxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVDtcclxufVxyXG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { InjectionToken, inject, INJECTOR, ɵglobal } from '@angular/core';
6
+ import { NoopNgxsExecutionStrategy } from './noop-ngxs-execution-strategy';
7
+ import { DispatchOutsideZoneNgxsExecutionStrategy } from './dispatch-outside-zone-ngxs-execution-strategy';
8
+ /**
9
+ * The strategy that might be provided by users through `options.executionStrategy`.
10
+ * @type {?}
11
+ */
12
+ export const USER_PROVIDED_NGXS_EXECUTION_STRATEGY = new InjectionToken('USER_PROVIDED_NGXS_EXECUTION_STRATEGY');
13
+ /*
14
+ * Internal execution strategy injection token
15
+ */
16
+ /** @type {?} */
17
+ export const NGXS_EXECUTION_STRATEGY = new InjectionToken('NGXS_EXECUTION_STRATEGY', {
18
+ providedIn: 'root',
19
+ factory: (/**
20
+ * @return {?}
21
+ */
22
+ () => {
23
+ /** @type {?} */
24
+ const injector = inject(INJECTOR);
25
+ /** @type {?} */
26
+ const executionStrategy = injector.get(USER_PROVIDED_NGXS_EXECUTION_STRATEGY);
27
+ return executionStrategy
28
+ ? injector.get(executionStrategy)
29
+ : injector.get(typeof ɵglobal.Zone !== 'undefined'
30
+ ? DispatchOutsideZoneNgxsExecutionStrategy
31
+ : NoopNgxsExecutionStrategy);
32
+ })
33
+ });
34
+ /**
35
+ * @record
36
+ */
37
+ export function NgxsExecutionStrategy() { }
38
+ if (false) {
39
+ /**
40
+ * @template T
41
+ * @param {?} func
42
+ * @return {?}
43
+ */
44
+ NgxsExecutionStrategy.prototype.enter = function (func) { };
45
+ /**
46
+ * @template T
47
+ * @param {?} func
48
+ * @return {?}
49
+ */
50
+ NgxsExecutionStrategy.prototype.leave = function (func) { };
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2V4ZWN1dGlvbi9zeW1ib2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7OztBQUszRyxNQUFNLE9BQU8scUNBQXFDLEdBQUcsSUFBSSxjQUFjLENBRXJFLHVDQUF1QyxDQUFDOzs7OztBQUsxQyxNQUFNLE9BQU8sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQ3ZELHlCQUF5QixFQUN6QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU87OztJQUFFLEdBQUcsRUFBRTs7Y0FDTixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQzs7Y0FDM0IsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQztRQUM3RSxPQUFPLGlCQUFpQjtZQUN0QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztZQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDVixPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVztnQkFDakMsQ0FBQyxDQUFDLHdDQUF3QztnQkFDMUMsQ0FBQyxDQUFDLHlCQUF5QixDQUM5QixDQUFDO0lBQ1IsQ0FBQyxDQUFBO0NBQ0YsQ0FDRjs7OztBQUtELDJDQUdDOzs7Ozs7O0lBRkMsNERBQTJCOzs7Ozs7SUFDM0IsNERBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCwgSU5KRUNUT1IsIFR5cGUsIMm1Z2xvYmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL25vb3Atbmd4cy1leGVjdXRpb24tc3RyYXRlZ3knO1xuaW1wb3J0IHsgRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4vZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcblxuLyoqXG4gKiBUaGUgc3RyYXRlZ3kgdGhhdCBtaWdodCBiZSBwcm92aWRlZCBieSB1c2VycyB0aHJvdWdoIGBvcHRpb25zLmV4ZWN1dGlvblN0cmF0ZWd5YC5cbiAqL1xuZXhwb3J0IGNvbnN0IFVTRVJfUFJPVklERURfTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiB8IHVuZGVmaW5lZFxuPignVVNFUl9QUk9WSURFRF9OR1hTX0VYRUNVVElPTl9TVFJBVEVHWScpO1xuXG4vKlxuICogSW50ZXJuYWwgZXhlY3V0aW9uIHN0cmF0ZWd5IGluamVjdGlvbiB0b2tlblxuICovXG5leHBvcnQgY29uc3QgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PihcbiAgJ05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJTkpFQ1RPUik7XG4gICAgICBjb25zdCBleGVjdXRpb25TdHJhdGVneSA9IGluamVjdG9yLmdldChVU0VSX1BST1ZJREVEX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZKTtcbiAgICAgIHJldHVybiBleGVjdXRpb25TdHJhdGVneVxuICAgICAgICA/IGluamVjdG9yLmdldChleGVjdXRpb25TdHJhdGVneSlcbiAgICAgICAgOiBpbmplY3Rvci5nZXQoXG4gICAgICAgICAgICB0eXBlb2YgybVnbG9iYWwuWm9uZSAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgPyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4gICAgICAgICAgICAgIDogTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgICAgICk7XG4gICAgfVxuICB9XG4pO1xuXG4vKlxuICogRXhlY3V0aW9uIHN0cmF0ZWd5IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNFeGVjdXRpb25TdHJhdGVneSB7XG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUO1xuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVDtcbn1cbiJdfQ==