@ngxs/store 3.8.2 → 18.0.0-dev.master-f4c2c19

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 (379) hide show
  1. package/README.md +1 -1
  2. package/{esm2015/index.js → esm2022/index.mjs} +2 -2
  3. package/esm2022/internals/custom-rxjs-subjects.mjs +92 -0
  4. package/esm2022/internals/index.mjs +10 -0
  5. package/esm2022/internals/initial-state.mjs +18 -0
  6. package/esm2022/internals/internal-tokens.mjs +6 -0
  7. package/esm2022/internals/memoize.mjs +45 -0
  8. package/esm2022/internals/metadata.mjs +57 -0
  9. package/esm2022/internals/ngxs-app-bootstrapped-state.mjs +19 -0
  10. package/esm2022/internals/state-stream.mjs +32 -0
  11. package/esm2022/internals/state-token.mjs +17 -0
  12. package/esm2022/internals/symbols.mjs +11 -0
  13. package/esm2022/internals/testing/fresh-platform.mjs +72 -0
  14. package/{esm2015/internals/testing/helpers/ngxs-test.component.js → esm2022/internals/testing/helpers/ngxs-test.component.mjs} +4 -4
  15. package/esm2022/internals/testing/helpers/ngxs-test.module.mjs +20 -0
  16. package/{esm2015/internals/testing/index.js → esm2022/internals/testing/index.mjs} +2 -2
  17. package/esm2022/internals/testing/ngxs.setup.mjs +48 -0
  18. package/{esm2015/internals/testing/skip-console-logging.js → esm2022/internals/testing/skip-console-logging.mjs} +1 -1
  19. package/esm2022/internals/testing/symbol.mjs +2 -0
  20. package/esm2022/operators/append.mjs +20 -0
  21. package/esm2022/operators/iif.mjs +38 -0
  22. package/esm2022/operators/insert-item.mjs +29 -0
  23. package/esm2022/operators/patch.mjs +21 -0
  24. package/esm2022/operators/remove-item.mjs +22 -0
  25. package/esm2022/operators/update-item.mjs +40 -0
  26. package/esm2022/plugins/actions.mjs +16 -0
  27. package/esm2022/plugins/index.mjs +4 -0
  28. package/esm2022/plugins/ngxs-store-plugins.mjs +5 -0
  29. package/esm2022/plugins/symbols.mjs +6 -0
  30. package/esm2022/plugins/utils.mjs +51 -0
  31. package/esm2022/src/actions/symbols.mjs +2 -0
  32. package/esm2022/src/actions-stream.mjs +52 -0
  33. package/esm2022/src/configs/messages.config.mjs +48 -0
  34. package/esm2022/src/decorators/action.mjs +31 -0
  35. package/esm2022/src/decorators/select/select-factory.mjs +29 -0
  36. package/esm2022/src/decorators/select/select.mjs +29 -0
  37. package/esm2022/src/decorators/select/symbols.mjs +29 -0
  38. package/esm2022/src/decorators/selector/selector.mjs +29 -0
  39. package/esm2022/src/decorators/selector/symbols.mjs +2 -0
  40. package/esm2022/src/decorators/selector-options.mjs +21 -0
  41. package/esm2022/src/decorators/state.mjs +35 -0
  42. package/esm2022/src/dev-features/ngxs-development.module.mjs +28 -0
  43. package/esm2022/src/dev-features/ngxs-unhandled-actions-logger.mjs +45 -0
  44. package/esm2022/src/dev-features/symbols.mjs +7 -0
  45. package/esm2022/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +55 -0
  46. package/{esm2015/src/execution/internal-ngxs-execution-strategy.js → esm2022/src/execution/internal-ngxs-execution-strategy.mjs} +6 -6
  47. package/{esm2015/src/execution/noop-ngxs-execution-strategy.js → esm2022/src/execution/noop-ngxs-execution-strategy.mjs} +4 -4
  48. package/esm2022/src/execution/symbols.mjs +29 -0
  49. package/esm2022/src/internal/dispatcher.mjs +106 -0
  50. package/esm2022/src/internal/fallback-subscriber.mjs +29 -0
  51. package/esm2022/src/internal/internals.mjs +206 -0
  52. package/esm2022/src/internal/lifecycle-state-manager.mjs +86 -0
  53. package/esm2022/src/internal/state-context-factory.mjs +71 -0
  54. package/esm2022/src/internal/state-factory.mjs +311 -0
  55. package/esm2022/src/internal/state-operations.mjs +63 -0
  56. package/esm2022/src/internal/state-operators.mjs +20 -0
  57. package/esm2022/src/internal/unhandled-rxjs-error-callback.mjs +39 -0
  58. package/esm2022/src/ivy/ivy-enabled-in-dev-mode.mjs +25 -0
  59. package/esm2022/src/module.mjs +27 -0
  60. package/esm2022/src/modules/ngxs-feature.module.mjs +18 -0
  61. package/esm2022/src/modules/ngxs-root.module.mjs +18 -0
  62. package/esm2022/src/ngxs-unhandled-error-handler.mjs +29 -0
  63. package/esm2022/src/operators/of-action.mjs +104 -0
  64. package/esm2022/src/plugin-manager.mjs +37 -0
  65. package/esm2022/src/plugin_api.mjs +2 -0
  66. package/{esm2015/src/private_api.js → esm2022/src/private_api.mjs} +2 -1
  67. package/esm2022/src/public_api.mjs +20 -0
  68. package/esm2022/src/selectors/create-model-selector.mjs +30 -0
  69. package/esm2022/src/selectors/create-pick-selector.mjs +16 -0
  70. package/esm2022/src/selectors/create-property-selectors.mjs +20 -0
  71. package/esm2022/src/selectors/create-selector.mjs +9 -0
  72. package/esm2022/src/selectors/private_api.mjs +2 -0
  73. package/esm2022/src/selectors/selector-checks.util.mjs +18 -0
  74. package/esm2022/src/selectors/selector-metadata.mjs +35 -0
  75. package/esm2022/src/selectors/selector-models.mjs +2 -0
  76. package/esm2022/src/selectors/selector-types.util.mjs +2 -0
  77. package/esm2022/src/selectors/selector-utils.mjs +95 -0
  78. package/esm2022/src/standalone-features/feature-providers.mjs +20 -0
  79. package/esm2022/src/standalone-features/index.mjs +5 -0
  80. package/esm2022/src/standalone-features/initializers.mjs +89 -0
  81. package/esm2022/src/standalone-features/plugin.mjs +20 -0
  82. package/esm2022/src/standalone-features/preboot.mjs +32 -0
  83. package/esm2022/src/standalone-features/provide-states.mjs +26 -0
  84. package/esm2022/src/standalone-features/provide-store.mjs +26 -0
  85. package/esm2022/src/standalone-features/root-providers.mjs +47 -0
  86. package/esm2022/src/store.mjs +117 -0
  87. package/esm2022/src/symbols.mjs +87 -0
  88. package/esm2022/src/utils/compose.mjs +26 -0
  89. package/esm2022/src/utils/create-dispatch-map.mjs +11 -0
  90. package/esm2022/src/utils/create-select-map.mjs +13 -0
  91. package/esm2022/src/utils/dispatch.mjs +7 -0
  92. package/{esm2015/src/utils/freeze.js → esm2022/src/utils/freeze.mjs} +1 -1
  93. package/esm2022/src/utils/public_api.mjs +5 -0
  94. package/esm2022/src/utils/select.mjs +19 -0
  95. package/esm2022/src/utils/store-validators.mjs +25 -0
  96. package/{fesm2015/ngxs-store-internals-testing.js → fesm2022/ngxs-store-internals-testing.mjs} +84 -81
  97. package/fesm2022/ngxs-store-internals-testing.mjs.map +1 -0
  98. package/fesm2022/ngxs-store-internals.mjs +296 -0
  99. package/fesm2022/ngxs-store-internals.mjs.map +1 -0
  100. package/{fesm2015/ngxs-store-operators.js → fesm2022/ngxs-store-operators.mjs} +3 -3
  101. package/fesm2022/ngxs-store-operators.mjs.map +1 -0
  102. package/fesm2022/ngxs-store-plugins.mjs +80 -0
  103. package/fesm2022/ngxs-store-plugins.mjs.map +1 -0
  104. package/{fesm2015/ngxs-store.js → fesm2022/ngxs-store.mjs} +1319 -1265
  105. package/fesm2022/ngxs-store.mjs.map +1 -0
  106. package/index.d.ts +1 -1
  107. package/{src/internal → internals}/custom-rxjs-subjects.d.ts +2 -2
  108. package/internals/index.d.ts +8 -4
  109. package/internals/initial-state.d.ts +5 -5
  110. package/internals/memoize.d.ts +1 -1
  111. package/internals/metadata.d.ts +25 -0
  112. package/internals/ngxs-app-bootstrapped-state.d.ts +8 -0
  113. package/internals/state-stream.d.ts +15 -0
  114. package/internals/state-token.d.ts +7 -0
  115. package/internals/symbols.d.ts +84 -3
  116. package/internals/testing/helpers/ngxs-test.component.d.ts +1 -1
  117. package/internals/testing/index.d.ts +2 -2
  118. package/internals/testing/symbol.d.ts +2 -2
  119. package/operators/patch.d.ts +2 -2
  120. package/operators/types.d.ts +5 -5
  121. package/operators/utils.d.ts +1 -1
  122. package/package.json +44 -13
  123. package/{src/actions → plugins}/actions.d.ts +3 -3
  124. package/plugins/index.d.ts +3 -0
  125. package/plugins/symbols.d.ts +13 -0
  126. package/{src/utils → plugins}/utils.d.ts +0 -17
  127. package/schematics/collection.json +36 -0
  128. package/schematics/src/actions/actions.factory.d.ts +3 -0
  129. package/schematics/src/actions/actions.factory.js +24 -0
  130. package/schematics/src/actions/actions.factory.js.map +1 -0
  131. package/schematics/src/actions/files/__name__.actions.ts__template__ +4 -0
  132. package/schematics/src/actions/schema.json +35 -0
  133. package/schematics/src/ng-add/add-declaration.d.ts +4 -0
  134. package/schematics/src/ng-add/add-declaration.js +109 -0
  135. package/schematics/src/ng-add/add-declaration.js.map +1 -0
  136. package/schematics/src/ng-add/ng-add.factory.d.ts +9 -0
  137. package/schematics/src/ng-add/ng-add.factory.js +89 -0
  138. package/schematics/src/ng-add/ng-add.factory.js.map +1 -0
  139. package/schematics/src/ng-add/schema.json +72 -0
  140. package/schematics/src/starter-kit/files/store/auth/auth.actions.ts__template__ +6 -0
  141. package/schematics/src/starter-kit/files/store/auth/auth.state.spec.ts__template__ +55 -0
  142. package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +47 -0
  143. package/schematics/src/starter-kit/files/store/dashboard/index.ts__template__ +4 -0
  144. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +10 -0
  145. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.spec.ts__template__ +92 -0
  146. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +62 -0
  147. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__ +6 -0
  148. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.spec.ts__template__ +61 -0
  149. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +42 -0
  150. package/schematics/src/starter-kit/files/store/store.config.ts__template__ +39 -0
  151. package/schematics/src/starter-kit/files/store/store.module.ts__template__ +22 -0
  152. package/schematics/src/starter-kit/schema.json +22 -0
  153. package/schematics/src/starter-kit/starter-kit.factory.d.ts +3 -0
  154. package/schematics/src/starter-kit/starter-kit.factory.js +21 -0
  155. package/schematics/src/starter-kit/starter-kit.factory.js.map +1 -0
  156. package/schematics/src/state/files/__name__.state.spec.ts__template__ +25 -0
  157. package/schematics/src/state/files/__name__.state.ts__template__ +22 -0
  158. package/schematics/src/state/schema.json +44 -0
  159. package/schematics/src/state/state.factory.d.ts +3 -0
  160. package/schematics/src/state/state.factory.js +29 -0
  161. package/schematics/src/state/state.factory.js.map +1 -0
  162. package/schematics/src/store/files/__name__.actions.ts__template__ +4 -0
  163. package/schematics/src/store/files/__name__.state.spec.ts__template__ +26 -0
  164. package/schematics/src/store/files/__name__.state.ts__template__ +29 -0
  165. package/schematics/src/store/schema.json +44 -0
  166. package/schematics/src/store/store.factory.d.ts +3 -0
  167. package/schematics/src/store/store.factory.js +29 -0
  168. package/schematics/src/store/store.factory.js.map +1 -0
  169. package/schematics/src/utils/common/lib.config.d.ts +10 -0
  170. package/schematics/src/utils/common/lib.config.js +15 -0
  171. package/schematics/src/utils/common/lib.config.js.map +1 -0
  172. package/schematics/src/utils/common/project-files.config.d.ts +3 -0
  173. package/schematics/src/utils/common/project-files.config.js +7 -0
  174. package/schematics/src/utils/common/project-files.config.js.map +1 -0
  175. package/schematics/src/utils/common/properties.d.ts +1 -0
  176. package/schematics/src/utils/common/properties.js +8 -0
  177. package/schematics/src/utils/common/properties.js.map +1 -0
  178. package/schematics/src/utils/config.d.ts +119 -0
  179. package/schematics/src/utils/config.js +21 -0
  180. package/schematics/src/utils/config.js.map +1 -0
  181. package/schematics/src/utils/generate-utils.d.ts +4 -0
  182. package/schematics/src/utils/generate-utils.js +14 -0
  183. package/schematics/src/utils/generate-utils.js.map +1 -0
  184. package/schematics/src/utils/interfaces/package.interface.d.ts +7 -0
  185. package/schematics/src/utils/interfaces/package.interface.js +3 -0
  186. package/schematics/src/utils/interfaces/package.interface.js.map +1 -0
  187. package/schematics/src/utils/ng-utils/README.md +1 -0
  188. package/schematics/src/utils/ng-utils/ast-utils.d.ts +99 -0
  189. package/schematics/src/utils/ng-utils/ast-utils.js +517 -0
  190. package/schematics/src/utils/ng-utils/ast-utils.js.map +1 -0
  191. package/schematics/src/utils/ng-utils/ng-ast-utils.d.ts +5 -0
  192. package/schematics/src/utils/ng-utils/ng-ast-utils.js +67 -0
  193. package/schematics/src/utils/ng-utils/ng-ast-utils.js.map +1 -0
  194. package/schematics/src/utils/ng-utils/project.d.ts +2 -0
  195. package/schematics/src/utils/ng-utils/project.js +27 -0
  196. package/schematics/src/utils/ng-utils/project.js.map +1 -0
  197. package/schematics/src/utils/ng-utils/standalone/app_config.d.ts +16 -0
  198. package/schematics/src/utils/ng-utils/standalone/app_config.js +84 -0
  199. package/schematics/src/utils/ng-utils/standalone/app_config.js.map +1 -0
  200. package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +46 -0
  201. package/schematics/src/utils/ng-utils/standalone/code_block.js +73 -0
  202. package/schematics/src/utils/ng-utils/standalone/code_block.js.map +1 -0
  203. package/schematics/src/utils/ng-utils/standalone/index.d.ts +1 -0
  204. package/schematics/src/utils/ng-utils/standalone/index.js +7 -0
  205. package/schematics/src/utils/ng-utils/standalone/index.js.map +1 -0
  206. package/schematics/src/utils/ng-utils/standalone/rules.d.ts +38 -0
  207. package/schematics/src/utils/ng-utils/standalone/rules.js +195 -0
  208. package/schematics/src/utils/ng-utils/standalone/rules.js.map +1 -0
  209. package/schematics/src/utils/ng-utils/standalone/util.d.ts +28 -0
  210. package/schematics/src/utils/ng-utils/standalone/util.js +138 -0
  211. package/schematics/src/utils/ng-utils/standalone/util.js.map +1 -0
  212. package/schematics/src/utils/normalize-options.d.ts +11 -0
  213. package/schematics/src/utils/normalize-options.js +27 -0
  214. package/schematics/src/utils/normalize-options.js.map +1 -0
  215. package/schematics/src/utils/project.d.ts +19 -0
  216. package/schematics/src/utils/project.js +46 -0
  217. package/schematics/src/utils/project.js.map +1 -0
  218. package/schematics/src/utils/versions.json +3 -0
  219. package/src/actions/symbols.d.ts +3 -17
  220. package/src/actions-stream.d.ts +2 -2
  221. package/src/configs/messages.config.d.ts +3 -1
  222. package/src/decorators/action.d.ts +28 -3
  223. package/src/decorators/select/select.d.ts +3 -0
  224. package/src/decorators/select/symbols.d.ts +2 -3
  225. package/src/decorators/selector/selector.d.ts +2 -3
  226. package/src/decorators/selector/symbols.d.ts +73 -4
  227. package/src/decorators/selector-options.d.ts +2 -2
  228. package/src/decorators/state.d.ts +2 -3
  229. package/src/dev-features/ngxs-development.module.d.ts +1 -0
  230. package/src/execution/symbols.d.ts +8 -2
  231. package/src/internal/dispatcher.d.ts +5 -5
  232. package/src/internal/fallback-subscriber.d.ts +3 -0
  233. package/src/internal/internals.d.ts +13 -69
  234. package/src/internal/lifecycle-state-manager.d.ts +6 -6
  235. package/src/internal/state-factory.d.ts +8 -6
  236. package/src/internal/state-operations.d.ts +2 -2
  237. package/src/internal/unhandled-rxjs-error-callback.d.ts +2 -0
  238. package/src/module.d.ts +3 -14
  239. package/src/modules/ngxs-feature.module.d.ts +2 -9
  240. package/src/modules/ngxs-root.module.d.ts +2 -9
  241. package/src/ngxs-unhandled-error-handler.d.ts +16 -0
  242. package/src/operators/of-action.d.ts +3 -3
  243. package/src/plugin-manager.d.ts +1 -1
  244. package/src/plugin_api.d.ts +1 -5
  245. package/src/private_api.d.ts +1 -0
  246. package/src/public_api.d.ts +11 -8
  247. package/src/selectors/create-model-selector.d.ts +2 -2
  248. package/src/selectors/create-pick-selector.d.ts +1 -1
  249. package/src/selectors/create-property-selectors.d.ts +3 -3
  250. package/src/selectors/create-selector.d.ts +10 -10
  251. package/src/selectors/private_api.d.ts +7 -0
  252. package/src/selectors/selector-checks.util.d.ts +2 -2
  253. package/src/selectors/selector-metadata.d.ts +4 -4
  254. package/src/selectors/selector-models.d.ts +4 -4
  255. package/src/selectors/selector-types.util.d.ts +6 -7
  256. package/src/selectors/selector-utils.d.ts +3 -3
  257. package/src/standalone-features/feature-providers.d.ts +7 -0
  258. package/src/standalone-features/index.d.ts +4 -0
  259. package/src/standalone-features/initializers.d.ts +29 -0
  260. package/src/standalone-features/plugin.d.ts +17 -0
  261. package/src/standalone-features/preboot.d.ts +26 -0
  262. package/src/standalone-features/provide-states.d.ts +18 -0
  263. package/src/standalone-features/provide-store.d.ts +22 -0
  264. package/src/standalone-features/root-providers.d.ts +8 -0
  265. package/src/store.d.ts +13 -15
  266. package/src/symbols.d.ts +12 -54
  267. package/src/utils/compose.d.ts +1 -1
  268. package/src/utils/create-dispatch-map.d.ts +4 -0
  269. package/src/utils/create-select-map.d.ts +4 -0
  270. package/src/utils/dispatch.d.ts +2 -0
  271. package/src/utils/public_api.d.ts +4 -0
  272. package/src/utils/select.d.ts +16 -0
  273. package/src/utils/store-validators.d.ts +4 -3
  274. package/bundles/ngxs-store-internals-testing.umd.js +0 -684
  275. package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
  276. package/bundles/ngxs-store-internals.umd.js +0 -141
  277. package/bundles/ngxs-store-internals.umd.js.map +0 -1
  278. package/bundles/ngxs-store-operators.umd.js +0 -224
  279. package/bundles/ngxs-store-operators.umd.js.map +0 -1
  280. package/bundles/ngxs-store.umd.js +0 -3076
  281. package/bundles/ngxs-store.umd.js.map +0 -1
  282. package/esm2015/internals/index.js +0 -5
  283. package/esm2015/internals/initial-state.js +0 -17
  284. package/esm2015/internals/internal-tokens.js +0 -5
  285. package/esm2015/internals/memoize.js +0 -45
  286. package/esm2015/internals/ngxs-bootstrapper.js +0 -29
  287. package/esm2015/internals/src/symbols.js +0 -2
  288. package/esm2015/internals/symbols.js +0 -2
  289. package/esm2015/internals/testing/fresh-platform.js +0 -70
  290. package/esm2015/internals/testing/helpers/ngxs-test.module.js +0 -21
  291. package/esm2015/internals/testing/ngxs.setup.js +0 -46
  292. package/esm2015/internals/testing/symbol.js +0 -2
  293. package/esm2015/operators/append.js +0 -20
  294. package/esm2015/operators/iif.js +0 -38
  295. package/esm2015/operators/insert-item.js +0 -29
  296. package/esm2015/operators/patch.js +0 -21
  297. package/esm2015/operators/remove-item.js +0 -22
  298. package/esm2015/operators/update-item.js +0 -40
  299. package/esm2015/src/actions/actions.js +0 -16
  300. package/esm2015/src/actions/symbols.js +0 -2
  301. package/esm2015/src/actions-stream.js +0 -52
  302. package/esm2015/src/configs/messages.config.js +0 -36
  303. package/esm2015/src/decorators/action.js +0 -33
  304. package/esm2015/src/decorators/select/select-factory.js +0 -29
  305. package/esm2015/src/decorators/select/select.js +0 -26
  306. package/esm2015/src/decorators/select/symbols.js +0 -29
  307. package/esm2015/src/decorators/selector/selector.js +0 -32
  308. package/esm2015/src/decorators/selector/symbols.js +0 -2
  309. package/esm2015/src/decorators/selector-options.js +0 -21
  310. package/esm2015/src/decorators/state.js +0 -36
  311. package/esm2015/src/dev-features/ngxs-development.module.js +0 -22
  312. package/esm2015/src/dev-features/ngxs-unhandled-actions-logger.js +0 -46
  313. package/esm2015/src/dev-features/symbols.js +0 -6
  314. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +0 -57
  315. package/esm2015/src/execution/symbols.js +0 -23
  316. package/esm2015/src/internal/custom-rxjs-subjects.js +0 -92
  317. package/esm2015/src/internal/dispatcher.js +0 -104
  318. package/esm2015/src/internal/error-handler.js +0 -64
  319. package/esm2015/src/internal/internals.js +0 -248
  320. package/esm2015/src/internal/lifecycle-state-manager.js +0 -79
  321. package/esm2015/src/internal/state-context-factory.js +0 -68
  322. package/esm2015/src/internal/state-factory.js +0 -288
  323. package/esm2015/src/internal/state-operations.js +0 -63
  324. package/esm2015/src/internal/state-operators.js +0 -20
  325. package/esm2015/src/internal/state-stream.js +0 -25
  326. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +0 -25
  327. package/esm2015/src/module.js +0 -88
  328. package/esm2015/src/modules/ngxs-feature.module.js +0 -45
  329. package/esm2015/src/modules/ngxs-root.module.js +0 -41
  330. package/esm2015/src/operators/of-action.js +0 -102
  331. package/esm2015/src/plugin-manager.js +0 -37
  332. package/esm2015/src/plugin_api.js +0 -6
  333. package/esm2015/src/public_api.js +0 -27
  334. package/esm2015/src/public_to_deprecate.js +0 -14
  335. package/esm2015/src/selectors/create-model-selector.js +0 -30
  336. package/esm2015/src/selectors/create-pick-selector.js +0 -16
  337. package/esm2015/src/selectors/create-property-selectors.js +0 -20
  338. package/esm2015/src/selectors/create-selector.js +0 -9
  339. package/esm2015/src/selectors/selector-checks.util.js +0 -18
  340. package/esm2015/src/selectors/selector-metadata.js +0 -30
  341. package/esm2015/src/selectors/selector-models.js +0 -2
  342. package/esm2015/src/selectors/selector-types.util.js +0 -2
  343. package/esm2015/src/selectors/selector-utils.js +0 -74
  344. package/esm2015/src/state-token/state-token.js +0 -17
  345. package/esm2015/src/state-token/symbols.js +0 -2
  346. package/esm2015/src/store.js +0 -107
  347. package/esm2015/src/symbols.js +0 -58
  348. package/esm2015/src/utils/compose.js +0 -26
  349. package/esm2015/src/utils/store-validators.js +0 -25
  350. package/esm2015/src/utils/utils.js +0 -92
  351. package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
  352. package/fesm2015/ngxs-store-internals.js +0 -101
  353. package/fesm2015/ngxs-store-internals.js.map +0 -1
  354. package/fesm2015/ngxs-store-operators.js.map +0 -1
  355. package/fesm2015/ngxs-store.js.map +0 -1
  356. package/internals/ngxs-bootstrapper.d.ts +0 -16
  357. package/internals/ngxs-store-internals.d.ts +0 -5
  358. package/internals/package.json +0 -10
  359. package/internals/src/symbols.d.ts +0 -7
  360. package/internals/testing/ngxs-store-internals-testing.d.ts +0 -5
  361. package/internals/testing/package.json +0 -10
  362. package/ngxs-store.d.ts +0 -5
  363. package/operators/ngxs-store-operators.d.ts +0 -5
  364. package/operators/package.json +0 -10
  365. package/src/internal/error-handler.d.ts +0 -26
  366. package/src/internal/state-stream.d.ts +0 -14
  367. package/src/public_to_deprecate.d.ts +0 -21
  368. package/src/state-token/state-token.d.ts +0 -7
  369. package/src/state-token/symbols.d.ts +0 -5
  370. /package/{esm2015/internals/ngxs-store-internals.js → esm2022/internals/ngxs-store-internals.mjs} +0 -0
  371. /package/{esm2015/internals/testing/ngxs-store-internals-testing.js → esm2022/internals/testing/ngxs-store-internals-testing.mjs} +0 -0
  372. /package/{esm2015/ngxs-store.js → esm2022/ngxs-store.mjs} +0 -0
  373. /package/{esm2015/operators/compose.js → esm2022/operators/compose.mjs} +0 -0
  374. /package/{esm2015/operators/index.js → esm2022/operators/index.mjs} +0 -0
  375. /package/{esm2015/operators/ngxs-store-operators.js → esm2022/operators/ngxs-store-operators.mjs} +0 -0
  376. /package/{esm2015/operators/types.js → esm2022/operators/types.mjs} +0 -0
  377. /package/{esm2015/operators/utils.js → esm2022/operators/utils.mjs} +0 -0
  378. /package/{esm2015/src/operators/leave-ngxs.js → esm2022/src/operators/leave-ngxs.mjs} +0 -0
  379. /package/{esm2015/src/selectors/index.js → esm2022/src/selectors/index.mjs} +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2VsZWN0b3JEZWYsIMm1U2VsZWN0b3JSZXR1cm5UeXBlIH0gZnJvbSAnLi4vLi4vc2VsZWN0b3JzJztcblxuLyoqXG4gKiBEZWZpbmVzIGEgdHVwbGUgb2Ygc2VsZWN0b3IgZnVuY3Rpb25zLCBzdGF0ZSB0b2tlbnMsIGFuZCBzdGF0ZSBjbGFzc2VzIHRoYXQgYSBzZWxlY3RvciBkZWNvcmF0ZWRcbiAqIGJ5IGBAU2VsZWN0b3IoKWAgY2FuIGRlcGVuZCBvbi5cbiAqL1xuZXhwb3J0IHR5cGUgU2VsZWN0b3JEZWZUdXBsZSA9IMm1U2VsZWN0b3JEZWY8YW55PltdIHwgW8m1U2VsZWN0b3JEZWY8YW55Pl07XG5cbnR5cGUgVW5rbm93blRvQW55PFQ+ID0gdW5rbm93biBleHRlbmRzIFQgPyBhbnkgOiBUO1xudHlwZSBFbnN1cmVBcnJheTxUPiA9IFQgZXh0ZW5kcyBhbnlbXSA/IFQgOiBuZXZlcjtcblxuLyoqXG4gKiBHaXZlbiBhIHR1cGxlIG9mIHNlbGVjdG9yIGZ1bmN0aW9ucywgc3RhdGUgdG9rZW5zLCBzdGF0ZSBjbGFzc2VzLCBldGMuLCByZXR1cm5zIGEgdHVwbGUgb2Ygd2hhdFxuICogYSBkZXBlbmRlbnQgc2VsZWN0b3Igd291bGQgZXhwZWN0IHRvIHJlY2VpdmUgZm9yIHRoYXQgcGFyZW50IGFzIGFuIGFyZ3VtZW50IHdoZW4gY2FsbGVkLlxuICpcbiAqIEZvciBleGFtcGxlLCBpZiB0aGUgZmlyc3QgZWxlbWVudCBpbiBgUGFyZW50c1R1cGxlYCBpcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhXG4gKiBgbnVtYmVyYCwgdGhlbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgcmVzdWx0IHR1cGxlIHdpbGwgYmUgYG51bWJlcmAuIElmIHRoZSBzZWNvbmQgZWxlbWVudFxuICogaW4gYFBhcmVudHNUdXBsZWAgaXMgYSBzdGF0ZSBjbGFzcyB3aXRoIG1vZGVsIGB7IG5hbWU6IHN0cmluZyB9YCwgdGhlbiB0aGUgc2Vjb25kIGVsZW1lbnQgb2ZcbiAqIHRoZSByZXN1bHQgdHVwbGUgd2lsbCBiZSBgeyBuYW1lOiBzdHJpbmcgfWAuXG4gKi9cbnR5cGUgU2VsZWN0b3JSZXR1cm5UeXBlTGlzdDxQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlPiA9IEVuc3VyZUFycmF5PHtcbiAgW1BhcmVudHNUdXBsZUluZGV4IGluIGtleW9mIFBhcmVudHNUdXBsZV06IFBhcmVudHNUdXBsZVtQYXJlbnRzVHVwbGVJbmRleF0gZXh0ZW5kcyDJtVNlbGVjdG9yRGVmPGFueT5cbiAgICA/IFVua25vd25Ub0FueTzJtVNlbGVjdG9yUmV0dXJuVHlwZTxQYXJlbnRzVHVwbGVbUGFyZW50c1R1cGxlSW5kZXhdPj5cbiAgICA6IG5ldmVyO1xufT47XG5cbi8qKlxuICogRGVmaW5lcyBhIHNlbGVjdG9yIGZ1bmN0aW9uIG1hdGNoaW5nIGEgZ2l2ZW4gYXJndW1lbnQgbGlzdCBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlcy90b2tlbnNcbiAqIGFuZCBhIGdpdmVuIHJldHVybiB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclNwZWM8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gUGFyZW50c1R1cGxlIGV4dGVuZHMgW11cbiAgPyAoKSA9PiBhbnlcbiAgOiBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlXG4gICAgPyAoLi4uc3RhdGVzOiBTZWxlY3RvclJldHVyblR5cGVMaXN0PFBhcmVudHNUdXBsZT4pID0+IFJldHVyblxuICAgIDogKCkgPT4gYW55O1xuXG4vKipcbiAqIERlZmluZXMgYSBzZWxlY3RvciBmdW5jdGlvbiBtYXRjaGluZyBgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPmAgYnV0IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGVcbiAqIGNvbnRhaW5lciBzdGF0ZSBoYXMgYmVlbiBpbmplY3RlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKi9cbnR5cGUgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+ID0gU2VsZWN0b3JTcGVjPFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gW2FueSwgLi4uUGFyZW50c1R1cGxlXSA6IFthbnldLFxuICBQYXJlbnRzVHVwbGUgZXh0ZW5kcyBTZWxlY3RvckRlZlR1cGxlID8gUmV0dXJuIDogYW55XG4+O1xuXG4vKipcbiAqIERlZmluZXMgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciB0aGUgYEBTZWxlY3RvcmAgZGVjb3JhdG9yIHRoYXQgZGVjb3JhdGVzIGEgZnVuY3Rpb24gd2l0aFxuICogcGFyZW50IHNlbGVjdG9ycy9zdGF0ZXMvdG9rZW5zIGBQYXJlbnRzVHVwbGVgIGFuZCByZXR1cm4gdHlwZSBgUmV0dXJuYC5cbiAqL1xudHlwZSBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjPFBhcmVudHNUdXBsZSwgUmV0dXJuPlxuPjtcblxuLyoqXG4gKiBTYW1lIGFzIGBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZWAgYnV0IHdpdGggc3RhdGUgaW5qZWN0ZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LlxuICovXG50eXBlIERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj4gPSBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxcbiAgU2VsZWN0b3JTcGVjV2l0aEluamVjdGVkU3RhdGU8UGFyZW50c1R1cGxlLCBSZXR1cm4+XG4+O1xuXG50eXBlIERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcj4gPSBbdGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCBkZXNjcmlwdG9yPzogRGVzY3JpcHRvcl07XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgcmV0dXJuIHR5cGUgb2YgYSBjYWxsIHRvIGBAU2VsZWN0b3JgIHdoZW4gdGhlcmUgaXMgbm8gYXJndW1lbnQgZ2l2ZW5cbiAqIChlLmcuIGBAU2VsZWN0b3IoKWAgY291bnRzLCBidXQgYEBTZWxlY3RvcihbXSlgIGRvZXMgbm90KVxuICpcbiAqIFRoaXMgcmVzdWx0IGlzIGEgZGVjb3JhdG9yIHRoYXQgY2FuIG9ubHkgYmUgdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggbm8gYXJndW1lbnRzIG9yIGFcbiAqIHNpbmdsZSBhcmd1bWVudCB0aGF0IGlzIHRoZSBjb250YWluZXIgc3RhdGUuXG4gKi9cbnR5cGUgU2VsZWN0b3JUeXBlTm9EZWNvcmF0b3JBcmdzID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj4+XG4gICk6IHZvaWQgfCBEZXNjcmlwdG9yV2l0aE5vSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+O1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTx1bmtub3duLCBSZXR1cm4+PlxuICApOiB2b2lkIHwgRGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPHVua25vd24sIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYCB3aGVuIHRoZXJlIGlzIGFuIGFyZ3VtZW50IGdpdmVuLlxuICogKGUuZy4gYEBTZWxlY3RvcihbXSlgIGNvdW50cywgYnV0IGBAU2VsZWN0b3IoKWAgZG9lcyBub3QpXG4gKlxuICogVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZSB1c2VkIHRvIGRlY29yYXRlIGEgZnVuY3Rpb24gd2l0aCBhbiBhcmd1bWVudCBsaXN0XG4gKiBtYXRjaGluZyB0aGUgcmVzdWx0cyBvZiB0aGUgdHVwbGUgb2YgcGFyZW50cyBgUGFyZW50c1R1cGxlYC5cbiAqL1xudHlwZSBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+ID0ge1xuICA8UmV0dXJuPihcbiAgICAuLi5hcmdzOiBEZWNvcmF0b3JBcmdzPERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoTm9JbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPjtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFJlYWQgdGhlIGRlcHJlY2F0aW9uIG5vdGljZSBhdCB0aGlzIGxpbms6IGh0dHBzOi8vbmd4cy5pby9kZXByZWNhdGlvbnMvaW5qZWN0LWNvbnRhaW5lci1zdGF0ZS1kZXByZWNhdGlvbi5tZC5cbiAgICovXG4gIDxSZXR1cm4+KFxuICAgIC4uLmFyZ3M6IERlY29yYXRvckFyZ3M8RGVzY3JpcHRvcldpdGhJbmplY3RlZFN0YXRlPFBhcmVudHNUdXBsZSwgUmV0dXJuPj5cbiAgKTogdm9pZCB8IERlc2NyaXB0b3JXaXRoSW5qZWN0ZWRTdGF0ZTxQYXJlbnRzVHVwbGUsIFJldHVybj47XG59O1xuXG4vKipcbiAqIERlZmluZXMgdGhlIHJldHVybiB0eXBlIG9mIGEgY2FsbCB0byBgQFNlbGVjdG9yYC4gVGhpcyByZXN1bHQgaXMgYSBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZVxuICogdXNlZCB0byBkZWNvcmF0ZSBhIGZ1bmN0aW9uIHdpdGggYW4gYXJndW1lbnQgbGlzdCBtYXRjaGluZyBgUGFyZW50c1R1cGxlYCwgdGhlIHJlc3VsdHMgb2YgdGhlXG4gKiB0dXBsZSBvZiBwYXJlbnQgc2VsZWN0b3JzL3N0YXRlIHRva2Vucy9zdGF0ZSBjbGFzc2VzLlxuICovXG5leHBvcnQgdHlwZSBTZWxlY3RvclR5cGU8UGFyZW50c1R1cGxlPiA9IHVua25vd24gZXh0ZW5kcyBQYXJlbnRzVHVwbGVcbiAgPyBTZWxlY3RvclR5cGVOb0RlY29yYXRvckFyZ3NcbiAgOiBTZWxlY3RvclR5cGVXaXRoRGVjb3JhdG9yQXJnczxQYXJlbnRzVHVwbGU+O1xuIl19
@@ -0,0 +1,21 @@
1
+ import { selectorOptionsMetaAccessor } from '../selectors/selector-metadata';
2
+ /**
3
+ * Decorator for setting selector options at a method or class level.
4
+ */
5
+ export function SelectorOptions(options) {
6
+ return (function decorate(target, methodName, descriptor) {
7
+ if (methodName) {
8
+ descriptor ||= Object.getOwnPropertyDescriptor(target, methodName);
9
+ // Method Decorator
10
+ const originalFn = descriptor.value || descriptor.originalFn;
11
+ if (originalFn) {
12
+ selectorOptionsMetaAccessor.defineOptions(originalFn, options);
13
+ }
14
+ }
15
+ else {
16
+ // Class Decorator
17
+ selectorOptionsMetaAccessor.defineOptions(target, options);
18
+ }
19
+ });
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFN0U7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQStCO0lBQzdELE9BQXlDLENBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxLQUFLLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFFLENBQUM7WUFDcEUsbUJBQW1CO1lBQ25CLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLElBQVUsVUFBVyxDQUFDLFVBQVUsQ0FBQztZQUNwRSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1U2hhcmVkU2VsZWN0b3JPcHRpb25zIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuaW1wb3J0IHsgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yIH0gZnJvbSAnLi4vc2VsZWN0b3JzL3NlbGVjdG9yLW1ldGFkYXRhJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIHNldHRpbmcgc2VsZWN0b3Igb3B0aW9ucyBhdCBhIG1ldGhvZCBvciBjbGFzcyBsZXZlbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yT3B0aW9ucyhvcHRpb25zOiDJtVNoYXJlZFNlbGVjdG9yT3B0aW9ucykge1xuICByZXR1cm4gPENsYXNzRGVjb3JhdG9yICYgTWV0aG9kRGVjb3JhdG9yPihcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZTxUPihcbiAgICAgIHRhcmdldDogYW55LFxuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD5cbiAgICApIHtcbiAgICAgIGlmIChtZXRob2ROYW1lKSB7XG4gICAgICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBtZXRob2ROYW1lKSE7XG4gICAgICAgIC8vIE1ldGhvZCBEZWNvcmF0b3JcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWUgfHwgKDxhbnk+ZGVzY3JpcHRvcikub3JpZ2luYWxGbjtcbiAgICAgICAgaWYgKG9yaWdpbmFsRm4pIHtcbiAgICAgICAgICBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZGVmaW5lT3B0aW9ucyhvcmlnaW5hbEZuLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2xhc3MgRGVjb3JhdG9yXG4gICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKHRhcmdldCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICApO1xufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { ɵMETA_KEY, ɵMETA_OPTIONS_KEY, ɵensureStoreMetadata } from '@ngxs/store/internals';
2
+ import { ensureStateNameIsValid } from '../utils/store-validators';
3
+ /**
4
+ * Decorates a class with ngxs state information.
5
+ */
6
+ export function State(options) {
7
+ return (target) => {
8
+ const stateClass = target;
9
+ const meta = ɵensureStoreMetadata(stateClass);
10
+ const inheritedStateClass = Object.getPrototypeOf(stateClass);
11
+ const optionsWithInheritance = getStateOptions(inheritedStateClass, options);
12
+ mutateMetaData({ meta, inheritedStateClass, optionsWithInheritance });
13
+ stateClass[ɵMETA_OPTIONS_KEY] = optionsWithInheritance;
14
+ };
15
+ }
16
+ function getStateOptions(inheritedStateClass, options) {
17
+ const inheritanceOptions = inheritedStateClass[ɵMETA_OPTIONS_KEY] || {};
18
+ return { ...inheritanceOptions, ...options };
19
+ }
20
+ function mutateMetaData(params) {
21
+ const { meta, inheritedStateClass, optionsWithInheritance } = params;
22
+ const { children, defaults, name } = optionsWithInheritance;
23
+ const stateName = typeof name === 'string' ? name : (name && name.getName()) || null;
24
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
25
+ ensureStateNameIsValid(stateName);
26
+ }
27
+ if (inheritedStateClass.hasOwnProperty(ɵMETA_KEY)) {
28
+ const inheritedMeta = inheritedStateClass[ɵMETA_KEY] || {};
29
+ meta.actions = { ...meta.actions, ...inheritedMeta.actions };
30
+ }
31
+ meta.children = children;
32
+ meta.defaults = defaults;
33
+ meta.name = stateName;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUlqQixvQkFBb0IsRUFDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVFuRTs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUksT0FBeUI7SUFDaEQsT0FBTyxDQUFDLE1BQW1CLEVBQVEsRUFBRTtRQUNuQyxNQUFNLFVBQVUsR0FBd0IsTUFBTSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFtQixvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxNQUFNLG1CQUFtQixHQUF3QixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sc0JBQXNCLEdBQXFCLGVBQWUsQ0FDOUQsbUJBQW1CLEVBQ25CLE9BQU8sQ0FDUixDQUFDO1FBQ0YsY0FBYyxDQUFJLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUN6RSxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxzQkFBc0IsQ0FBQztJQUN6RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQ3RCLG1CQUF3QyxFQUN4QyxPQUF5QjtJQUV6QixNQUFNLGtCQUFrQixHQUN0QixtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQyxPQUFPLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sRUFBc0IsQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUksTUFBNEI7SUFDckQsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNyRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQztJQUM1RCxNQUFNLFNBQVMsR0FDYixPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0lBRXJFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xELHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sYUFBYSxHQUE0QixtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIMm1U3RhdGVDbGFzcyxcbiAgybVNRVRBX0tFWSxcbiAgybVNRVRBX09QVElPTlNfS0VZLFxuICDJtU1ldGFEYXRhTW9kZWwsXG4gIMm1U3RhdGVDbGFzc0ludGVybmFsLFxuICDJtVN0b3JlT3B0aW9ucyxcbiAgybVlbnN1cmVTdG9yZU1ldGFkYXRhXG59IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IGVuc3VyZVN0YXRlTmFtZUlzVmFsaWQgfSBmcm9tICcuLi91dGlscy9zdG9yZS12YWxpZGF0b3JzJztcblxuaW50ZXJmYWNlIE11dGF0ZU1ldGFPcHRpb25zPFQ+IHtcbiAgbWV0YTogybVNZXRhRGF0YU1vZGVsO1xuICBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbDtcbiAgb3B0aW9uc1dpdGhJbmhlcml0YW5jZTogybVTdG9yZU9wdGlvbnM8VD47XG59XG5cbi8qKlxuICogRGVjb3JhdGVzIGEgY2xhc3Mgd2l0aCBuZ3hzIHN0YXRlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU3RhdGU8VD4ob3B0aW9uczogybVTdG9yZU9wdGlvbnM8VD4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IMm1U3RhdGVDbGFzcyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHN0YXRlQ2xhc3M6IMm1U3RhdGVDbGFzc0ludGVybmFsID0gdGFyZ2V0O1xuICAgIGNvbnN0IG1ldGE6IMm1TWV0YURhdGFNb2RlbCA9IMm1ZW5zdXJlU3RvcmVNZXRhZGF0YShzdGF0ZUNsYXNzKTtcbiAgICBjb25zdCBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihzdGF0ZUNsYXNzKTtcbiAgICBjb25zdCBvcHRpb25zV2l0aEluaGVyaXRhbmNlOiDJtVN0b3JlT3B0aW9uczxUPiA9IGdldFN0YXRlT3B0aW9ucyhcbiAgICAgIGluaGVyaXRlZFN0YXRlQ2xhc3MsXG4gICAgICBvcHRpb25zXG4gICAgKTtcbiAgICBtdXRhdGVNZXRhRGF0YTxUPih7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSk7XG4gICAgc3RhdGVDbGFzc1vJtU1FVEFfT1BUSU9OU19LRVldID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVPcHRpb25zPFQ+KFxuICBpbmhlcml0ZWRTdGF0ZUNsYXNzOiDJtVN0YXRlQ2xhc3NJbnRlcm5hbCxcbiAgb3B0aW9uczogybVTdG9yZU9wdGlvbnM8VD5cbik6IMm1U3RvcmVPcHRpb25zPFQ+IHtcbiAgY29uc3QgaW5oZXJpdGFuY2VPcHRpb25zOiBQYXJ0aWFsPMm1U3RvcmVPcHRpb25zPFQ+PiA9XG4gICAgaW5oZXJpdGVkU3RhdGVDbGFzc1vJtU1FVEFfT1BUSU9OU19LRVldIHx8IHt9O1xuICByZXR1cm4geyAuLi5pbmhlcml0YW5jZU9wdGlvbnMsIC4uLm9wdGlvbnMgfSBhcyDJtVN0b3JlT3B0aW9uczxUPjtcbn1cblxuZnVuY3Rpb24gbXV0YXRlTWV0YURhdGE8VD4ocGFyYW1zOiBNdXRhdGVNZXRhT3B0aW9uczxUPik6IHZvaWQge1xuICBjb25zdCB7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSA9IHBhcmFtcztcbiAgY29uc3QgeyBjaGlsZHJlbiwgZGVmYXVsdHMsIG5hbWUgfSA9IG9wdGlvbnNXaXRoSW5oZXJpdGFuY2U7XG4gIGNvbnN0IHN0YXRlTmFtZTogc3RyaW5nIHwgbnVsbCA9XG4gICAgdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IChuYW1lICYmIG5hbWUuZ2V0TmFtZSgpKSB8fCBudWxsO1xuXG4gIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICBlbnN1cmVTdGF0ZU5hbWVJc1ZhbGlkKHN0YXRlTmFtZSk7XG4gIH1cblxuICBpZiAoaW5oZXJpdGVkU3RhdGVDbGFzcy5oYXNPd25Qcm9wZXJ0eSjJtU1FVEFfS0VZKSkge1xuICAgIGNvbnN0IGluaGVyaXRlZE1ldGE6IFBhcnRpYWw8ybVNZXRhRGF0YU1vZGVsPiA9IGluaGVyaXRlZFN0YXRlQ2xhc3NbybVNRVRBX0tFWV0gfHwge307XG4gICAgbWV0YS5hY3Rpb25zID0geyAuLi5tZXRhLmFjdGlvbnMsIC4uLmluaGVyaXRlZE1ldGEuYWN0aW9ucyB9O1xuICB9XG5cbiAgbWV0YS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICBtZXRhLmRlZmF1bHRzID0gZGVmYXVsdHM7XG4gIG1ldGEubmFtZSA9IHN0YXRlTmFtZTtcbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { NgModule, makeEnvironmentProviders } from '@angular/core';
2
+ import { NGXS_DEVELOPMENT_OPTIONS } from './symbols';
3
+ import { NgxsUnhandledActionsLogger } from './ngxs-unhandled-actions-logger';
4
+ import * as i0 from "@angular/core";
5
+ export class NgxsDevelopmentModule {
6
+ static forRoot(options) {
7
+ return {
8
+ ngModule: NgxsDevelopmentModule,
9
+ providers: [
10
+ NgxsUnhandledActionsLogger,
11
+ { provide: NGXS_DEVELOPMENT_OPTIONS, useValue: options }
12
+ ]
13
+ };
14
+ }
15
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule }); }
17
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsDevelopmentModule, decorators: [{
20
+ type: NgModule
21
+ }] });
22
+ export function withNgxsDevelopmentOptions(options) {
23
+ return makeEnvironmentProviders([
24
+ NgxsUnhandledActionsLogger,
25
+ { provide: NGXS_DEVELOPMENT_OPTIONS, useValue: options }
26
+ ]);
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1kZXZlbG9wbWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGV2LWZlYXR1cmVzL25neHMtZGV2ZWxvcG1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBMEIsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRzdFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUM1QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHFCQUFxQjtZQUMvQixTQUFTLEVBQUU7Z0JBQ1QsMEJBQTBCO2dCQUMxQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO2FBQ3pEO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBVFUscUJBQXFCO2tJQUFyQixxQkFBcUI7a0lBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTs7QUFhVCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsT0FBK0I7SUFDeEUsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QiwwQkFBMEI7UUFDMUIsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtLQUN6RCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zLCBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgTmd4c1VuaGFuZGxlZEFjdGlvbnNMb2dnZXIgfSBmcm9tICcuL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzRGV2ZWxvcG1lbnRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hzRGV2ZWxvcG1lbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5neHNEZXZlbG9wbWVudE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlcixcbiAgICAgICAgeyBwcm92aWRlOiBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTmd4c0RldmVsb3BtZW50T3B0aW9ucyhvcHRpb25zOiBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIE5neHNVbmhhbmRsZWRBY3Rpb25zTG9nZ2VyLFxuICAgIHsgcHJvdmlkZTogTkdYU19ERVZFTE9QTUVOVF9PUFRJT05TLCB1c2VWYWx1ZTogb3B0aW9ucyB9XG4gIF0pO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { InitState, UpdateState, getActionTypeFromInstance } from '@ngxs/store/plugins';
3
+ import { NGXS_DEVELOPMENT_OPTIONS } from './symbols';
4
+ import * as i0 from "@angular/core";
5
+ export class NgxsUnhandledActionsLogger {
6
+ constructor(options) {
7
+ /**
8
+ * These actions should be ignored by default; the user can increase this
9
+ * list in the future via the `ignoreActions` method.
10
+ */
11
+ this._ignoredActions = new Set([InitState.type, UpdateState.type]);
12
+ if (typeof options.warnOnUnhandledActions === 'object') {
13
+ this.ignoreActions(...options.warnOnUnhandledActions.ignore);
14
+ }
15
+ }
16
+ /**
17
+ * Adds actions to the internal list of actions that should be ignored.
18
+ */
19
+ ignoreActions(...actions) {
20
+ for (const action of actions) {
21
+ this._ignoredActions.add(action.type);
22
+ }
23
+ }
24
+ /** @internal */
25
+ warn(action) {
26
+ const actionShouldBeIgnored = Array.from(this._ignoredActions).some(type => type === getActionTypeFromInstance(action));
27
+ if (actionShouldBeIgnored) {
28
+ return;
29
+ }
30
+ action =
31
+ action.constructor && action.constructor.name !== 'Object'
32
+ ? action.constructor.name
33
+ : action.type;
34
+ console.warn(`The ${action} action has been dispatched but hasn't been handled. This may happen if the state with an action handler for this action is not registered.`);
35
+ }
36
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger, deps: [{ token: NGXS_DEVELOPMENT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxsUnhandledActionsLogger, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
42
+ type: Inject,
43
+ args: [NGXS_DEVELOPMENT_OPTIONS]
44
+ }] }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy11bmhhbmRsZWQtYWN0aW9ucy1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGV2LWZlYXR1cmVzL25neHMtdW5oYW5kbGVkLWFjdGlvbnMtbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHeEYsT0FBTyxFQUEwQix3QkFBd0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFHN0UsTUFBTSxPQUFPLDBCQUEwQjtJQU9yQyxZQUE4QyxPQUErQjtRQU43RTs7O1dBR0c7UUFDSyxvQkFBZSxHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUc1RSxJQUFJLE9BQU8sT0FBTyxDQUFDLHNCQUFzQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxHQUFHLE9BQXFCO1FBQ3BDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLElBQUksQ0FBQyxNQUFXO1FBQ2QsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUNuRCxDQUFDO1FBRUYsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTTtZQUNKLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUTtnQkFDeEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFbEIsT0FBTyxDQUFDLElBQUksQ0FDVixPQUFPLE1BQU0sNklBQTZJLENBQzNKLENBQUM7SUFDSixDQUFDO2lJQXhDVSwwQkFBMEIsa0JBT2pCLHdCQUF3QjtxSUFQakMsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVOzswQkFRSSxNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5pdFN0YXRlLCBVcGRhdGVTdGF0ZSwgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuXG5pbXBvcnQgeyBBY3Rpb25UeXBlIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcbmltcG9ydCB7IE5neHNEZXZlbG9wbWVudE9wdGlvbnMsIE5HWFNfREVWRUxPUE1FTlRfT1BUSU9OUyB9IGZyb20gJy4vc3ltYm9scyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hzVW5oYW5kbGVkQWN0aW9uc0xvZ2dlciB7XG4gIC8qKlxuICAgKiBUaGVzZSBhY3Rpb25zIHNob3VsZCBiZSBpZ25vcmVkIGJ5IGRlZmF1bHQ7IHRoZSB1c2VyIGNhbiBpbmNyZWFzZSB0aGlzXG4gICAqIGxpc3QgaW4gdGhlIGZ1dHVyZSB2aWEgdGhlIGBpZ25vcmVBY3Rpb25zYCBtZXRob2QuXG4gICAqL1xuICBwcml2YXRlIF9pZ25vcmVkQWN0aW9ucyA9IG5ldyBTZXQ8c3RyaW5nPihbSW5pdFN0YXRlLnR5cGUsIFVwZGF0ZVN0YXRlLnR5cGVdKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5HWFNfREVWRUxPUE1FTlRfT1BUSU9OUykgb3B0aW9uczogTmd4c0RldmVsb3BtZW50T3B0aW9ucykge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53YXJuT25VbmhhbmRsZWRBY3Rpb25zID09PSAnb2JqZWN0Jykge1xuICAgICAgdGhpcy5pZ25vcmVBY3Rpb25zKC4uLm9wdGlvbnMud2Fybk9uVW5oYW5kbGVkQWN0aW9ucy5pZ25vcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFjdGlvbnMgdG8gdGhlIGludGVybmFsIGxpc3Qgb2YgYWN0aW9ucyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKi9cbiAgaWdub3JlQWN0aW9ucyguLi5hY3Rpb25zOiBBY3Rpb25UeXBlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICB0aGlzLl9pZ25vcmVkQWN0aW9ucy5hZGQoYWN0aW9uLnR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgd2FybihhY3Rpb246IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvblNob3VsZEJlSWdub3JlZCA9IEFycmF5LmZyb20odGhpcy5faWdub3JlZEFjdGlvbnMpLnNvbWUoXG4gICAgICB0eXBlID0+IHR5cGUgPT09IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKVxuICAgICk7XG5cbiAgICBpZiAoYWN0aW9uU2hvdWxkQmVJZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYWN0aW9uID1cbiAgICAgIGFjdGlvbi5jb25zdHJ1Y3RvciAmJiBhY3Rpb24uY29uc3RydWN0b3IubmFtZSAhPT0gJ09iamVjdCdcbiAgICAgICAgPyBhY3Rpb24uY29uc3RydWN0b3IubmFtZVxuICAgICAgICA6IGFjdGlvbi50eXBlO1xuXG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFRoZSAke2FjdGlvbn0gYWN0aW9uIGhhcyBiZWVuIGRpc3BhdGNoZWQgYnV0IGhhc24ndCBiZWVuIGhhbmRsZWQuIFRoaXMgbWF5IGhhcHBlbiBpZiB0aGUgc3RhdGUgd2l0aCBhbiBhY3Rpb24gaGFuZGxlciBmb3IgdGhpcyBhY3Rpb24gaXMgbm90IHJlZ2lzdGVyZWQuYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
3
+ export const NGXS_DEVELOPMENT_OPTIONS = new InjectionToken(NG_DEV_MODE ? 'NGXS_DEVELOPMENT_OPTIONS' : '', {
4
+ providedIn: 'root',
5
+ factory: () => ({ warnOnUnhandledActions: true })
6
+ });
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZXYtZmVhdHVyZXMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFZbEUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3hELFdBQVcsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDN0M7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxDQUFDO0NBQ2xELENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvblR5cGUgfSBmcm9tICcuLi9hY3Rpb25zL3N5bWJvbHMnO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzRGV2ZWxvcG1lbnRPcHRpb25zIHtcbiAgLy8gVGhpcyBhbGxvd3Mgc2V0dGluZyBvbmx5IGB0cnVlYCBiZWNhdXNlIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHNldCBgZmFsc2VgLlxuICAvLyBEZXZlbG9wZXJzIG1heSBqdXN0IHNraXAgaW1wb3J0aW5nIHRoZSBkZXZlbG9wbWVudCBtb2R1bGUgYXQgYWxsLlxuICB3YXJuT25VbmhhbmRsZWRBY3Rpb25zOlxuICAgIHwgdHJ1ZVxuICAgIHwge1xuICAgICAgICBpZ25vcmU6IEFjdGlvblR5cGVbXTtcbiAgICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBOR1hTX0RFVkVMT1BNRU5UX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4c0RldmVsb3BtZW50T3B0aW9ucz4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfREVWRUxPUE1FTlRfT1BUSU9OUycgOiAnJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiAoeyB3YXJuT25VbmhhbmRsZWRBY3Rpb25zOiB0cnVlIH0pXG4gIH1cbik7XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';
2
+ import { isPlatformServer } from '@angular/common';
3
+ import { getZoneWarningMessage } from '../configs/messages.config';
4
+ import * as i0 from "@angular/core";
5
+ export class DispatchOutsideZoneNgxsExecutionStrategy {
6
+ constructor(_ngZone, _platformId) {
7
+ this._ngZone = _ngZone;
8
+ this._platformId = _platformId;
9
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
10
+ verifyZoneIsNotNooped(_ngZone);
11
+ }
12
+ }
13
+ enter(func) {
14
+ if (isPlatformServer(this._platformId)) {
15
+ return this.runInsideAngular(func);
16
+ }
17
+ return this.runOutsideAngular(func);
18
+ }
19
+ leave(func) {
20
+ return this.runInsideAngular(func);
21
+ }
22
+ runInsideAngular(func) {
23
+ if (NgZone.isInAngularZone()) {
24
+ return func();
25
+ }
26
+ return this._ngZone.run(func);
27
+ }
28
+ runOutsideAngular(func) {
29
+ if (NgZone.isInAngularZone()) {
30
+ return this._ngZone.runOutsideAngular(func);
31
+ }
32
+ return func();
33
+ }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, deps: [{ token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DispatchOutsideZoneNgxsExecutionStrategy, decorators: [{
38
+ type: Injectable,
39
+ args: [{ providedIn: 'root' }]
40
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
41
+ type: Inject,
42
+ args: [PLATFORM_ID]
43
+ }] }] });
44
+ // Caretaker note: this should exist as a separate function and not a class method,
45
+ // since class methods are not tree-shakable.
46
+ function verifyZoneIsNotNooped(ngZone) {
47
+ // `NoopNgZone` is not exposed publicly as it doesn't expect
48
+ // to be used outside of the core Angular code, thus we just have
49
+ // to check if the zone doesn't extend or instanceof `NgZone`.
50
+ if (ngZone instanceof NgZone) {
51
+ return;
52
+ }
53
+ console.warn(getZoneWarningMessage());
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtb3V0c2lkZS16b25lLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2V4ZWN1dGlvbi9kaXNwYXRjaC1vdXRzaWRlLXpvbmUtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdDQUF3QztJQUNuRCxZQUNVLE9BQWUsRUFDTSxXQUFtQjtRQUR4QyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ00sZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFFaEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEQscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUksSUFBYTtRQUNwQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGdCQUFnQixDQUFJLElBQWE7UUFDdkMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxpQkFBaUIsQ0FBSSxJQUFhO1FBQ3hDLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7aUlBakNVLHdDQUF3Qyx3Q0FHekMsV0FBVztxSUFIVix3Q0FBd0MsY0FEM0IsTUFBTTs7MkZBQ25CLHdDQUF3QztrQkFEcEQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUk3QixNQUFNOzJCQUFDLFdBQVc7O0FBaUN2QixtRkFBbUY7QUFDbkYsNkNBQTZDO0FBQzdDLFNBQVMscUJBQXFCLENBQUMsTUFBYztJQUMzQyw0REFBNEQ7SUFDNUQsaUVBQWlFO0lBQ2pFLDhEQUE4RDtJQUM5RCxJQUFJLE1BQU0sWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUM3QixPQUFPO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgZ2V0Wm9uZVdhcm5pbmdNZXNzYWdlIH0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIF9wbGF0Zm9ybUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgIT09ICd1bmRlZmluZWQnICYmIG5nRGV2TW9kZSkge1xuICAgICAgdmVyaWZ5Wm9uZUlzTm90Tm9vcGVkKF9uZ1pvbmUpO1xuICAgIH1cbiAgfVxuXG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuICAgICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnVuT3V0c2lkZUFuZ3VsYXIoZnVuYyk7XG4gIH1cblxuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMucnVuSW5zaWRlQW5ndWxhcihmdW5jKTtcbiAgfVxuXG4gIHByaXZhdGUgcnVuSW5zaWRlQW5ndWxhcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgaWYgKE5nWm9uZS5pc0luQW5ndWxhclpvbmUoKSkge1xuICAgICAgcmV0dXJuIGZ1bmMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25nWm9uZS5ydW4oZnVuYyk7XG4gIH1cblxuICBwcml2YXRlIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICBpZiAoTmdab25lLmlzSW5Bbmd1bGFyWm9uZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKGZ1bmMpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG5cbi8vIENhcmV0YWtlciBub3RlOiB0aGlzIHNob3VsZCBleGlzdCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBub3QgYSBjbGFzcyBtZXRob2QsXG4vLyBzaW5jZSBjbGFzcyBtZXRob2RzIGFyZSBub3QgdHJlZS1zaGFrYWJsZS5cbmZ1bmN0aW9uIHZlcmlmeVpvbmVJc05vdE5vb3BlZChuZ1pvbmU6IE5nWm9uZSk6IHZvaWQge1xuICAvLyBgTm9vcE5nWm9uZWAgaXMgbm90IGV4cG9zZWQgcHVibGljbHkgYXMgaXQgZG9lc24ndCBleHBlY3RcbiAgLy8gdG8gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBjb3JlIEFuZ3VsYXIgY29kZSwgdGh1cyB3ZSBqdXN0IGhhdmVcbiAgLy8gdG8gY2hlY2sgaWYgdGhlIHpvbmUgZG9lc24ndCBleHRlbmQgb3IgaW5zdGFuY2VvZiBgTmdab25lYC5cbiAgaWYgKG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnNvbGUud2FybihnZXRab25lV2FybmluZ01lc3NhZ2UoKSk7XG59XG4iXX0=
@@ -11,14 +11,14 @@ export class InternalNgxsExecutionStrategy {
11
11
  leave(func) {
12
12
  return this._executionStrategy.leave(func);
13
13
  }
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, deps: [{ token: NGXS_EXECUTION_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' }); }
14
16
  }
15
- /** @nocollapse */ InternalNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalNgxsExecutionStrategy, deps: [{ token: NGXS_EXECUTION_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
16
- /** @nocollapse */ InternalNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalNgxsExecutionStrategy, providedIn: 'root' });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalNgxsExecutionStrategy, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{ providedIn: 'root' }]
20
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
21
21
  type: Inject,
22
22
  args: [NGXS_EXECUTION_STRATEGY]
23
- }] }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDMkMsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7SUFDakYsQ0FBQztJQUVKLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhJQVhVLDZCQUE2QixrQkFFOUIsdUJBQXVCO2tKQUZ0Qiw2QkFBNkIsY0FEaEIsTUFBTTs0RkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSwgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSkgcHJpdmF0ZSBfZXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25TdHJhdGVneS5lbnRlcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoZnVuYyk7XG4gIH1cbn1cbiJdfQ==
23
+ }] }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtbmd4cy1leGVjdXRpb24tc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFDMkMsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7SUFDakYsQ0FBQztJQUVKLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsS0FBSyxDQUFJLElBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7aUlBWFUsNkJBQTZCLGtCQUU5Qix1QkFBdUI7cUlBRnRCLDZCQUE2QixjQURoQixNQUFNOzsyRkFDbkIsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5neHNFeGVjdXRpb25TdHJhdGVneSwgTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IGltcGxlbWVudHMgTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOR1hTX0VYRUNVVElPTl9TVFJBVEVHWSkgcHJpdmF0ZSBfZXhlY3V0aW9uU3RyYXRlZ3k6IE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgZW50ZXI8VD4oZnVuYzogKCkgPT4gVCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25TdHJhdGVneS5lbnRlcihmdW5jKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uU3RyYXRlZ3kubGVhdmUoZnVuYyk7XG4gIH1cbn1cbiJdfQ==
@@ -7,11 +7,11 @@ export class NoopNgxsExecutionStrategy {
7
7
  leave(func) {
8
8
  return func();
9
9
  }
10
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' }); }
10
12
  }
11
- /** @nocollapse */ NoopNgxsExecutionStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NoopNgxsExecutionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
- /** @nocollapse */ NoopNgxsExecutionStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NoopNgxsExecutionStrategy, providedIn: 'root' });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NoopNgxsExecutionStrategy, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{ providedIn: 'root' }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7MElBUFUseUJBQXlCOzhJQUF6Qix5QkFBeUIsY0FEWixNQUFNOzRGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIGZ1bmMoKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vbm9vcC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBSSxJQUFhO1FBQ3BCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztpSUFQVSx5QkFBeUI7cUlBQXpCLHlCQUF5QixjQURaLE1BQU07OzJGQUNuQix5QkFBeUI7a0JBRHJDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgaW1wbGVtZW50cyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVCB7XG4gICAgcmV0dXJuIGZ1bmMoKTtcbiAgfVxuXG4gIGxlYXZlPFQ+KGZ1bmM6ICgpID0+IFQpOiBUIHtcbiAgICByZXR1cm4gZnVuYygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { InjectionToken, inject, INJECTOR, NgZone } from '@angular/core';
2
+ import { NoopNgxsExecutionStrategy } from './noop-ngxs-execution-strategy';
3
+ import { DispatchOutsideZoneNgxsExecutionStrategy } from './dispatch-outside-zone-ngxs-execution-strategy';
4
+ const NG_DEV_MODE = typeof ngDevMode !== 'undefined' && ngDevMode;
5
+ /**
6
+ * Consumers have the option to utilize the execution strategy provided by
7
+ * `NgxsModule.forRoot({executionStrategy})` or `provideStore([], {executionStrategy})`.
8
+ */
9
+ export const CUSTOM_NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'CUSTOM_NGXS_EXECUTION_STRATEGY' : '');
10
+ /**
11
+ * The injection token is used internally to resolve an instance of the execution
12
+ * strategy. It checks whether consumers have provided their own `executionStrategy`
13
+ * and also verifies if we are operating in a zone-aware environment.
14
+ */
15
+ export const NGXS_EXECUTION_STRATEGY = new InjectionToken(NG_DEV_MODE ? 'NGXS_EXECUTION_STRATEGY' : '', {
16
+ providedIn: 'root',
17
+ factory: () => {
18
+ const ngZone = inject(NgZone);
19
+ const injector = inject(INJECTOR);
20
+ const executionStrategy = injector.get(CUSTOM_NGXS_EXECUTION_STRATEGY);
21
+ const isNgZoneEnabled = ngZone instanceof NgZone;
22
+ return executionStrategy
23
+ ? injector.get(executionStrategy)
24
+ : injector.get(isNgZoneEnabled
25
+ ? DispatchOutsideZoneNgxsExecutionStrategy
26
+ : NoopNgxsExecutionStrategy);
27
+ }
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNHLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBRTlELFdBQVcsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM1QztJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sZUFBZSxHQUFHLE1BQU0sWUFBWSxNQUFNLENBQUM7UUFDakQsT0FBTyxpQkFBaUI7WUFDdEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDakMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ1YsZUFBZTtnQkFDYixDQUFDLENBQUMsd0NBQXdDO2dCQUMxQyxDQUFDLENBQUMseUJBQXlCLENBQzlCLENBQUM7SUFDUixDQUFDO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIGluamVjdCwgSU5KRUNUT1IsIFR5cGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbmNvbnN0IE5HX0RFVl9NT0RFID0gdHlwZW9mIG5nRGV2TW9kZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbmdEZXZNb2RlO1xuXG4vKipcbiAqIENvbnN1bWVycyBoYXZlIHRoZSBvcHRpb24gdG8gdXRpbGl6ZSB0aGUgZXhlY3V0aW9uIHN0cmF0ZWd5IHByb3ZpZGVkIGJ5XG4gKiBgTmd4c01vZHVsZS5mb3JSb290KHtleGVjdXRpb25TdHJhdGVneX0pYCBvciBgcHJvdmlkZVN0b3JlKFtdLCB7ZXhlY3V0aW9uU3RyYXRlZ3l9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1kgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFR5cGU8Tmd4c0V4ZWN1dGlvblN0cmF0ZWd5PiB8IHVuZGVmaW5lZFxuPihOR19ERVZfTU9ERSA/ICdDVVNUT01fTkdYU19FWEVDVVRJT05fU1RSQVRFR1knIDogJycpO1xuXG4vKipcbiAqIFRoZSBpbmplY3Rpb24gdG9rZW4gaXMgdXNlZCBpbnRlcm5hbGx5IHRvIHJlc29sdmUgYW4gaW5zdGFuY2Ugb2YgdGhlIGV4ZWN1dGlvblxuICogc3RyYXRlZ3kuIEl0IGNoZWNrcyB3aGV0aGVyIGNvbnN1bWVycyBoYXZlIHByb3ZpZGVkIHRoZWlyIG93biBgZXhlY3V0aW9uU3RyYXRlZ3lgXG4gKiBhbmQgYWxzbyB2ZXJpZmllcyBpZiB3ZSBhcmUgb3BlcmF0aW5nIGluIGEgem9uZS1hd2FyZSBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPE5neHNFeGVjdXRpb25TdHJhdGVneT4oXG4gIE5HX0RFVl9NT0RFID8gJ05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZJyA6ICcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIGNvbnN0IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSU5KRUNUT1IpO1xuICAgICAgY29uc3QgZXhlY3V0aW9uU3RyYXRlZ3kgPSBpbmplY3Rvci5nZXQoQ1VTVE9NX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZKTtcbiAgICAgIGNvbnN0IGlzTmdab25lRW5hYmxlZCA9IG5nWm9uZSBpbnN0YW5jZW9mIE5nWm9uZTtcbiAgICAgIHJldHVybiBleGVjdXRpb25TdHJhdGVneVxuICAgICAgICA/IGluamVjdG9yLmdldChleGVjdXRpb25TdHJhdGVneSlcbiAgICAgICAgOiBpbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBpc05nWm9uZUVuYWJsZWRcbiAgICAgICAgICAgICAgPyBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4gICAgICAgICAgICAgIDogTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgICAgICk7XG4gICAgfVxuICB9XG4pO1xuXG4vKlxuICogRXhlY3V0aW9uIHN0cmF0ZWd5IGludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5neHNFeGVjdXRpb25TdHJhdGVneSB7XG4gIGVudGVyPFQ+KGZ1bmM6ICgpID0+IFQpOiBUO1xuICBsZWF2ZTxUPihmdW5jOiAoKSA9PiBUKTogVDtcbn1cbiJdfQ==
@@ -0,0 +1,106 @@
1
+ import { Injectable, NgZone } from '@angular/core';
2
+ import { EMPTY, forkJoin, of, Subject, throwError } from 'rxjs';
3
+ import { exhaustMap, filter, map, shareReplay, take } from 'rxjs/operators';
4
+ import { getActionTypeFromInstance } from '@ngxs/store/plugins';
5
+ import { ɵStateStream } from '@ngxs/store/internals';
6
+ import { compose } from '../utils/compose';
7
+ import { InternalActions } from '../actions-stream';
8
+ import { PluginManager } from '../plugin-manager';
9
+ import { InternalNgxsExecutionStrategy } from '../execution/internal-ngxs-execution-strategy';
10
+ import { leaveNgxs } from '../operators/leave-ngxs';
11
+ import { fallbackSubscriber } from './fallback-subscriber';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "../actions-stream";
14
+ import * as i2 from "../plugin-manager";
15
+ import * as i3 from "@ngxs/store/internals";
16
+ import * as i4 from "../execution/internal-ngxs-execution-strategy";
17
+ /**
18
+ * Internal Action result stream that is emitted when an action is completed.
19
+ * This is used as a method of returning the action result to the dispatcher
20
+ * for the observable returned by the dispatch(...) call.
21
+ * The dispatcher then asynchronously pushes the result from this stream onto the main action stream as a result.
22
+ */
23
+ export class InternalDispatchedActionResults extends Subject {
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
28
+ type: Injectable,
29
+ args: [{ providedIn: 'root' }]
30
+ }] });
31
+ export class InternalDispatcher {
32
+ constructor(_ngZone, _actions, _actionResults, _pluginManager, _stateStream, _ngxsExecutionStrategy) {
33
+ this._ngZone = _ngZone;
34
+ this._actions = _actions;
35
+ this._actionResults = _actionResults;
36
+ this._pluginManager = _pluginManager;
37
+ this._stateStream = _stateStream;
38
+ this._ngxsExecutionStrategy = _ngxsExecutionStrategy;
39
+ }
40
+ /**
41
+ * Dispatches event(s).
42
+ */
43
+ dispatch(actionOrActions) {
44
+ const result = this._ngxsExecutionStrategy.enter(() => this.dispatchByEvents(actionOrActions));
45
+ return result.pipe(fallbackSubscriber(this._ngZone), leaveNgxs(this._ngxsExecutionStrategy));
46
+ }
47
+ dispatchByEvents(actionOrActions) {
48
+ if (Array.isArray(actionOrActions)) {
49
+ if (actionOrActions.length === 0)
50
+ return of(undefined);
51
+ return forkJoin(actionOrActions.map(action => this.dispatchSingle(action))).pipe(map(() => undefined));
52
+ }
53
+ else {
54
+ return this.dispatchSingle(actionOrActions);
55
+ }
56
+ }
57
+ dispatchSingle(action) {
58
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
59
+ const type = getActionTypeFromInstance(action);
60
+ if (!type) {
61
+ const error = new Error(`This action doesn't have a type property: ${action.constructor.name}`);
62
+ return throwError(() => error);
63
+ }
64
+ }
65
+ const prevState = this._stateStream.getValue();
66
+ const plugins = this._pluginManager.plugins;
67
+ return compose([
68
+ ...plugins,
69
+ (nextState, nextAction) => {
70
+ if (nextState !== prevState) {
71
+ this._stateStream.next(nextState);
72
+ }
73
+ const actionResult$ = this.getActionResultStream(nextAction);
74
+ actionResult$.subscribe(ctx => this._actions.next(ctx));
75
+ this._actions.next({ action: nextAction, status: "DISPATCHED" /* ActionStatus.Dispatched */ });
76
+ return this.createDispatchObservable(actionResult$);
77
+ }
78
+ ])(prevState, action).pipe(shareReplay());
79
+ }
80
+ getActionResultStream(action) {
81
+ return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* ActionStatus.Dispatched */), take(1), shareReplay());
82
+ }
83
+ createDispatchObservable(actionResult$) {
84
+ return actionResult$
85
+ .pipe(exhaustMap((ctx) => {
86
+ switch (ctx.status) {
87
+ case "SUCCESSFUL" /* ActionStatus.Successful */:
88
+ // The `createDispatchObservable` function should return the
89
+ // state, as its result is utilized by plugins.
90
+ return of(this._stateStream.getValue());
91
+ case "ERRORED" /* ActionStatus.Errored */:
92
+ return throwError(() => ctx.error);
93
+ default:
94
+ return EMPTY;
95
+ }
96
+ }))
97
+ .pipe(shareReplay());
98
+ }
99
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, deps: [{ token: i0.NgZone }, { token: i1.InternalActions }, { token: InternalDispatchedActionResults }, { token: i2.PluginManager }, { token: i3.ɵStateStream }, { token: i4.InternalNgxsExecutionStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, providedIn: 'root' }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: InternalDispatcher, decorators: [{
103
+ type: Injectable,
104
+ args: [{ providedIn: 'root' }]
105
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.InternalActions }, { type: InternalDispatchedActionResults }, { type: i2.PluginManager }, { type: i3.ɵStateStream }, { type: i4.InternalNgxsExecutionStrategy }] });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFFM0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7aUlBQTlELCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRGxCLE1BQU07OzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsT0FBZSxFQUNmLFFBQXlCLEVBQ3pCLGNBQStDLEVBQy9DLGNBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLHNCQUFxRDtRQUxyRCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQWlDO1FBQy9DLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBK0I7SUFDNUQsQ0FBQztJQUVKOztPQUVHO0lBQ0gsUUFBUSxDQUFDLGVBQTRCO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FDdkMsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsZUFBNEI7UUFDbkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFdkQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBVztRQUNoQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksR0FBdUIseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUNyQiw2Q0FBNkMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FDdkUsQ0FBQztnQkFDRixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFNUMsT0FBTyxPQUFPLENBQUM7WUFDYixHQUFHLE9BQU87WUFDVixDQUFDLFNBQWMsRUFBRSxVQUFlLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0QsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLDRDQUF5QixFQUFFLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdEQsQ0FBQztTQUNGLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQVc7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsTUFBTSxDQUNKLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQzlCLGFBQXdDO1FBRXhDLE9BQU8sYUFBYTthQUNqQixJQUFJLENBQ0gsVUFBVSxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFO1lBQ2hDLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuQjtvQkFDRSw0REFBNEQ7b0JBQzVELCtDQUErQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQztvQkFDRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDO29CQUNFLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7aUlBN0ZVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZSB9IGZyb20gJ0BuZ3hzL3N0b3JlL3BsdWdpbnMnO1xuaW1wb3J0IHsgybVQbGFpbk9iamVjdCwgybVTdGF0ZVN0cmVhbSB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XG5cbmltcG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuLi91dGlscy9jb21wb3NlJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHQsIEFjdGlvblN0YXR1cywgSW50ZXJuYWxBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9ucy1zdHJlYW0nO1xuaW1wb3J0IHsgUGx1Z2luTWFuYWdlciB9IGZyb20gJy4uL3BsdWdpbi1tYW5hZ2VyJztcbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4uL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcbmltcG9ydCB7IGZhbGxiYWNrU3Vic2NyaWJlciB9IGZyb20gJy4vZmFsbGJhY2stc3Vic2NyaWJlcic7XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHJlc3VsdCBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAqIFRoaXMgaXMgdXNlZCBhcyBhIG1ldGhvZCBvZiByZXR1cm5pbmcgdGhlIGFjdGlvbiByZXN1bHQgdG8gdGhlIGRpc3BhdGNoZXJcbiAqIGZvciB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgZGlzcGF0Y2goLi4uKSBjYWxsLlxuICogVGhlIGRpc3BhdGNoZXIgdGhlbiBhc3luY2hyb25vdXNseSBwdXNoZXMgdGhlIHJlc3VsdCBmcm9tIHRoaXMgc3RyZWFtIG9udG8gdGhlIG1haW4gYWN0aW9uIHN0cmVhbSBhcyBhIHJlc3VsdC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIGV4dGVuZHMgU3ViamVjdDxBY3Rpb25Db250ZXh0PiB7fVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX25nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEludGVybmFsQWN0aW9ucyxcbiAgICBwcml2YXRlIF9hY3Rpb25SZXN1bHRzOiBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgIHByaXZhdGUgX3BsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIsXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IMm1U3RhdGVTdHJlYW0sXG4gICAgcHJpdmF0ZSBfbmd4c0V4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHt9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgZXZlbnQocykuXG4gICAqL1xuICBkaXNwYXRjaChhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICB0aGlzLmRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnBpcGUoXG4gICAgICBmYWxsYmFja1N1YnNjcmliZXIodGhpcy5fbmdab25lKSxcbiAgICAgIGxlYXZlTmd4cyh0aGlzLl9uZ3hzRXhlY3V0aW9uU3RyYXRlZ3kpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hCeUV2ZW50cyhhY3Rpb25PckFjdGlvbnM6IGFueSB8IGFueVtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uT3JBY3Rpb25zKSkge1xuICAgICAgaWYgKGFjdGlvbk9yQWN0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBvZih1bmRlZmluZWQpO1xuXG4gICAgICByZXR1cm4gZm9ya0pvaW4oYWN0aW9uT3JBY3Rpb25zLm1hcChhY3Rpb24gPT4gdGhpcy5kaXNwYXRjaFNpbmdsZShhY3Rpb24pKSkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbk9yQWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaFNpbmdsZShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlICE9PSAndW5kZWZpbmVkJyAmJiBuZ0Rldk1vZGUpIHtcbiAgICAgIGNvbnN0IHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uKTtcbiAgICAgIGlmICghdHlwZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcbiAgICAgICAgICBgVGhpcyBhY3Rpb24gZG9lc24ndCBoYXZlIGEgdHlwZSBwcm9wZXJ0eTogJHthY3Rpb24uY29uc3RydWN0b3IubmFtZX1gXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwcmV2U3RhdGUgPSB0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IHBsdWdpbnMgPSB0aGlzLl9wbHVnaW5NYW5hZ2VyLnBsdWdpbnM7XG5cbiAgICByZXR1cm4gY29tcG9zZShbXG4gICAgICAuLi5wbHVnaW5zLFxuICAgICAgKG5leHRTdGF0ZTogYW55LCBuZXh0QWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG5leHRTdGF0ZSAhPT0gcHJldlN0YXRlKSB7XG4gICAgICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXh0U3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGlvblJlc3VsdCQgPSB0aGlzLmdldEFjdGlvblJlc3VsdFN0cmVhbShuZXh0QWN0aW9uKTtcbiAgICAgICAgYWN0aW9uUmVzdWx0JC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvbnMubmV4dChjdHgpKTtcbiAgICAgICAgdGhpcy5fYWN0aW9ucy5uZXh0KHsgYWN0aW9uOiBuZXh0QWN0aW9uLCBzdGF0dXM6IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoYWN0aW9uUmVzdWx0JCk7XG4gICAgICB9XG4gICAgXSkocHJldlN0YXRlLCBhY3Rpb24pLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGlvblJlc3VsdFN0cmVhbShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25SZXN1bHRzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgIChjdHg6IEFjdGlvbkNvbnRleHQpID0+IGN0eC5hY3Rpb24gPT09IGFjdGlvbiAmJiBjdHguc3RhdHVzICE9PSBBY3Rpb25TdGF0dXMuRGlzcGF0Y2hlZFxuICAgICAgKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzaGFyZVJlcGxheSgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlKFxuICAgIGFjdGlvblJlc3VsdCQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD5cbiAgKTogT2JzZXJ2YWJsZTzJtVBsYWluT2JqZWN0PiB7XG4gICAgcmV0dXJuIGFjdGlvblJlc3VsdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBleGhhdXN0TWFwKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGN0eC5zdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWw6XG4gICAgICAgICAgICAgIC8vIFRoZSBgY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlYCBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIHRoZVxuICAgICAgICAgICAgICAvLyBzdGF0ZSwgYXMgaXRzIHJlc3VsdCBpcyB1dGlsaXplZCBieSBwbHVnaW5zLlxuICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gICAgICAgICAgICBjYXNlIEFjdGlvblN0YXR1cy5FcnJvcmVkOlxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBjdHguZXJyb3IpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Observable } from 'rxjs';
2
+ import { executeUnhandledCallback } from './unhandled-rxjs-error-callback';
3
+ export function fallbackSubscriber(ngZone) {
4
+ return (source) => {
5
+ let subscription = source.subscribe({
6
+ error: error => {
7
+ ngZone.runOutsideAngular(() => {
8
+ // This is necessary to schedule a microtask to ensure that synchronous
9
+ // errors are not reported before the real subscriber arrives. If an error
10
+ // is thrown synchronously in any action, it will be reported to the error
11
+ // handler regardless. Since RxJS reports unhandled errors asynchronously,
12
+ // implementing a microtask ensures that we are also safe in this scenario.
13
+ queueMicrotask(() => {
14
+ if (subscription) {
15
+ executeUnhandledCallback(error);
16
+ }
17
+ });
18
+ });
19
+ }
20
+ });
21
+ return new Observable(subscriber => {
22
+ // Now that there is a real subscriber, we can unsubscribe our pro-active subscription
23
+ subscription?.unsubscribe();
24
+ subscription = null;
25
+ return source.subscribe(subscriber);
26
+ });
27
+ };
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stc3Vic2NyaWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9mYWxsYmFjay1zdWJzY3JpYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNFLE1BQU0sVUFBVSxrQkFBa0IsQ0FBSSxNQUFjO0lBQ2xELE9BQU8sQ0FBQyxNQUFxQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxZQUFZLEdBQXdCLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDdkQsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNiLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7b0JBQzVCLHVFQUF1RTtvQkFDdkUsMEVBQTBFO29CQUMxRSwwRUFBMEU7b0JBQzFFLDBFQUEwRTtvQkFDMUUsMkVBQTJFO29CQUMzRSxjQUFjLENBQUMsR0FBRyxFQUFFO3dCQUNsQixJQUFJLFlBQVksRUFBRSxDQUFDOzRCQUNqQix3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbEMsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFJLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLHNGQUFzRjtZQUN0RixZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDNUIsWUFBWSxHQUFHLElBQUksQ0FBQztZQUVwQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZXhlY3V0ZVVuaGFuZGxlZENhbGxiYWNrIH0gZnJvbSAnLi91bmhhbmRsZWQtcnhqcy1lcnJvci1jYWxsYmFjayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWxsYmFja1N1YnNjcmliZXI8VD4obmdab25lOiBOZ1pvbmUpIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHNjaGVkdWxlIGEgbWljcm90YXNrIHRvIGVuc3VyZSB0aGF0IHN5bmNocm9ub3VzXG4gICAgICAgICAgLy8gZXJyb3JzIGFyZSBub3QgcmVwb3J0ZWQgYmVmb3JlIHRoZSByZWFsIHN1YnNjcmliZXIgYXJyaXZlcy4gSWYgYW4gZXJyb3JcbiAgICAgICAgICAvLyBpcyB0aHJvd24gc3luY2hyb25vdXNseSBpbiBhbnkgYWN0aW9uLCBpdCB3aWxsIGJlIHJlcG9ydGVkIHRvIHRoZSBlcnJvclxuICAgICAgICAgIC8vIGhhbmRsZXIgcmVnYXJkbGVzcy4gU2luY2UgUnhKUyByZXBvcnRzIHVuaGFuZGxlZCBlcnJvcnMgYXN5bmNocm9ub3VzbHksXG4gICAgICAgICAgLy8gaW1wbGVtZW50aW5nIGEgbWljcm90YXNrIGVuc3VyZXMgdGhhdCB3ZSBhcmUgYWxzbyBzYWZlIGluIHRoaXMgc2NlbmFyaW8uXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICBleGVjdXRlVW5oYW5kbGVkQ2FsbGJhY2soZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPihzdWJzY3JpYmVyID0+IHtcbiAgICAgIC8vIE5vdyB0aGF0IHRoZXJlIGlzIGEgcmVhbCBzdWJzY3JpYmVyLCB3ZSBjYW4gdW5zdWJzY3JpYmUgb3VyIHByby1hY3RpdmUgc3Vic2NyaXB0aW9uXG4gICAgICBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICBzdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==