@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
@@ -1,7 +1,88 @@
1
- export interface PlainObject {
1
+ import type { StateToken } from './state-token';
2
+ export interface ɵPlainObject {
2
3
  [key: string]: any;
3
4
  }
4
- export interface PlainObjectOf<T> {
5
+ export interface ɵPlainObjectOf<T> {
5
6
  [key: string]: T;
6
7
  }
7
- export declare type StateClass<T = any> = new (...args: any[]) => T;
8
+ export type ɵStateClass<T = any> = new (...args: any[]) => T;
9
+ export declare const ɵMETA_KEY = "NGXS_META";
10
+ export declare const ɵMETA_OPTIONS_KEY = "NGXS_OPTIONS_META";
11
+ export declare const ɵSELECTOR_META_KEY = "NGXS_SELECTOR_META";
12
+ export interface ɵStateToken<T, U> {
13
+ new (name: ɵTokenName<T>): U;
14
+ getName(): string;
15
+ toString(): string;
16
+ }
17
+ type RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;
18
+ export type ɵTokenName<T> = string & RequireGeneric<T, string>;
19
+ export type ɵExtractTokenType<P> = P extends StateToken<infer T> ? T : never;
20
+ /**
21
+ * Options that can be provided to the store.
22
+ */
23
+ export interface ɵStoreOptions<T> {
24
+ /**
25
+ * Name of the state. Required.
26
+ */
27
+ name: string | StateToken<T>;
28
+ /**
29
+ * Default values for the state. If not provided, uses empty object.
30
+ */
31
+ defaults?: T;
32
+ /**
33
+ * Sub states for the given state.
34
+ *
35
+ * @deprecated
36
+ * Read the deprecation notice at this link: https://ngxs.io/deprecations/sub-states-deprecation.
37
+ */
38
+ children?: ɵStateClass[];
39
+ }
40
+ export interface ɵStateClassInternal<T = any, U = any> extends ɵStateClass<T> {
41
+ [ɵMETA_KEY]?: ɵMetaDataModel;
42
+ [ɵMETA_OPTIONS_KEY]?: ɵStoreOptions<U>;
43
+ }
44
+ export interface ɵMetaDataModel {
45
+ name: string | null;
46
+ actions: ɵPlainObjectOf<ɵActionHandlerMetaData[]>;
47
+ defaults: any;
48
+ path: string | null;
49
+ makeRootSelector: ɵSelectorFactory | null;
50
+ /** @deprecated */
51
+ children?: ɵStateClassInternal[];
52
+ }
53
+ export interface ɵSelectorMetaDataModel {
54
+ makeRootSelector: ɵSelectorFactory | null;
55
+ originalFn: Function | null;
56
+ containerClass: any;
57
+ selectorName: string | null;
58
+ getSelectorOptions: () => ɵSharedSelectorOptions;
59
+ }
60
+ export interface ɵSharedSelectorOptions {
61
+ /**
62
+ * @deprecated
63
+ * Read the deprecation notice at this link: https://ngxs.io/deprecations/inject-container-state-deprecation.md.
64
+ */
65
+ injectContainerState?: boolean;
66
+ suppressErrors?: boolean;
67
+ }
68
+ export interface ɵRuntimeSelectorContext {
69
+ getStateGetter(key: any): (state: any) => any;
70
+ getSelectorOptions(localOptions?: ɵSharedSelectorOptions): ɵSharedSelectorOptions;
71
+ }
72
+ export type ɵSelectFromRootState = (rootState: any) => any;
73
+ export type ɵSelectorFactory = (runtimeContext: ɵRuntimeSelectorContext) => ɵSelectFromRootState;
74
+ /**
75
+ * Actions that can be provided in a action decorator.
76
+ */
77
+ export interface ɵActionOptions {
78
+ /**
79
+ * Cancel the previous uncompleted observable(s).
80
+ */
81
+ cancelUncompleted?: boolean;
82
+ }
83
+ export interface ɵActionHandlerMetaData {
84
+ fn: string | symbol;
85
+ options: ɵActionOptions;
86
+ type: string;
87
+ }
88
+ export {};
@@ -4,5 +4,5 @@ export declare class NgxsTestComponent implements OnInit, AfterViewInit {
4
4
  ngOnInit(): void;
5
5
  ngAfterViewInit(): void;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxsTestComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxsTestComponent, "app-root", never, {}, {}, never, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxsTestComponent, "app-root", never, {}, {}, never, never, false, never>;
8
8
  }
@@ -1,4 +1,4 @@
1
- export { NgxsTestBed } from './ngxs.setup';
2
- export { NgxsTesting } from './symbol';
3
1
  export { freshPlatform } from './fresh-platform';
2
+ export { NgxsTestBed } from './ngxs.setup';
4
3
  export { skipConsoleLogging } from './skip-console-logging';
4
+ export { NgxsTesting } from './symbol';
@@ -1,9 +1,9 @@
1
1
  import { NgxsModuleOptions, Store } from '@ngxs/store';
2
2
  import { ModuleWithProviders } from '@angular/core';
3
3
  import { TestBedStatic } from '@angular/core/testing';
4
- import { StateClass } from '@ngxs/store/internals';
4
+ import { ɵStateClass } from '@ngxs/store/internals';
5
5
  export interface NgxsOptionsTesting {
6
- states?: StateClass[];
6
+ states?: ɵStateClass[];
7
7
  ngxsOptions?: NgxsModuleOptions;
8
8
  imports?: ModuleWithProviders<any>[];
9
9
  before?: () => void;
@@ -1,6 +1,6 @@
1
1
  import { NoInfer, StateOperator } from './types';
2
- declare type NotUndefined<T> = T extends undefined ? never : T;
3
- export declare type ɵPatchSpec<T> = {
2
+ type NotUndefined<T> = T extends undefined ? never : T;
3
+ export type ɵPatchSpec<T> = {
4
4
  [P in keyof T]?: T[P] | StateOperator<NotUndefined<T[P]>>;
5
5
  };
6
6
  export declare function patch<T extends Record<string, any>>(patchObject: NoInfer<ɵPatchSpec<T>>): StateOperator<T>;
@@ -1,4 +1,4 @@
1
- declare type _NoInfer<T> = T extends infer S ? S : never;
1
+ type _NoInfer<T> = T extends infer S ? S : never;
2
2
  /**
3
3
  * Blocks the ability of the typescript inferrence engine to be able to use the provided type as part of
4
4
  * inferring any type parameters from this usage.
@@ -29,7 +29,7 @@ declare type _NoInfer<T> = T extends infer S ? S : never;
29
29
  * ```
30
30
  *
31
31
  */
32
- export declare type NoInfer<T> = T extends (infer O)[] ? _NoInfer<O>[] : _NoInfer<T>;
32
+ export type NoInfer<T> = T extends (infer O)[] ? _NoInfer<O>[] : _NoInfer<T>;
33
33
  /**
34
34
  * IMPORTANT NOTE: This should not be used externally to the library, rather
35
35
  * the exported type `ExistingState<T>` should be used instead.
@@ -38,12 +38,12 @@ export declare type NoInfer<T> = T extends (infer O)[] ? _NoInfer<O>[] : _NoInfe
38
38
  * primitives to objects or arrays that could already be readonly or not.
39
39
  * This does not apply the readonly construct to nested objects, but only to the top level type.
40
40
  */
41
- declare type ɵAsReadonly<T> = T extends Readonly<infer O> ? (O extends T ? Readonly<T> : T) : T;
41
+ type ɵAsReadonly<T> = T extends Readonly<infer O> ? (O extends T ? Readonly<T> : T) : T;
42
42
  /**
43
43
  * Represents the existing state that is passed into a `StateOperator` which should
44
44
  * not be modified but will be used to build the new state returned by the `StateOperator`.
45
45
  */
46
- export declare type ExistingState<T> = T extends any ? ɵAsReadonly<T> : never;
46
+ export type ExistingState<T> = T extends any ? ɵAsReadonly<T> : never;
47
47
  /**
48
48
  * This is a monotype unary function that is used to create a new state from an existing state.
49
49
  * A state operator is usually created by a function that is given some data
@@ -52,5 +52,5 @@ export declare type ExistingState<T> = T extends any ? ɵAsReadonly<T> : never;
52
52
  * In state management terminology this creator function is commonly referred to as a state operator
53
53
  * because it represents the operation to be performed. ie. `patch`, `append`, `insertItem`, `compose`, `iif`, etc.
54
54
  */
55
- export declare type StateOperator<T> = (existing: ExistingState<T>) => T;
55
+ export type StateOperator<T> = (existing: ExistingState<T>) => T;
56
56
  export {};
@@ -1,5 +1,5 @@
1
1
  import { StateOperator } from './types';
2
- export declare type Predicate<T = any> = (value: T | Readonly<T>) => boolean;
2
+ export type Predicate<T = any> = (value: T | Readonly<T>) => boolean;
3
3
  export declare function isStateOperator<T>(value: T | StateOperator<T>): value is StateOperator<T>;
4
4
  export declare function isUndefined(value: any): value is undefined;
5
5
  export declare function isPredicate<T>(value: Predicate<T> | boolean | number): value is Predicate<T>;
package/package.json CHANGED
@@ -1,21 +1,52 @@
1
1
  {
2
- "$schema": "../../node_modules/ng-packagr/package.schema.json",
3
2
  "name": "@ngxs/store",
4
- "version": "3.8.2",
3
+ "version": "18.0.0-dev.master-f4c2c19",
5
4
  "license": "MIT",
6
- "sideEffects": true,
5
+ "sideEffects": false,
7
6
  "peerDependencies": {
8
- "@angular/core": ">=12.0.0 <18.0.0",
9
- "rxjs": ">=6.5.5"
7
+ "@angular/core": ">=16.0.0 <19.0.0",
8
+ "rxjs": ">=7.0.0"
9
+ },
10
+ "schematics": "./schematics/collection.json",
11
+ "module": "fesm2022/ngxs-store.mjs",
12
+ "typings": "index.d.ts",
13
+ "exports": {
14
+ "./package.json": {
15
+ "default": "./package.json"
16
+ },
17
+ ".": {
18
+ "types": "./index.d.ts",
19
+ "esm2022": "./esm2022/ngxs-store.mjs",
20
+ "esm": "./esm2022/ngxs-store.mjs",
21
+ "default": "./fesm2022/ngxs-store.mjs"
22
+ },
23
+ "./internals": {
24
+ "types": "./internals/index.d.ts",
25
+ "esm2022": "./esm2022/internals/ngxs-store-internals.mjs",
26
+ "esm": "./esm2022/internals/ngxs-store-internals.mjs",
27
+ "default": "./fesm2022/ngxs-store-internals.mjs"
28
+ },
29
+ "./operators": {
30
+ "types": "./operators/index.d.ts",
31
+ "esm2022": "./esm2022/operators/ngxs-store-operators.mjs",
32
+ "esm": "./esm2022/operators/ngxs-store-operators.mjs",
33
+ "default": "./fesm2022/ngxs-store-operators.mjs"
34
+ },
35
+ "./plugins": {
36
+ "types": "./plugins/index.d.ts",
37
+ "esm2022": "./esm2022/plugins/ngxs-store-plugins.mjs",
38
+ "esm": "./esm2022/plugins/ngxs-store-plugins.mjs",
39
+ "default": "./fesm2022/ngxs-store-plugins.mjs"
40
+ },
41
+ "./internals/testing": {
42
+ "types": "./internals/testing/index.d.ts",
43
+ "esm2022": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
44
+ "esm": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
45
+ "default": "./fesm2022/ngxs-store-internals-testing.mjs"
46
+ }
10
47
  },
11
- "main": "bundles/ngxs-store.umd.js",
12
- "module": "fesm2015/ngxs-store.js",
13
- "es2015": "fesm2015/ngxs-store.js",
14
- "esm2015": "esm2015/ngxs-store.js",
15
- "fesm2015": "fesm2015/ngxs-store.js",
16
- "typings": "ngxs-store.d.ts",
17
48
  "dependencies": {
18
- "tslib": "^2.2.0"
49
+ "tslib": "^2.3.0"
19
50
  },
20
51
  "repository": {
21
52
  "type": "git",
@@ -60,4 +91,4 @@
60
91
  "type": "opencollective",
61
92
  "url": "https://opencollective.com/ngxs"
62
93
  }
63
- }
94
+ }
@@ -1,4 +1,4 @@
1
- import { PlainObject } from '@ngxs/store/internals';
1
+ import { ɵPlainObject } from '@ngxs/store/internals';
2
2
  /**
3
3
  * Init action
4
4
  */
@@ -9,7 +9,7 @@ export declare class InitState {
9
9
  * Update action
10
10
  */
11
11
  export declare class UpdateState {
12
- addedStates?: PlainObject | undefined;
12
+ readonly addedStates?: ɵPlainObject | undefined;
13
13
  static readonly type = "@@UPDATE_STATE";
14
- constructor(addedStates?: PlainObject | undefined);
14
+ constructor(addedStates?: ɵPlainObject | undefined);
15
15
  }
@@ -0,0 +1,3 @@
1
+ export { InitState, UpdateState } from './actions';
2
+ export { NGXS_PLUGINS, NgxsPlugin, NgxsPluginFn, NgxsNextPluginFn } from './symbols';
3
+ export { getActionTypeFromInstance, actionMatcher, setValue, getValue } from './utils';
@@ -0,0 +1,13 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const NGXS_PLUGINS: InjectionToken<unknown>;
3
+ export type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
4
+ export type NgxsNextPluginFn = (state: any, mutation: any) => any;
5
+ /**
6
+ * Plugin interface
7
+ */
8
+ export interface NgxsPlugin {
9
+ /**
10
+ * Handle the state/action before its submitted to the state handlers.
11
+ */
12
+ handle(state: any, action: any, next: NgxsNextPluginFn): any;
13
+ }
@@ -27,20 +27,3 @@ export declare const setValue: (obj: any, prop: string, val: any) => any;
27
27
  * @ignore
28
28
  */
29
29
  export declare const getValue: (obj: any, prop: string) => any;
30
- /**
31
- * Simple object check.
32
- *
33
- * isObject({a:1}) //=> true
34
- * isObject(1) //=> false
35
- *
36
- * @ignore
37
- */
38
- export declare const isObject: (item: any) => any;
39
- /**
40
- * Deep merge two objects.
41
- *
42
- * mergeDeep({a:1, b:{x: 1, y:2}}, {b:{x: 3}, c:4}) //=> {a:1, b:{x:3, y:2}, c:4}
43
- *
44
- * @param base base object onto which `sources` will be applied
45
- */
46
- export declare const mergeDeep: (base: any, ...sources: any[]) => any;
@@ -0,0 +1,36 @@
1
+ {
2
+ "extends": ["@schematics/angular"],
3
+ "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
4
+ "schematics": {
5
+ "store": {
6
+ "factory": "./src/store/store.factory#store",
7
+ "description": "Create a NGXS full store",
8
+ "aliases": ["ngxs-store"],
9
+ "schema": "./src/store/schema.json"
10
+ },
11
+ "state": {
12
+ "factory": "./src/state/state.factory#state",
13
+ "description": "Create a NGXS state",
14
+ "aliases": ["ngxs-state"],
15
+ "schema": "./src/state/schema.json"
16
+ },
17
+ "actions": {
18
+ "factory": "./src/actions/actions.factory#actions",
19
+ "description": "Create a NGXS actions",
20
+ "aliases": ["ngxs-actions"],
21
+ "schema": "./src/actions/schema.json"
22
+ },
23
+ "starter-kit": {
24
+ "factory": "./src/starter-kit/starter-kit.factory#starterKit",
25
+ "description": "Create a NGXS starter kit with simple or best practice type",
26
+ "aliases": ["ngxs-sk"],
27
+ "schema": "./src/starter-kit/schema.json"
28
+ },
29
+ "ng-add": {
30
+ "factory": "./src/ng-add/ng-add.factory#ngAdd",
31
+ "description": "Add Ngxs Store and plugins in package.json",
32
+ "aliases": ["ngxs-init"],
33
+ "schema": "./src/ng-add/schema.json"
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,3 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { ActionsSchema } from './actions.schema';
3
+ export declare function actions(options: ActionsSchema): Rule;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.actions = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const generate_utils_1 = require("../utils/generate-utils");
6
+ const properties_1 = require("../utils/common/properties");
7
+ const normalize_options_1 = require("../utils/normalize-options");
8
+ const path_1 = require("path");
9
+ function actions(options) {
10
+ return (host) => {
11
+ if ((0, properties_1.isEmpty)(options.name)) {
12
+ throw new schematics_1.SchematicsException('Invalid options, "name" is required.');
13
+ }
14
+ const normalizedOptions = (0, normalize_options_1.normalizeBaseOptions)(host, options);
15
+ const path = options.flat
16
+ ? normalizedOptions.path
17
+ : (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
18
+ return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, {
19
+ name: normalizedOptions.name
20
+ });
21
+ };
22
+ }
23
+ exports.actions = actions;
24
+ //# sourceMappingURL=actions.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/actions/actions.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAElF,4DAAwD;AACxD,2DAAqD;AACrD,kEAAkE;AAClE,+BAA4B;AAE5B,SAAgB,OAAO,CAAC,OAAsB;IAC5C,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE;YACzC,IAAI,EAAE,iBAAiB,CAAC,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAfD,0BAeC"}
@@ -0,0 +1,4 @@
1
+ export class <%= classify(name) %>Action {
2
+ static readonly type = '[<%= classify(name) %>] Add item';
3
+ constructor(readonly payload: any) { }
4
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "SchematicsNgxsActions",
4
+ "title": "Ngxs Actions Options Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "description": "The name of the actions.",
9
+ "type": "string",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use for the actions?",
15
+ "x-priority": "important"
16
+ },
17
+ "path": {
18
+ "type": "string",
19
+ "format": "path",
20
+ "description": "The path to create the actions. Relative to the specified (or default) project."
21
+ },
22
+ "flat": {
23
+ "type": "boolean",
24
+ "default": false,
25
+ "description": "Flag to indicate if a dir is created."
26
+ },
27
+ "project": {
28
+ "type": "string",
29
+ "description": "The name of the project.",
30
+ "aliases": ["p"],
31
+ "x-dropdown": "projects"
32
+ }
33
+ },
34
+ "required": ["name"]
35
+ }
@@ -0,0 +1,4 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { NormalizedNgxsPackageSchema } from './ng-add.factory';
3
+ export declare function addDeclarationToStandaloneApp(options: NormalizedNgxsPackageSchema): Rule;
4
+ export declare function addDeclarationToNonStandaloneApp(options: NormalizedNgxsPackageSchema): Rule;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.addDeclarationToNonStandaloneApp = exports.addDeclarationToStandaloneApp = void 0;
13
+ const schematics_1 = require("@angular-devkit/schematics");
14
+ const rules_1 = require("../utils/ng-utils/standalone/rules");
15
+ const util_1 = require("../utils/ng-utils/standalone/util");
16
+ const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
17
+ const app_config_1 = require("../utils/ng-utils/standalone/app_config");
18
+ const lib_config_1 = require("../utils/common/lib.config");
19
+ function addDeclarationToStandaloneApp(options) {
20
+ return (host) => __awaiter(this, void 0, void 0, function* () {
21
+ var _a;
22
+ const mainFilePath = yield (0, util_1.getMainFilePath)(host, options.project);
23
+ const bootstrapCall = (0, util_1.findBootstrapApplicationCall)(host, mainFilePath);
24
+ const appConfigFilePath = ((_a = (0, app_config_1.findAppConfig)(bootstrapCall, host, mainFilePath)) === null || _a === void 0 ? void 0 : _a.filePath) || mainFilePath;
25
+ const plugins = options.plugins
26
+ .filter(p => pluginData.has(p))
27
+ .map((p) => [p, pluginData.get(p).standalone]);
28
+ const importPluginRules = plugins.map(([plugin, standaloneDeclaration]) => {
29
+ return importTree => {
30
+ const change = (0, ast_utils_1.insertImport)((0, util_1.getSourceFile)(host, appConfigFilePath), appConfigFilePath, standaloneDeclaration, plugin);
31
+ (0, util_1.applyChangesToFile)(importTree, appConfigFilePath, [change]);
32
+ };
33
+ });
34
+ const pluginDeclarations = plugins
35
+ .map(([, standaloneDeclaration]) => `${standaloneDeclaration}()`)
36
+ .join(',\n');
37
+ return (0, schematics_1.chain)([
38
+ ...importPluginRules,
39
+ (0, rules_1.addRootProvider)(options.project, ({ code, external }) => code `${external('provideStore', '@ngxs/store')}(\n[],\n${pluginDeclarations})`)
40
+ ]);
41
+ });
42
+ }
43
+ exports.addDeclarationToStandaloneApp = addDeclarationToStandaloneApp;
44
+ function addDeclarationToNonStandaloneApp(options) {
45
+ const pluginRules = options.plugins
46
+ .map(p => { var _a; return [p, (_a = pluginData.get(p)) === null || _a === void 0 ? void 0 : _a.module]; })
47
+ .filter((v) => !!v[1])
48
+ .map(([plugin, moduleName]) => {
49
+ return (0, rules_1.addRootImport)(options.project, ({ code, external }) => code `${external(moduleName, plugin)}.forRoot()`);
50
+ });
51
+ const importPath = '@ngxs/store';
52
+ const moduleImportExtras = '.forRoot([], { developmentMode: /** !environment.production */ false })';
53
+ return (0, schematics_1.chain)([
54
+ (0, rules_1.addRootImport)(options.project, ({ code, external }) => code `${external('NgxsModule', importPath)}${moduleImportExtras}`),
55
+ ...pluginRules
56
+ ]);
57
+ }
58
+ exports.addDeclarationToNonStandaloneApp = addDeclarationToNonStandaloneApp;
59
+ const pluginData = new Map([
60
+ [
61
+ lib_config_1.LIBRARIES.DEVTOOLS,
62
+ {
63
+ module: 'NgxsReduxDevtoolsPluginModule',
64
+ standalone: 'withNgxsReduxDevtoolsPlugin'
65
+ }
66
+ ],
67
+ [
68
+ lib_config_1.LIBRARIES.FORM,
69
+ {
70
+ module: 'NgxsFormPluginModule',
71
+ standalone: 'withNgxsFormPlugin'
72
+ }
73
+ ],
74
+ [
75
+ lib_config_1.LIBRARIES.LOGGER,
76
+ {
77
+ module: 'NgxsLoggerPluginModule',
78
+ standalone: 'withNgxsLoggerPlugin'
79
+ }
80
+ ],
81
+ [
82
+ lib_config_1.LIBRARIES.ROUTER,
83
+ {
84
+ module: 'NgxsRouterPluginModule',
85
+ standalone: 'withNgxsRouterPlugin'
86
+ }
87
+ ],
88
+ [
89
+ lib_config_1.LIBRARIES.STORAGE,
90
+ {
91
+ module: 'NgxsStoragePluginModule',
92
+ standalone: 'withNgxsStoragePlugin'
93
+ }
94
+ ],
95
+ [
96
+ lib_config_1.LIBRARIES.STORE,
97
+ {
98
+ standalone: 'provideStore'
99
+ }
100
+ ],
101
+ [
102
+ lib_config_1.LIBRARIES.WEBSOCKET,
103
+ {
104
+ module: 'NgxsWebSocketPluginModule',
105
+ standalone: 'withNgxsWebSocketPlugin'
106
+ }
107
+ ]
108
+ ]);
109
+ //# sourceMappingURL=add-declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-declaration.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/ng-add/add-declaration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Rule } from '@angular-devkit/schematics';
2
+ import { LIBRARIES } from '../utils/common/lib.config';
3
+ import { NgxsPackageSchema } from './ng-add.schema';
4
+ export type NormalizedNgxsPackageSchema = {
5
+ skipInstall: boolean;
6
+ plugins: LIBRARIES[];
7
+ project: string;
8
+ };
9
+ export declare function ngAdd(options: NgxsPackageSchema): Rule;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ngAdd = void 0;
13
+ const schematics_1 = require("@angular-devkit/schematics");
14
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
15
+ const dependencies_1 = require("@schematics/angular/utility/dependencies");
16
+ const lib_config_1 = require("../utils/common/lib.config");
17
+ const project_1 = require("../utils/ng-utils/project");
18
+ const ng_ast_utils_1 = require("../utils/ng-utils/ng-ast-utils");
19
+ const add_declaration_1 = require("./add-declaration");
20
+ const project_2 = require("../utils/project");
21
+ const versions = require('./../utils/versions.json');
22
+ function ngAdd(options) {
23
+ return (host) => {
24
+ const normalizedSchema = normalizeSchema(host, options);
25
+ return (0, schematics_1.chain)([
26
+ addNgxsPackageToPackageJson(normalizedSchema),
27
+ addDeclaration(normalizedSchema),
28
+ normalizedSchema.skipInstall ? (0, schematics_1.noop)() : runNpmPackageInstall()
29
+ ]);
30
+ };
31
+ }
32
+ exports.ngAdd = ngAdd;
33
+ function addNgxsPackageToPackageJson(schema) {
34
+ return (host, context) => {
35
+ const ngxsStoreVersion = versions['@ngxs/store'];
36
+ if (!ngxsStoreVersion) {
37
+ throw new schematics_1.SchematicsException('Could not resolve the version of "@ngxs/store"');
38
+ }
39
+ schema.plugins.forEach(name => {
40
+ const packageExists = (0, dependencies_1.getPackageJsonDependency)(host, name);
41
+ if (packageExists === null) {
42
+ (0, dependencies_1.addPackageJsonDependency)(host, {
43
+ type: dependencies_1.NodeDependencyType.Default,
44
+ name,
45
+ version: ngxsStoreVersion
46
+ });
47
+ context.logger.info(`✅️ Added "${name}" into ${dependencies_1.NodeDependencyType.Default}`);
48
+ }
49
+ else {
50
+ context.logger.warn(`✅️ "${name}" already exists in the ${dependencies_1.NodeDependencyType.Default}`);
51
+ }
52
+ });
53
+ return host;
54
+ };
55
+ }
56
+ function runNpmPackageInstall() {
57
+ return (_, context) => {
58
+ context.addTask(new tasks_1.NodePackageInstallTask());
59
+ context.logger.info(`🔍 Installing packages...`);
60
+ };
61
+ }
62
+ function addDeclaration(schema) {
63
+ return (host) => __awaiter(this, void 0, void 0, function* () {
64
+ const mainFile = (0, project_1.getProjectMainFile)(host, schema.project);
65
+ if (!mainFile) {
66
+ return;
67
+ }
68
+ const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(host, mainFile);
69
+ if (isStandalone) {
70
+ return (0, add_declaration_1.addDeclarationToStandaloneApp)(schema);
71
+ }
72
+ else {
73
+ return (0, add_declaration_1.addDeclarationToNonStandaloneApp)(schema);
74
+ }
75
+ });
76
+ }
77
+ function normalizeSchema(host, schema) {
78
+ var _a, _b;
79
+ const projectName = (_a = (0, project_2.getProject)(host, schema.project)) === null || _a === void 0 ? void 0 : _a.name;
80
+ if (!projectName) {
81
+ throw new schematics_1.SchematicsException(`Project "${schema.project}" does not exist.`);
82
+ }
83
+ return {
84
+ skipInstall: !!schema.skipInstall,
85
+ plugins: (_b = Object.values(lib_config_1.LIBRARIES).filter(lib => { var _a; return (_a = schema.plugins) === null || _a === void 0 ? void 0 : _a.includes(lib); })) !== null && _b !== void 0 ? _b : [],
86
+ project: projectName
87
+ };
88
+ }
89
+ //# sourceMappingURL=ng-add.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-add.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/ng-add/ng-add.factory.ts"],"names":[],"mappings":"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"}