@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,5 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- // These tokens are internal and can change at any point.
3
- export const ɵNGXS_STATE_FACTORY = new InjectionToken('ɵNGXS_STATE_FACTORY');
4
- export const ɵNGXS_STATE_CONTEXT_FACTORY = new InjectionToken('ɵNGXS_STATE_CONTEXT_FACTORY');
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvaW50ZXJuYWxzL3NyYy9pbnRlcm5hbC10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyx5REFBeUQ7QUFFekQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQU0scUJBQXFCLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLGNBQWMsQ0FDM0QsNkJBQTZCLENBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBUaGVzZSB0b2tlbnMgYXJlIGludGVybmFsIGFuZCBjYW4gY2hhbmdlIGF0IGFueSBwb2ludC5cblxuZXhwb3J0IGNvbnN0IMm1TkdYU19TVEFURV9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ8m1TkdYU19TVEFURV9GQUNUT1JZJyk7XG5cbmV4cG9ydCBjb25zdCDJtU5HWFNfU1RBVEVfQ09OVEVYVF9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oXG4gICfJtU5HWFNfU1RBVEVfQ09OVEVYVF9GQUNUT1JZJ1xuKTtcbiJdfQ==
@@ -1,45 +0,0 @@
1
- function defaultEqualityCheck(a, b) {
2
- return a === b;
3
- }
4
- function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
5
- if (prev === null || next === null || prev.length !== next.length) {
6
- return false;
7
- }
8
- // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
9
- const length = prev.length;
10
- for (let i = 0; i < length; i++) {
11
- if (!equalityCheck(prev[i], next[i])) {
12
- return false;
13
- }
14
- }
15
- return true;
16
- }
17
- /**
18
- * Memoize a function on its last inputs only.
19
- * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
20
- *
21
- * @ignore
22
- */
23
- export function memoize(func, equalityCheck = defaultEqualityCheck) {
24
- let lastArgs = null;
25
- let lastResult = null;
26
- // we reference arguments instead of spreading them for performance reasons
27
- function memoized() {
28
- // eslint-disable-next-line prefer-rest-params
29
- if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
30
- // apply arguments instead of spreading for performance.
31
- // eslint-disable-next-line prefer-rest-params, prefer-spread
32
- lastResult = func.apply(null, arguments);
33
- }
34
- // eslint-disable-next-line prefer-rest-params
35
- lastArgs = arguments;
36
- return lastResult;
37
- }
38
- memoized.reset = function () {
39
- // The hidden (for now) ability to reset the memoization
40
- lastArgs = null;
41
- lastResult = null;
42
- };
43
- return memoized;
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy9zcmMvbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLG9CQUFvQixDQUFDLENBQU0sRUFBRSxDQUFNO0lBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FDakMsYUFBMEMsRUFDMUMsSUFBdUIsRUFDdkIsSUFBdUI7SUFFdkIsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ2pFLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCw4R0FBOEc7SUFDOUcsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsSUFBTyxFQUNQLGFBQWEsR0FBRyxvQkFBb0I7SUFFcEMsSUFBSSxRQUFRLEdBQXNCLElBQUksQ0FBQztJQUN2QyxJQUFJLFVBQVUsR0FBUSxJQUFJLENBQUM7SUFDM0IsMkVBQTJFO0lBQzNFLFNBQVMsUUFBUTtRQUNmLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNuRSx3REFBd0Q7WUFDeEQsNkRBQTZEO1lBQzdELFVBQVUsR0FBYyxJQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN0RDtRQUNELDhDQUE4QztRQUM5QyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDSyxRQUFTLENBQUMsS0FBSyxHQUFHO1FBQ3RCLHdEQUF3RDtRQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxRQUFhLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGRlZmF1bHRFcXVhbGl0eUNoZWNrKGE6IGFueSwgYjogYW55KSB7XG4gIHJldHVybiBhID09PSBiO1xufVxuXG5mdW5jdGlvbiBhcmVBcmd1bWVudHNTaGFsbG93bHlFcXVhbChcbiAgZXF1YWxpdHlDaGVjazogKGE6IGFueSwgYjogYW55KSA9PiBib29sZWFuLFxuICBwcmV2OiBJQXJndW1lbnRzIHwgbnVsbCxcbiAgbmV4dDogSUFyZ3VtZW50cyB8IG51bGxcbikge1xuICBpZiAocHJldiA9PT0gbnVsbCB8fCBuZXh0ID09PSBudWxsIHx8IHByZXYubGVuZ3RoICE9PSBuZXh0Lmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIERvIHRoaXMgaW4gYSBmb3IgbG9vcCAoYW5kIG5vdCBhIGBmb3JFYWNoYCBvciBhbiBgZXZlcnlgKSBzbyB3ZSBjYW4gZGV0ZXJtaW5lIGVxdWFsaXR5IGFzIGZhc3QgYXMgcG9zc2libGUuXG4gIGNvbnN0IGxlbmd0aCA9IHByZXYubGVuZ3RoO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFlcXVhbGl0eUNoZWNrKHByZXZbaV0sIG5leHRbaV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogTWVtb2l6ZSBhIGZ1bmN0aW9uIG9uIGl0cyBsYXN0IGlucHV0cyBvbmx5LlxuICogT3JpZ2luYWxseSBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vcmVkdXhqcy9yZXNlbGVjdC9ibG9iL21hc3Rlci9zcmMvaW5kZXguanNcbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplPFQgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oXG4gIGZ1bmM6IFQsXG4gIGVxdWFsaXR5Q2hlY2sgPSBkZWZhdWx0RXF1YWxpdHlDaGVja1xuKTogVCB7XG4gIGxldCBsYXN0QXJnczogSUFyZ3VtZW50cyB8IG51bGwgPSBudWxsO1xuICBsZXQgbGFzdFJlc3VsdDogYW55ID0gbnVsbDtcbiAgLy8gd2UgcmVmZXJlbmNlIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIHNwcmVhZGluZyB0aGVtIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICBpZiAoIWFyZUFyZ3VtZW50c1NoYWxsb3dseUVxdWFsKGVxdWFsaXR5Q2hlY2ssIGxhc3RBcmdzLCBhcmd1bWVudHMpKSB7XG4gICAgICAvLyBhcHBseSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgZm9yIHBlcmZvcm1hbmNlLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtcywgcHJlZmVyLXNwcmVhZFxuICAgICAgbGFzdFJlc3VsdCA9ICg8RnVuY3Rpb24+ZnVuYykuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xuICAgIHJldHVybiBsYXN0UmVzdWx0O1xuICB9XG4gICg8YW55Pm1lbW9pemVkKS5yZXNldCA9IGZ1bmN0aW9uKCkge1xuICAgIC8vIFRoZSBoaWRkZW4gKGZvciBub3cpIGFiaWxpdHkgdG8gcmVzZXQgdGhlIG1lbW9pemF0aW9uXG4gICAgbGFzdEFyZ3MgPSBudWxsO1xuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xuICB9O1xuICByZXR1cm4gbWVtb2l6ZWQgYXMgVDtcbn1cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class NgxsBootstrapper {
5
- constructor() {
6
- /**
7
- * Use `ReplaySubject`, thus we can get cached value even if the stream is completed
8
- */
9
- this.bootstrap$ = new ReplaySubject(1);
10
- }
11
- get appBootstrapped$() {
12
- return this.bootstrap$.asObservable();
13
- }
14
- /**
15
- * This event will be emitted after attaching `ComponentRef` of the root component
16
- * to the tree of views, that's a signal that application has been fully rendered
17
- */
18
- bootstrap() {
19
- this.bootstrap$.next(true);
20
- this.bootstrap$.complete();
21
- }
22
- }
23
- /** @nocollapse */ NgxsBootstrapper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsBootstrapper, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- /** @nocollapse */ NgxsBootstrapper.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsBootstrapper, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsBootstrapper, decorators: [{
26
- type: Injectable,
27
- args: [{ providedIn: 'root' }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1ib290c3RyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvc3JjL25neHMtYm9vdHN0cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHakQsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVFOztXQUVHO1FBQ0ssZUFBVSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO0tBY3BEO0lBWkMsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOztpSUFqQlUsZ0JBQWdCO3FJQUFoQixnQkFBZ0IsY0FESCxNQUFNOzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5neHNCb290c3RyYXBwZXIge1xuICAvKipcbiAgICogVXNlIGBSZXBsYXlTdWJqZWN0YCwgdGh1cyB3ZSBjYW4gZ2V0IGNhY2hlZCB2YWx1ZSBldmVuIGlmIHRoZSBzdHJlYW0gaXMgY29tcGxldGVkXG4gICAqL1xuICBwcml2YXRlIGJvb3RzdHJhcCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICBnZXQgYXBwQm9vdHN0cmFwcGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5ib290c3RyYXAkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgd2lsbCBiZSBlbWl0dGVkIGFmdGVyIGF0dGFjaGluZyBgQ29tcG9uZW50UmVmYCBvZiB0aGUgcm9vdCBjb21wb25lbnRcbiAgICogdG8gdGhlIHRyZWUgb2Ygdmlld3MsIHRoYXQncyBhIHNpZ25hbCB0aGF0IGFwcGxpY2F0aW9uIGhhcyBiZWVuIGZ1bGx5IHJlbmRlcmVkXG4gICAqL1xuICBib290c3RyYXAoKTogdm9pZCB7XG4gICAgdGhpcy5ib290c3RyYXAkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5ib290c3RyYXAkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy9zcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQbGFpbk9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpbk9iamVjdE9mPFQ+IHtcbiAgW2tleTogc3RyaW5nXTogVDtcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGVDbGFzczxUID0gYW55PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy9zcmMvc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQbGFpbk9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpbk9iamVjdE9mPFQ+IHtcbiAgW2tleTogc3RyaW5nXTogVDtcbn1cblxuZXhwb3J0IHR5cGUgU3RhdGVDbGFzczxUID0gYW55PiA9IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQ7XG4iXX0=
@@ -1,70 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { TestBed } from '@angular/core/testing';
3
- import { DOCUMENT } from '@angular/common';
4
- import { ɵgetDOM as getDOM } from '@angular/platform-browser';
5
- import { VERSION, destroyPlatform, createPlatform } from '@angular/core';
6
- function createRootElement() {
7
- const document = TestBed.inject(DOCUMENT);
8
- const root = getDOM().createElement('app-root', document);
9
- document.body.appendChild(root);
10
- }
11
- function removeRootElement() {
12
- const root = document.getElementsByTagName('app-root').item(0);
13
- try {
14
- document.body.removeChild(root);
15
- }
16
- catch (_a) { }
17
- }
18
- function destroyPlatformBeforeBootstrappingTheNewOne() {
19
- destroyPlatform();
20
- createRootElement();
21
- }
22
- // As we create our custom platform via `bootstrapModule`
23
- // we have to destroy it after assetions and revert
24
- // the previous one
25
- function resetPlatformAfterBootstrapping() {
26
- removeRootElement();
27
- destroyPlatform();
28
- const version = +VERSION.major;
29
- // https://github.com/angular/angular/commit/e250db4f261741b04ee4cbad4dec41a8908a12aa
30
- if (version < 14) {
31
- createPlatform(TestBed);
32
- }
33
- }
34
- export function freshPlatform(fn) {
35
- let resolve = null;
36
- let reject = null;
37
- let whenDoneIsCalledPromise = null;
38
- const hasDoneArgument = fn.length === 1;
39
- if (hasDoneArgument) {
40
- whenDoneIsCalledPromise = new Promise((_resolve, _reject) => {
41
- resolve = _resolve;
42
- reject = _reject;
43
- });
44
- }
45
- return function testWithAFreshPlatform() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- try {
48
- destroyPlatformBeforeBootstrappingTheNewOne();
49
- if (hasDoneArgument) {
50
- yield fn((error) => {
51
- if (error) {
52
- reject(error);
53
- }
54
- else {
55
- resolve();
56
- }
57
- });
58
- yield whenDoneIsCalledPromise;
59
- }
60
- else {
61
- yield fn();
62
- }
63
- }
64
- finally {
65
- resetPlatformAfterBootstrapping();
66
- }
67
- });
68
- };
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlc2gtcGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9pbnRlcm5hbHMvdGVzdGluZy9zcmMvZnJlc2gtcGxhdGZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekUsU0FBUyxpQkFBaUI7SUFDeEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxTQUFTLGlCQUFpQjtJQUN4QixNQUFNLElBQUksR0FBWSxRQUFRLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxDQUFDO0lBQ3pFLElBQUk7UUFDRixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQztJQUFDLFdBQU0sR0FBRTtBQUNaLENBQUM7QUFFRCxTQUFTLDJDQUEyQztJQUNsRCxlQUFlLEVBQUUsQ0FBQztJQUNsQixpQkFBaUIsRUFBRSxDQUFDO0FBQ3RCLENBQUM7QUFFRCx5REFBeUQ7QUFDekQsbURBQW1EO0FBQ25ELG1CQUFtQjtBQUNuQixTQUFTLCtCQUErQjtJQUN0QyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMvQixxRkFBcUY7SUFDckYsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFO1FBQ2hCLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN6QjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQTBDO0lBQ3RFLElBQUksT0FBTyxHQUF3QixJQUFJLENBQUM7SUFDeEMsSUFBSSxNQUFNLEdBQW9DLElBQUksQ0FBQztJQUNuRCxJQUFJLHVCQUF1QixHQUF5QixJQUFJLENBQUM7SUFFekQsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFFeEMsSUFBSSxlQUFlLEVBQUU7UUFDbkIsdUJBQXVCLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEUsT0FBTyxHQUFHLFFBQVEsQ0FBQztZQUNuQixNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLFNBQWUsc0JBQXNCOztZQUMxQyxJQUFJO2dCQUNGLDJDQUEyQyxFQUFFLENBQUM7Z0JBRTlDLElBQUksZUFBZSxFQUFFO29CQUNuQixNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO3dCQUN6QixJQUFJLEtBQUssRUFBRTs0QkFDVCxNQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7eUJBQ2hCOzZCQUFNOzRCQUNMLE9BQVEsRUFBRSxDQUFDO3lCQUNaO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILE1BQU0sdUJBQXdCLENBQUM7aUJBQ2hDO3FCQUFNO29CQUNMLE1BQU0sRUFBRSxFQUFFLENBQUM7aUJBQ1o7YUFDRjtvQkFBUztnQkFDUiwrQkFBK0IsRUFBRSxDQUFDO2FBQ25DO1FBQ0gsQ0FBQztLQUFBLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdEJlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyDJtWdldERPTSBhcyBnZXRET00gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFZFUlNJT04sIGRlc3Ryb3lQbGF0Zm9ybSwgY3JlYXRlUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZnVuY3Rpb24gY3JlYXRlUm9vdEVsZW1lbnQoKSB7XG4gIGNvbnN0IGRvY3VtZW50ID0gVGVzdEJlZC5pbmplY3QoRE9DVU1FTlQpO1xuICBjb25zdCByb290ID0gZ2V0RE9NKCkuY3JlYXRlRWxlbWVudCgnYXBwLXJvb3QnLCBkb2N1bWVudCk7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocm9vdCk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVJvb3RFbGVtZW50KCkge1xuICBjb25zdCByb290OiBFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2FwcC1yb290JykuaXRlbSgwKSE7XG4gIHRyeSB7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChyb290KTtcbiAgfSBjYXRjaCB7fVxufVxuXG5mdW5jdGlvbiBkZXN0cm95UGxhdGZvcm1CZWZvcmVCb290c3RyYXBwaW5nVGhlTmV3T25lKCkge1xuICBkZXN0cm95UGxhdGZvcm0oKTtcbiAgY3JlYXRlUm9vdEVsZW1lbnQoKTtcbn1cblxuLy8gQXMgd2UgY3JlYXRlIG91ciBjdXN0b20gcGxhdGZvcm0gdmlhIGBib290c3RyYXBNb2R1bGVgXG4vLyB3ZSBoYXZlIHRvIGRlc3Ryb3kgaXQgYWZ0ZXIgYXNzZXRpb25zIGFuZCByZXZlcnRcbi8vIHRoZSBwcmV2aW91cyBvbmVcbmZ1bmN0aW9uIHJlc2V0UGxhdGZvcm1BZnRlckJvb3RzdHJhcHBpbmcoKSB7XG4gIHJlbW92ZVJvb3RFbGVtZW50KCk7XG4gIGRlc3Ryb3lQbGF0Zm9ybSgpO1xuICBjb25zdCB2ZXJzaW9uID0gK1ZFUlNJT04ubWFqb3I7XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvY29tbWl0L2UyNTBkYjRmMjYxNzQxYjA0ZWU0Y2JhZDRkZWM0MWE4OTA4YTEyYWFcbiAgaWYgKHZlcnNpb24gPCAxNCkge1xuICAgIGNyZWF0ZVBsYXRmb3JtKFRlc3RCZWQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcmVzaFBsYXRmb3JtKGZuOiAoZG9uZT86IFZvaWRGdW5jdGlvbikgPT4gUHJvbWlzZTx2b2lkPikge1xuICBsZXQgcmVzb2x2ZTogVm9pZEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG4gIGxldCByZWplY3Q6ICgoZXJyb3I6IEVycm9yKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xuICBsZXQgd2hlbkRvbmVJc0NhbGxlZFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdCBoYXNEb25lQXJndW1lbnQgPSBmbi5sZW5ndGggPT09IDE7XG5cbiAgaWYgKGhhc0RvbmVBcmd1bWVudCkge1xuICAgIHdoZW5Eb25lSXNDYWxsZWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKF9yZXNvbHZlLCBfcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlID0gX3Jlc29sdmU7XG4gICAgICByZWplY3QgPSBfcmVqZWN0O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHRlc3RXaXRoQUZyZXNoUGxhdGZvcm0oKSB7XG4gICAgdHJ5IHtcbiAgICAgIGRlc3Ryb3lQbGF0Zm9ybUJlZm9yZUJvb3RzdHJhcHBpbmdUaGVOZXdPbmUoKTtcblxuICAgICAgaWYgKGhhc0RvbmVBcmd1bWVudCkge1xuICAgICAgICBhd2FpdCBmbigoZXJyb3I/OiBFcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0IShlcnJvcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUhKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgd2hlbkRvbmVJc0NhbGxlZFByb21pc2UhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgZm4oKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVzZXRQbGF0Zm9ybUFmdGVyQm9vdHN0cmFwcGluZygpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrowserModule } from '@angular/platform-browser';
3
- import { NgxsTestComponent } from './ngxs-test.component';
4
- import * as i0 from "@angular/core";
5
- export class NgxsTestModule {
6
- static ngDoBootstrap(app) {
7
- app.bootstrap(NgxsTestComponent);
8
- }
9
- }
10
- /** @nocollapse */ NgxsTestModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- /** @nocollapse */ NgxsTestModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsTestModule, declarations: [NgxsTestComponent], imports: [BrowserModule] });
12
- /** @nocollapse */ NgxsTestModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsTestModule, imports: [[BrowserModule]] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxsTestModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [BrowserModule],
17
- declarations: [NgxsTestComponent],
18
- entryComponents: [NgxsTestComponent]
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy10ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nL3NyYy9oZWxwZXJzL25neHMtdGVzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU8xRCxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQW1CO1FBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuQyxDQUFDOzsrSEFIVSxjQUFjO2dJQUFkLGNBQWMsaUJBSFYsaUJBQWlCLGFBRHRCLGFBQWE7Z0lBSVosY0FBYyxZQUpoQixDQUFDLGFBQWEsQ0FBQzs0RkFJYixjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBOZ3hzVGVzdENvbXBvbmVudCB9IGZyb20gJy4vbmd4cy10ZXN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbTmd4c1Rlc3RDb21wb25lbnRdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtOZ3hzVGVzdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4c1Rlc3RNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIG5nRG9Cb290c3RyYXAoYXBwOiBBcHBsaWNhdGlvblJlZik6IHZvaWQge1xuICAgIGFwcC5ib290c3RyYXAoTmd4c1Rlc3RDb21wb25lbnQpO1xuICB9XG59XG4iXX0=
@@ -1,46 +0,0 @@
1
- import { ApplicationRef } from '@angular/core';
2
- import { TestBed } from '@angular/core/testing';
3
- import { DOCUMENT } from '@angular/common';
4
- import { ɵBrowserDomAdapter as BrowserDomAdapter } from '@angular/platform-browser';
5
- import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
6
- import { NgxsModule, Store } from '@ngxs/store';
7
- import { NgxsTestModule } from './helpers/ngxs-test.module';
8
- export class NgxsTestBed {
9
- static configureTestingStates(options) {
10
- this.resetTestBed();
11
- if (options.before) {
12
- options.before();
13
- }
14
- TestBed.configureTestingModule({
15
- imports: [
16
- NgxsTestModule,
17
- NgxsModule.forRoot(options.states || [], options.ngxsOptions || {}),
18
- ...(options.imports || [])
19
- ]
20
- }).compileComponents();
21
- NgxsTestBed.ngxsBootstrap();
22
- return {
23
- get store() {
24
- return TestBed.inject(Store);
25
- },
26
- get getTestBed() {
27
- return TestBed;
28
- }
29
- };
30
- }
31
- static ngxsBootstrap() {
32
- NgxsTestBed.createRootNode();
33
- NgxsTestModule.ngDoBootstrap(TestBed.inject(ApplicationRef));
34
- }
35
- static resetTestBed() {
36
- TestBed.resetTestEnvironment();
37
- TestBed.initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
38
- }
39
- static createRootNode(selector = 'app-root') {
40
- const document = TestBed.inject(DOCUMENT);
41
- const adapter = new BrowserDomAdapter();
42
- const root = adapter.createElement(selector);
43
- document.body.appendChild(root);
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy5zZXR1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy90ZXN0aW5nL3NyYy9uZ3hzLnNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixJQUFJLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDOUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHNUQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMsc0JBQXNCLENBQUMsT0FBMkI7UUFDOUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbEI7UUFFRCxPQUFPLENBQUMsc0JBQXNCLENBQUM7WUFDN0IsT0FBTyxFQUFFO2dCQUNQLGNBQWM7Z0JBQ2QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztnQkFDbkUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO2FBQzNCO1NBQ0YsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFdkIsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTVCLE9BQU87WUFDTCxJQUFJLEtBQUs7Z0JBQ1AsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLFVBQVU7Z0JBQ1osT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWE7UUFDMUIsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdCLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWTtRQUN6QixPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMvQixPQUFPLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxVQUFVO1FBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlc3RCZWQsIFRlc3RCZWRTdGF0aWMgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgybVCcm93c2VyRG9tQWRhcHRlciBhcyBCcm93c2VyRG9tQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgQnJvd3NlckR5bmFtaWNUZXN0aW5nTW9kdWxlLFxuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljVGVzdGluZ1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMvdGVzdGluZyc7XG5pbXBvcnQgeyBOZ3hzTW9kdWxlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuaW1wb3J0IHsgTmd4c1Rlc3RNb2R1bGUgfSBmcm9tICcuL2hlbHBlcnMvbmd4cy10ZXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hzT3B0aW9uc1Rlc3RpbmcsIE5neHNUZXN0aW5nIH0gZnJvbSAnLi9zeW1ib2wnO1xuXG5leHBvcnQgY2xhc3MgTmd4c1Rlc3RCZWQge1xuICBwdWJsaWMgc3RhdGljIGNvbmZpZ3VyZVRlc3RpbmdTdGF0ZXMob3B0aW9uczogTmd4c09wdGlvbnNUZXN0aW5nKTogTmd4c1Rlc3Rpbmcge1xuICAgIHRoaXMucmVzZXRUZXN0QmVkKCk7XG5cbiAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHtcbiAgICAgIG9wdGlvbnMuYmVmb3JlKCk7XG4gICAgfVxuXG4gICAgVGVzdEJlZC5jb25maWd1cmVUZXN0aW5nTW9kdWxlKHtcbiAgICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmd4c1Rlc3RNb2R1bGUsXG4gICAgICAgIE5neHNNb2R1bGUuZm9yUm9vdChvcHRpb25zLnN0YXRlcyB8fCBbXSwgb3B0aW9ucy5uZ3hzT3B0aW9ucyB8fCB7fSksXG4gICAgICAgIC4uLihvcHRpb25zLmltcG9ydHMgfHwgW10pXG4gICAgICBdXG4gICAgfSkuY29tcGlsZUNvbXBvbmVudHMoKTtcblxuICAgIE5neHNUZXN0QmVkLm5neHNCb290c3RyYXAoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBnZXQgc3RvcmUoKTogU3RvcmUge1xuICAgICAgICByZXR1cm4gVGVzdEJlZC5pbmplY3QoU3RvcmUpO1xuICAgICAgfSxcbiAgICAgIGdldCBnZXRUZXN0QmVkKCk6IFRlc3RCZWRTdGF0aWMge1xuICAgICAgICByZXR1cm4gVGVzdEJlZDtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbmd4c0Jvb3RzdHJhcCgpOiB2b2lkIHtcbiAgICBOZ3hzVGVzdEJlZC5jcmVhdGVSb290Tm9kZSgpO1xuICAgIE5neHNUZXN0TW9kdWxlLm5nRG9Cb290c3RyYXAoVGVzdEJlZC5pbmplY3QoQXBwbGljYXRpb25SZWYpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlc2V0VGVzdEJlZCgpOiB2b2lkIHtcbiAgICBUZXN0QmVkLnJlc2V0VGVzdEVudmlyb25tZW50KCk7XG4gICAgVGVzdEJlZC5pbml0VGVzdEVudmlyb25tZW50KEJyb3dzZXJEeW5hbWljVGVzdGluZ01vZHVsZSwgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1Rlc3RpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVSb290Tm9kZShzZWxlY3RvciA9ICdhcHAtcm9vdCcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudCA9IFRlc3RCZWQuaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBjb25zdCBhZGFwdGVyID0gbmV3IEJyb3dzZXJEb21BZGFwdGVyKCk7XG4gICAgY29uc3Qgcm9vdCA9IGFkYXB0ZXIuY3JlYXRlRWxlbWVudChzZWxlY3Rvcik7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvaW50ZXJuYWxzL3Rlc3Rpbmcvc3JjL3N5bWJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4c01vZHVsZU9wdGlvbnMsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVzdEJlZFN0YXRpYyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTdGF0ZUNsYXNzIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzT3B0aW9uc1Rlc3Rpbmcge1xuICBzdGF0ZXM/OiBTdGF0ZUNsYXNzW107XG4gIG5neHNPcHRpb25zPzogTmd4c01vZHVsZU9wdGlvbnM7XG4gIGltcG9ydHM/OiBNb2R1bGVXaXRoUHJvdmlkZXJzPGFueT5bXTtcbiAgYmVmb3JlPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3hzVGVzdGluZyB7XG4gIHN0b3JlOiBTdG9yZTtcbiAgZ2V0VGVzdEJlZDogVGVzdEJlZFN0YXRpYztcbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- /**
2
- * @param items - Specific items to append to the end of an array
3
- */
4
- export function append(items) {
5
- return function appendOperator(existing) {
6
- // If `items` is `undefined` or `null` or `[]` but `existing` is provided
7
- // just return `existing`
8
- const itemsNotProvidedButExistingIs = (!items || !items.length) && existing;
9
- if (itemsNotProvidedButExistingIs) {
10
- return existing;
11
- }
12
- if (Array.isArray(existing)) {
13
- return existing.concat(items);
14
- }
15
- // For example if some property is added dynamically
16
- // and didn't exist before thus it's not `ArrayLike`
17
- return items;
18
- };
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvb3BlcmF0b3JzL3NyYy9hcHBlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLEtBQW1CO0lBQzNDLE9BQU8sU0FBUyxjQUFjLENBQUMsUUFBNEI7UUFDekQseUVBQXlFO1FBQ3pFLHlCQUF5QjtRQUN6QixNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDO1FBQzVFLElBQUksNkJBQTZCLEVBQUU7WUFDakMsT0FBUSxRQUEyQixDQUFDO1NBQ3JDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzNCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBRSxLQUF1QyxDQUFDLENBQUM7U0FDbEU7UUFFRCxvREFBb0Q7UUFDcEQsb0RBQW9EO1FBQ3BELE9BQVEsS0FBd0IsQ0FBQztJQUNuQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgTm9JbmZlciwgU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEBwYXJhbSBpdGVtcyAtIFNwZWNpZmljIGl0ZW1zIHRvIGFwcGVuZCB0byB0aGUgZW5kIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmQ8VD4oaXRlbXM6IE5vSW5mZXI8VFtdPik6IFN0YXRlT3BlcmF0b3I8VFtdPiB7XG4gIHJldHVybiBmdW5jdGlvbiBhcHBlbmRPcGVyYXRvcihleGlzdGluZzogRXhpc3RpbmdTdGF0ZTxUW10+KTogVFtdIHtcbiAgICAvLyBJZiBgaXRlbXNgIGlzIGB1bmRlZmluZWRgIG9yIGBudWxsYCBvciBgW11gIGJ1dCBgZXhpc3RpbmdgIGlzIHByb3ZpZGVkXG4gICAgLy8ganVzdCByZXR1cm4gYGV4aXN0aW5nYFxuICAgIGNvbnN0IGl0ZW1zTm90UHJvdmlkZWRCdXRFeGlzdGluZ0lzID0gKCFpdGVtcyB8fCAhaXRlbXMubGVuZ3RoKSAmJiBleGlzdGluZztcbiAgICBpZiAoaXRlbXNOb3RQcm92aWRlZEJ1dEV4aXN0aW5nSXMpIHtcbiAgICAgIHJldHVybiAoZXhpc3RpbmcgYXMgdW5rbm93bikgYXMgVFtdO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nLmNvbmNhdCgoaXRlbXMgYXMgdW5rbm93bikgYXMgRXhpc3RpbmdTdGF0ZTxUW10+KTtcbiAgICB9XG5cbiAgICAvLyBGb3IgZXhhbXBsZSBpZiBzb21lIHByb3BlcnR5IGlzIGFkZGVkIGR5bmFtaWNhbGx5XG4gICAgLy8gYW5kIGRpZG4ndCBleGlzdCBiZWZvcmUgdGh1cyBpdCdzIG5vdCBgQXJyYXlMaWtlYFxuICAgIHJldHVybiAoaXRlbXMgYXMgdW5rbm93bikgYXMgVFtdO1xuICB9O1xufVxuIl19
@@ -1,38 +0,0 @@
1
- import { isStateOperator, isUndefined, isPredicate } from './utils';
2
- function retrieveValue(operatorOrValue, existing) {
3
- // If state operator is a function
4
- // then call it with an original value
5
- if (isStateOperator(operatorOrValue)) {
6
- const value = operatorOrValue(existing);
7
- return value;
8
- }
9
- // If operator or value was not provided
10
- // e.g. `elseOperatorOrValue` is `undefined`
11
- // then we just return an original value
12
- if (isUndefined(operatorOrValue)) {
13
- return existing;
14
- }
15
- return operatorOrValue;
16
- }
17
- /**
18
- * @param condition - Condition can be a plain boolean value or a function,
19
- * that returns boolean, also this function can take a value as an argument
20
- * to which this state operator applies
21
- * @param trueOperatorOrValue - Any value or a state operator
22
- * @param elseOperatorOrValue - Any value or a state operator
23
- */
24
- export function iif(condition, trueOperatorOrValue, elseOperatorOrValue) {
25
- return function iifOperator(existing) {
26
- // Convert the value to a boolean
27
- let result = !!condition;
28
- // but if it is a function then run it to get the result
29
- if (isPredicate(condition)) {
30
- result = condition(existing);
31
- }
32
- if (result) {
33
- return retrieveValue(trueOperatorOrValue, existing);
34
- }
35
- return retrieveValue(elseOperatorOrValue, existing);
36
- };
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWlmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvb3BlcmF0b3JzL3NyYy9paWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFhLE1BQU0sU0FBUyxDQUFDO0FBRS9FLFNBQVMsYUFBYSxDQUNwQixlQUFxQyxFQUNyQyxRQUEwQjtJQUUxQixrQ0FBa0M7SUFDbEMsc0NBQXNDO0lBQ3RDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLEtBQVUsQ0FBQztLQUNuQjtJQUVELHdDQUF3QztJQUN4Qyw0Q0FBNEM7SUFDNUMsd0NBQXdDO0lBQ3hDLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sUUFBYSxDQUFDO0tBQ3RCO0lBRUQsT0FBTyxlQUFvQixDQUFDO0FBQzlCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixTQUEwQyxFQUMxQyxtQkFBa0QsRUFDbEQsbUJBQW1EO0lBRW5ELE9BQU8sU0FBUyxXQUFXLENBQUMsUUFBMEI7UUFDcEQsaUNBQWlDO1FBQ2pDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDekIsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzFCLE1BQU0sR0FBRyxTQUFTLENBQUMsUUFBYSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sYUFBYSxDQUFJLG1CQUEyQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hGO1FBRUQsT0FBTyxhQUFhLENBQUksbUJBQTRDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIE5vSW5mZXIsIFN0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yLCBpc1VuZGVmaW5lZCwgaXNQcmVkaWNhdGUsIFByZWRpY2F0ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiByZXRyaWV2ZVZhbHVlPFQ+KFxuICBvcGVyYXRvck9yVmFsdWU6IFN0YXRlT3BlcmF0b3I8VD4gfCBULFxuICBleGlzdGluZzogRXhpc3RpbmdTdGF0ZTxUPlxuKTogVCB7XG4gIC8vIElmIHN0YXRlIG9wZXJhdG9yIGlzIGEgZnVuY3Rpb25cbiAgLy8gdGhlbiBjYWxsIGl0IHdpdGggYW4gb3JpZ2luYWwgdmFsdWVcbiAgaWYgKGlzU3RhdGVPcGVyYXRvcihvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBvcGVyYXRvck9yVmFsdWUoZXhpc3RpbmcpO1xuICAgIHJldHVybiB2YWx1ZSBhcyBUO1xuICB9XG5cbiAgLy8gSWYgb3BlcmF0b3Igb3IgdmFsdWUgd2FzIG5vdCBwcm92aWRlZFxuICAvLyBlLmcuIGBlbHNlT3BlcmF0b3JPclZhbHVlYCBpcyBgdW5kZWZpbmVkYFxuICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGFuIG9yaWdpbmFsIHZhbHVlXG4gIGlmIChpc1VuZGVmaW5lZChvcGVyYXRvck9yVmFsdWUpKSB7XG4gICAgcmV0dXJuIGV4aXN0aW5nIGFzIFQ7XG4gIH1cblxuICByZXR1cm4gb3BlcmF0b3JPclZhbHVlIGFzIFQ7XG59XG5cbi8qKlxuICogQHBhcmFtIGNvbmRpdGlvbiAtIENvbmRpdGlvbiBjYW4gYmUgYSBwbGFpbiBib29sZWFuIHZhbHVlIG9yIGEgZnVuY3Rpb24sXG4gKiB0aGF0IHJldHVybnMgYm9vbGVhbiwgYWxzbyB0aGlzIGZ1bmN0aW9uIGNhbiB0YWtlIGEgdmFsdWUgYXMgYW4gYXJndW1lbnRcbiAqIHRvIHdoaWNoIHRoaXMgc3RhdGUgb3BlcmF0b3IgYXBwbGllc1xuICogQHBhcmFtIHRydWVPcGVyYXRvck9yVmFsdWUgLSBBbnkgdmFsdWUgb3IgYSBzdGF0ZSBvcGVyYXRvclxuICogQHBhcmFtIGVsc2VPcGVyYXRvck9yVmFsdWUgLSBBbnkgdmFsdWUgb3IgYSBzdGF0ZSBvcGVyYXRvclxuICovXG5leHBvcnQgZnVuY3Rpb24gaWlmPFQ+KFxuICBjb25kaXRpb246IE5vSW5mZXI8UHJlZGljYXRlPFQ+PiB8IGJvb2xlYW4sXG4gIHRydWVPcGVyYXRvck9yVmFsdWU6IE5vSW5mZXI8U3RhdGVPcGVyYXRvcjxUPiB8IFQ+LFxuICBlbHNlT3BlcmF0b3JPclZhbHVlPzogTm9JbmZlcjxTdGF0ZU9wZXJhdG9yPFQ+IHwgVD5cbik6IFN0YXRlT3BlcmF0b3I8VD4ge1xuICByZXR1cm4gZnVuY3Rpb24gaWlmT3BlcmF0b3IoZXhpc3Rpbmc6IEV4aXN0aW5nU3RhdGU8VD4pOiBUIHtcbiAgICAvLyBDb252ZXJ0IHRoZSB2YWx1ZSB0byBhIGJvb2xlYW5cbiAgICBsZXQgcmVzdWx0ID0gISFjb25kaXRpb247XG4gICAgLy8gYnV0IGlmIGl0IGlzIGEgZnVuY3Rpb24gdGhlbiBydW4gaXQgdG8gZ2V0IHRoZSByZXN1bHRcbiAgICBpZiAoaXNQcmVkaWNhdGUoY29uZGl0aW9uKSkge1xuICAgICAgcmVzdWx0ID0gY29uZGl0aW9uKGV4aXN0aW5nIGFzIFQpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXRyaWV2ZVZhbHVlPFQ+KHRydWVPcGVyYXRvck9yVmFsdWUgYXMgU3RhdGVPcGVyYXRvcjxUPiB8IFQsIGV4aXN0aW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0cmlldmVWYWx1ZTxUPihlbHNlT3BlcmF0b3JPclZhbHVlISBhcyBTdGF0ZU9wZXJhdG9yPFQ+IHwgVCwgZXhpc3RpbmcpO1xuICB9O1xufVxuIl19
@@ -1,29 +0,0 @@
1
- import { isNil } from './utils';
2
- /**
3
- * @param value - Value to insert
4
- * @param [beforePosition] - Specified index to insert value before, optional
5
- */
6
- export function insertItem(value, beforePosition) {
7
- return function insertItemOperator(existing) {
8
- // Have to check explicitly for `null` and `undefined`
9
- // because `value` can be `0`, thus `!value` will return `true`
10
- if (isNil(value) && existing) {
11
- return existing;
12
- }
13
- // Property may be dynamic and might not existed before
14
- if (!Array.isArray(existing)) {
15
- return [value];
16
- }
17
- const clone = existing.slice();
18
- let index = 0;
19
- // No need to call `isNumber`
20
- // as we are checking `> 0` not `>= 0`
21
- // everything except number will return false here
22
- if (beforePosition > 0) {
23
- index = beforePosition;
24
- }
25
- clone.splice(index, 0, value);
26
- return clone;
27
- };
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL2luc2VydC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFpQixFQUFFLGNBQXVCO0lBQ3RFLE9BQU8sU0FBUyxrQkFBa0IsQ0FBQyxRQUE0QjtRQUM3RCxzREFBc0Q7UUFDdEQsK0RBQStEO1FBQy9ELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUM1QixPQUFPLFFBQWUsQ0FBQztTQUN4QjtRQUVELHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1QixPQUFPLENBQUUsS0FBc0IsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9CLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLDZCQUE2QjtRQUM3QixzQ0FBc0M7UUFDdEMsa0RBQWtEO1FBQ2xELElBQUksY0FBZSxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLEdBQUcsY0FBZSxDQUFDO1NBQ3pCO1FBRUQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFHLEtBQXNCLENBQUMsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGlzdGluZ1N0YXRlLCBOb0luZmVyLCBTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIGluc2VydFxuICogQHBhcmFtIFtiZWZvcmVQb3NpdGlvbl0gLSAgU3BlY2lmaWVkIGluZGV4IHRvIGluc2VydCB2YWx1ZSBiZWZvcmUsIG9wdGlvbmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRJdGVtPFQ+KHZhbHVlOiBOb0luZmVyPFQ+LCBiZWZvcmVQb3NpdGlvbj86IG51bWJlcik6IFN0YXRlT3BlcmF0b3I8VFtdPiB7XG4gIHJldHVybiBmdW5jdGlvbiBpbnNlcnRJdGVtT3BlcmF0b3IoZXhpc3Rpbmc6IEV4aXN0aW5nU3RhdGU8VFtdPik6IFRbXSB7XG4gICAgLy8gSGF2ZSB0byBjaGVjayBleHBsaWNpdGx5IGZvciBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgLy8gYmVjYXVzZSBgdmFsdWVgIGNhbiBiZSBgMGAsIHRodXMgYCF2YWx1ZWAgd2lsbCByZXR1cm4gYHRydWVgXG4gICAgaWYgKGlzTmlsKHZhbHVlKSAmJiBleGlzdGluZykge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICAvLyBQcm9wZXJ0eSBtYXkgYmUgZHluYW1pYyBhbmQgbWlnaHQgbm90IGV4aXN0ZWQgYmVmb3JlXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgICAgcmV0dXJuIFsodmFsdWUgYXMgdW5rbm93bikgYXMgVF07XG4gICAgfVxuXG4gICAgY29uc3QgY2xvbmUgPSBleGlzdGluZy5zbGljZSgpO1xuXG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIC8vIE5vIG5lZWQgdG8gY2FsbCBgaXNOdW1iZXJgXG4gICAgLy8gYXMgd2UgYXJlIGNoZWNraW5nIGA+IDBgIG5vdCBgPj0gMGBcbiAgICAvLyBldmVyeXRoaW5nIGV4Y2VwdCBudW1iZXIgd2lsbCByZXR1cm4gZmFsc2UgaGVyZVxuICAgIGlmIChiZWZvcmVQb3NpdGlvbiEgPiAwKSB7XG4gICAgICBpbmRleCA9IGJlZm9yZVBvc2l0aW9uITtcbiAgICB9XG5cbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDAsICh2YWx1ZSBhcyB1bmtub3duKSBhcyBUKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH07XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { isStateOperator } from './utils';
2
- export function patch(patchObject) {
3
- return function patchStateOperator(existing) {
4
- let clone = null;
5
- for (const k in patchObject) {
6
- const newValue = patchObject[k];
7
- const existingPropValue = existing === null || existing === void 0 ? void 0 : existing[k];
8
- const newPropValue = isStateOperator(newValue)
9
- ? newValue(existingPropValue)
10
- : newValue;
11
- if (newPropValue !== existingPropValue) {
12
- if (!clone) {
13
- clone = Object.assign({}, existing);
14
- }
15
- clone[k] = newPropValue;
16
- }
17
- }
18
- return clone || existing;
19
- };
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNMUMsTUFBTSxVQUFVLEtBQUssQ0FDbkIsV0FBbUM7SUFFbkMsT0FBTyxTQUFTLGtCQUFrQixDQUFDLFFBQTBCO1FBQzNELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixLQUFLLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRTtZQUMzQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLFFBQVEsQ0FBTSxpQkFBaUIsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNiLElBQUksWUFBWSxLQUFLLGlCQUFpQixFQUFFO2dCQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLEtBQUsscUJBQWMsUUFBUyxDQUFFLENBQUM7aUJBQ2hDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUM7YUFDekI7U0FDRjtRQUNELE9BQU8sS0FBSyxJQUFJLFFBQVEsQ0FBQztJQUMzQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgTm9JbmZlciwgU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yIH0gZnJvbSAnLi91dGlscyc7XG5cbnR5cGUgTm90VW5kZWZpbmVkPFQ+ID0gVCBleHRlbmRzIHVuZGVmaW5lZCA/IG5ldmVyIDogVDtcblxuZXhwb3J0IHR5cGUgybVQYXRjaFNwZWM8VD4gPSB7IFtQIGluIGtleW9mIFRdPzogVFtQXSB8IFN0YXRlT3BlcmF0b3I8Tm90VW5kZWZpbmVkPFRbUF0+PiB9O1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2g8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBwYXRjaE9iamVjdDogTm9JbmZlcjzJtVBhdGNoU3BlYzxUPj5cbik6IFN0YXRlT3BlcmF0b3I8VD4ge1xuICByZXR1cm4gZnVuY3Rpb24gcGF0Y2hTdGF0ZU9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFQ+KTogVCB7XG4gICAgbGV0IGNsb25lID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGsgaW4gcGF0Y2hPYmplY3QpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gcGF0Y2hPYmplY3Rba107XG4gICAgICBjb25zdCBleGlzdGluZ1Byb3BWYWx1ZSA9IGV4aXN0aW5nPy5ba107XG4gICAgICBjb25zdCBuZXdQcm9wVmFsdWUgPSBpc1N0YXRlT3BlcmF0b3IobmV3VmFsdWUpXG4gICAgICAgID8gbmV3VmFsdWUoPGFueT5leGlzdGluZ1Byb3BWYWx1ZSlcbiAgICAgICAgOiBuZXdWYWx1ZTtcbiAgICAgIGlmIChuZXdQcm9wVmFsdWUgIT09IGV4aXN0aW5nUHJvcFZhbHVlKSB7XG4gICAgICAgIGlmICghY2xvbmUpIHtcbiAgICAgICAgICBjbG9uZSA9IHsgLi4uKDxhbnk+ZXhpc3RpbmcpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2xvbmVba10gPSBuZXdQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjbG9uZSB8fCBleGlzdGluZztcbiAgfTtcbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { isPredicate, isNumber, invalidIndex } from './utils';
2
- /**
3
- * @param selector - index or predicate to remove an item from an array by
4
- */
5
- export function removeItem(selector) {
6
- return function removeItemOperator(existing) {
7
- let index = -1;
8
- if (isPredicate(selector)) {
9
- index = existing.findIndex(selector);
10
- }
11
- else if (isNumber(selector)) {
12
- index = selector;
13
- }
14
- if (invalidIndex(index)) {
15
- return existing;
16
- }
17
- const clone = existing.slice();
18
- clone.splice(index, 1);
19
- return clone;
20
- };
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3JlbW92ZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBYSxNQUFNLFNBQVMsQ0FBQztBQUV6RTs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUksUUFBd0M7SUFDcEUsT0FBTyxTQUFTLGtCQUFrQixDQUFDLFFBQTRCO1FBQzdELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWYsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekIsS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxRQUFlLENBQUM7U0FDeEI7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgTm9JbmZlciwgU3RhdGVPcGVyYXRvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXNQcmVkaWNhdGUsIGlzTnVtYmVyLCBpbnZhbGlkSW5kZXgsIFByZWRpY2F0ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEBwYXJhbSBzZWxlY3RvciAtIGluZGV4IG9yIHByZWRpY2F0ZSB0byByZW1vdmUgYW4gaXRlbSBmcm9tIGFuIGFycmF5IGJ5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVJdGVtPFQ+KHNlbGVjdG9yOiBudW1iZXIgfCBOb0luZmVyPFByZWRpY2F0ZTxUPj4pOiBTdGF0ZU9wZXJhdG9yPFRbXT4ge1xuICByZXR1cm4gZnVuY3Rpb24gcmVtb3ZlSXRlbU9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFRbXT4pOiBUW10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IpO1xuICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoc2VsZWN0b3IpKSB7XG4gICAgICBpbmRleCA9IHNlbGVjdG9yO1xuICAgIH1cblxuICAgIGlmIChpbnZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICByZXR1cm4gZXhpc3RpbmcgYXMgVFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lID0gZXhpc3Rpbmcuc2xpY2UoKTtcbiAgICBjbG9uZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { isStateOperator, isPredicate, isNumber, invalidIndex } from './utils';
2
- /**
3
- * @param selector - Index of item in the array or a predicate function
4
- * that can be provided in `Array.prototype.findIndex`
5
- * @param operatorOrValue - New value under the `selector` index or a
6
- * function that can be applied to an existing value
7
- */
8
- export function updateItem(selector, operatorOrValue) {
9
- return function updateItemOperator(existing) {
10
- let index = -1;
11
- if (isPredicate(selector)) {
12
- index = existing.findIndex(selector);
13
- }
14
- else if (isNumber(selector)) {
15
- index = selector;
16
- }
17
- if (invalidIndex(index)) {
18
- return existing;
19
- }
20
- let value = null;
21
- // Need to check if the new item value will change the existing item value
22
- // then, only if it will change it then clone the array and set the item
23
- const theOperatorOrValue = operatorOrValue;
24
- if (isStateOperator(theOperatorOrValue)) {
25
- value = theOperatorOrValue(existing[index]);
26
- }
27
- else {
28
- value = theOperatorOrValue;
29
- }
30
- // If the value hasn't been mutated
31
- // then we just return `existing` array
32
- if (value === existing[index]) {
33
- return existing;
34
- }
35
- const clone = existing.slice();
36
- clone[index] = value;
37
- return clone;
38
- };
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9vcGVyYXRvcnMvc3JjL3VwZGF0ZS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQWEsTUFBTSxTQUFTLENBQUM7QUFFMUY7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixRQUF3QyxFQUN4QyxlQUF1RDtJQUV2RCxPQUFPLFNBQVMsa0JBQWtCLENBQUMsUUFBNEI7UUFDN0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFZixJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUF3QixDQUFDLENBQUM7U0FDdEQ7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxRQUFlLENBQUM7U0FDeEI7UUFFRCxJQUFJLEtBQUssR0FBTSxJQUFLLENBQUM7UUFDckIsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxNQUFNLGtCQUFrQixHQUFHLGVBQXVDLENBQUM7UUFDbkUsSUFBSSxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBcUIsQ0FBQyxDQUFDO1NBQ2pFO2FBQU07WUFDTCxLQUFLLEdBQUcsa0JBQWtCLENBQUM7U0FDNUI7UUFFRCxtQ0FBbUM7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixPQUFPLFFBQWUsQ0FBQztTQUN4QjtRQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBVSxDQUFDO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIE5vSW5mZXIsIFN0YXRlT3BlcmF0b3IgfSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgaXNTdGF0ZU9wZXJhdG9yLCBpc1ByZWRpY2F0ZSwgaXNOdW1iZXIsIGludmFsaWRJbmRleCwgUHJlZGljYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQHBhcmFtIHNlbGVjdG9yIC0gSW5kZXggb2YgaXRlbSBpbiB0aGUgYXJyYXkgb3IgYSBwcmVkaWNhdGUgZnVuY3Rpb25cbiAqIHRoYXQgY2FuIGJlIHByb3ZpZGVkIGluIGBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4YFxuICogQHBhcmFtIG9wZXJhdG9yT3JWYWx1ZSAtIE5ldyB2YWx1ZSB1bmRlciB0aGUgYHNlbGVjdG9yYCBpbmRleCBvciBhXG4gKiBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGFuIGV4aXN0aW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJdGVtPFQ+KFxuICBzZWxlY3RvcjogbnVtYmVyIHwgTm9JbmZlcjxQcmVkaWNhdGU8VD4+LFxuICBvcGVyYXRvck9yVmFsdWU6IE5vSW5mZXI8VD4gfCBOb0luZmVyPFN0YXRlT3BlcmF0b3I8VD4+XG4pOiBTdGF0ZU9wZXJhdG9yPFRbXT4ge1xuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlSXRlbU9wZXJhdG9yKGV4aXN0aW5nOiBFeGlzdGluZ1N0YXRlPFRbXT4pOiBUW10ge1xuICAgIGxldCBpbmRleCA9IC0xO1xuXG4gICAgaWYgKGlzUHJlZGljYXRlKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBleGlzdGluZy5maW5kSW5kZXgoc2VsZWN0b3IgYXMgUHJlZGljYXRlPFQ+KTtcbiAgICB9IGVsc2UgaWYgKGlzTnVtYmVyKHNlbGVjdG9yKSkge1xuICAgICAgaW5kZXggPSBzZWxlY3RvcjtcbiAgICB9XG5cbiAgICBpZiAoaW52YWxpZEluZGV4KGluZGV4KSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICBsZXQgdmFsdWU6IFQgPSBudWxsITtcbiAgICAvLyBOZWVkIHRvIGNoZWNrIGlmIHRoZSBuZXcgaXRlbSB2YWx1ZSB3aWxsIGNoYW5nZSB0aGUgZXhpc3RpbmcgaXRlbSB2YWx1ZVxuICAgIC8vIHRoZW4sIG9ubHkgaWYgaXQgd2lsbCBjaGFuZ2UgaXQgdGhlbiBjbG9uZSB0aGUgYXJyYXkgYW5kIHNldCB0aGUgaXRlbVxuICAgIGNvbnN0IHRoZU9wZXJhdG9yT3JWYWx1ZSA9IG9wZXJhdG9yT3JWYWx1ZSBhcyBUIHwgU3RhdGVPcGVyYXRvcjxUPjtcbiAgICBpZiAoaXNTdGF0ZU9wZXJhdG9yKHRoZU9wZXJhdG9yT3JWYWx1ZSkpIHtcbiAgICAgIHZhbHVlID0gdGhlT3BlcmF0b3JPclZhbHVlKGV4aXN0aW5nW2luZGV4XSBhcyBFeGlzdGluZ1N0YXRlPFQ+KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB0aGVPcGVyYXRvck9yVmFsdWU7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIHZhbHVlIGhhc24ndCBiZWVuIG11dGF0ZWRcbiAgICAvLyB0aGVuIHdlIGp1c3QgcmV0dXJuIGBleGlzdGluZ2AgYXJyYXlcbiAgICBpZiAodmFsdWUgPT09IGV4aXN0aW5nW2luZGV4XSkge1xuICAgICAgcmV0dXJuIGV4aXN0aW5nIGFzIFRbXTtcbiAgICB9XG5cbiAgICBjb25zdCBjbG9uZSA9IGV4aXN0aW5nLnNsaWNlKCk7XG4gICAgY2xvbmVbaW5kZXhdID0gdmFsdWUgYXMgVDtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH07XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- /**
2
- * Init action
3
- */
4
- export class InitState {
5
- }
6
- InitState.type = '@@INIT';
7
- /**
8
- * Update action
9
- */
10
- export class UpdateState {
11
- constructor(addedStates) {
12
- this.addedStates = addedStates;
13
- }
14
- }
15
- UpdateState.type = '@@UPDATE_STATE';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUzs7QUFDSixjQUFJLEdBQUcsUUFBUSxDQUFDO0FBR2xDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBbUIsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFBRyxDQUFDOztBQUZoQyxnQkFBSSxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIEluaXQgYWN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBJbml0U3RhdGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdAQElOSVQnO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFVwZGF0ZVN0YXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnQEBVUERBVEVfU1RBVEUnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhZGRlZFN0YXRlcz86IFBsYWluT2JqZWN0KSB7fVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9hY3Rpb25zL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uRGVmPFQgPSBhbnksIFUgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuXG4gIG5ldyAoLi4uYXJnczogVFtdKTogVTtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZSA9IEFjdGlvbkRlZiB8IHsgdHlwZTogc3RyaW5nIH07XG5cbi8qKlxuICogQWN0aW9ucyB0aGF0IGNhbiBiZSBwcm92aWRlZCBpbiBhIGFjdGlvbiBkZWNvcmF0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDYW5jZWwgdGhlIHByZXZpb3VzIHVuY29tcGxldGVkIG9ic2VydmFibGUocykuXG4gICAqL1xuICBjYW5jZWxVbmNvbXBsZXRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uSGFuZGxlck1ldGFEYXRhIHtcbiAgZm46IHN0cmluZyB8IHN5bWJvbDtcbiAgb3B0aW9uczogQWN0aW9uT3B0aW9ucztcbiAgdHlwZTogc3RyaW5nO1xufVxuIl19
@@ -1,52 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { share } from 'rxjs/operators';
4
- import { leaveNgxs } from './operators/leave-ngxs';
5
- import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
6
- import { OrderedSubject } from './internal/custom-rxjs-subjects';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./execution/internal-ngxs-execution-strategy";
9
- /**
10
- * Internal Action stream that is emitted anytime an action is dispatched.
11
- */
12
- export class InternalActions extends OrderedSubject {
13
- ngOnDestroy() {
14
- this.complete();
15
- }
16
- }
17
- /** @nocollapse */ InternalActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalActions, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
18
- /** @nocollapse */ InternalActions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalActions, providedIn: 'root' });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalActions, decorators: [{
20
- type: Injectable,
21
- args: [{ providedIn: 'root' }]
22
- }] });
23
- /**
24
- * Action stream that is emitted anytime an action is dispatched.
25
- *
26
- * You can listen to this in services to react without stores.
27
- */
28
- export class Actions extends Observable {
29
- constructor(internalActions$, internalExecutionStrategy) {
30
- const sharedInternalActions$ = internalActions$.pipe(leaveNgxs(internalExecutionStrategy),
31
- // The `InternalActions` subject emits outside of the Angular zone.
32
- // We have to re-enter the Angular zone for any incoming consumer.
33
- // The `share()` operator reduces the number of change detections.
34
- // This would call leave only once for any stream emission across all active subscribers.
35
- share());
36
- super(observer => {
37
- const childSubscription = sharedInternalActions$.subscribe({
38
- next: ctx => observer.next(ctx),
39
- error: error => observer.error(error),
40
- complete: () => observer.complete()
41
- });
42
- observer.add(childSubscription);
43
- });
44
- }
45
- }
46
- /** @nocollapse */ Actions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Actions, deps: [{ token: InternalActions }, { token: i1.InternalNgxsExecutionStrategy }], target: i0.ɵɵFactoryTarget.Injectable });
47
- /** @nocollapse */ Actions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Actions, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Actions, decorators: [{
49
- type: Injectable,
50
- args: [{ providedIn: 'root' }]
51
- }], ctorParameters: function () { return [{ type: InternalActions }, { type: i1.InternalNgxsExecutionStrategy }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvYWN0aW9ucy1zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFrQmpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBNkI7SUFDaEUsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOztnSUFIVSxlQUFlO29JQUFmLGVBQWUsY0FERixNQUFNOzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFPbEM7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxPQUFRLFNBQVEsVUFBeUI7SUFDcEQsWUFDRSxnQkFBaUMsRUFDakMseUJBQXdEO1FBRXhELE1BQU0sc0JBQXNCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMseUJBQXlCLENBQUM7UUFDcEMsbUVBQW1FO1FBQ25FLGtFQUFrRTtRQUNsRSxrRUFBa0U7UUFDbEUseUZBQXlGO1FBQ3pGLEtBQUssRUFBRSxDQUNSLENBQUM7UUFFRixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDZixNQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztnQkFDekQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQy9CLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTthQUNwQyxDQUFDLENBQUM7WUFFSCxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3SEF2QlUsT0FBTyxrQkFFRSxlQUFlOzRIQUZ4QixPQUFPLGNBRE0sTUFBTTs0RkFDbkIsT0FBTztrQkFEbkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7MERBR1osZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBPcmRlcmVkU3ViamVjdCB9IGZyb20gJy4vaW50ZXJuYWwvY3VzdG9tLXJ4anMtc3ViamVjdHMnO1xuXG4vKipcbiAqIFN0YXR1cyBvZiBhIGRpc3BhdGNoZWQgYWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIEFjdGlvblN0YXR1cyB7XG4gIERpc3BhdGNoZWQgPSAnRElTUEFUQ0hFRCcsXG4gIFN1Y2Nlc3NmdWwgPSAnU1VDQ0VTU0ZVTCcsXG4gIENhbmNlbGVkID0gJ0NBTkNFTEVEJyxcbiAgRXJyb3JlZCA9ICdFUlJPUkVEJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRleHQ8VCA9IGFueT4ge1xuICBzdGF0dXM6IEFjdGlvblN0YXR1cztcbiAgYWN0aW9uOiBUO1xuICBlcnJvcj86IEVycm9yO1xufVxuXG4vKipcbiAqIEludGVybmFsIEFjdGlvbiBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIGFueXRpbWUgYW4gYWN0aW9uIGlzIGRpc3BhdGNoZWQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxBY3Rpb25zIGV4dGVuZHMgT3JkZXJlZFN1YmplY3Q8QWN0aW9uQ29udGV4dD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBY3Rpb24gc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCBhbnl0aW1lIGFuIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICpcbiAqIFlvdSBjYW4gbGlzdGVuIHRvIHRoaXMgaW4gc2VydmljZXMgdG8gcmVhY3Qgd2l0aG91dCBzdG9yZXMuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQWN0aW9ucyBleHRlbmRzIE9ic2VydmFibGU8QWN0aW9uQ29udGV4dD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBpbnRlcm5hbEFjdGlvbnMkOiBJbnRlcm5hbEFjdGlvbnMsXG4gICAgaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgY29uc3Qgc2hhcmVkSW50ZXJuYWxBY3Rpb25zJCA9IGludGVybmFsQWN0aW9ucyQucGlwZShcbiAgICAgIGxlYXZlTmd4cyhpbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5KSxcbiAgICAgIC8vIFRoZSBgSW50ZXJuYWxBY3Rpb25zYCBzdWJqZWN0IGVtaXRzIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgIC8vIFdlIGhhdmUgdG8gcmUtZW50ZXIgdGhlIEFuZ3VsYXIgem9uZSBmb3IgYW55IGluY29taW5nIGNvbnN1bWVyLlxuICAgICAgLy8gVGhlIGBzaGFyZSgpYCBvcGVyYXRvciByZWR1Y2VzIHRoZSBudW1iZXIgb2YgY2hhbmdlIGRldGVjdGlvbnMuXG4gICAgICAvLyBUaGlzIHdvdWxkIGNhbGwgbGVhdmUgb25seSBvbmNlIGZvciBhbnkgc3RyZWFtIGVtaXNzaW9uIGFjcm9zcyBhbGwgYWN0aXZlIHN1YnNjcmliZXJzLlxuICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICBzdXBlcihvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCBjaGlsZFN1YnNjcmlwdGlvbiA9IHNoYXJlZEludGVybmFsQWN0aW9ucyQuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogY3R4ID0+IG9ic2VydmVyLm5leHQoY3R4KSxcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKClcbiAgICAgIH0pO1xuXG4gICAgICBvYnNlcnZlci5hZGQoY2hpbGRTdWJzY3JpcHRpb24pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,36 +0,0 @@
1
- export function throwStateNameError(name) {
2
- throw new Error(`${name} is not a valid state name. It needs to be a valid object property name.`);
3
- }
4
- export function throwStateNamePropertyError() {
5
- throw new Error(`States must register a 'name' property.`);
6
- }
7
- export function throwStateUniqueError(current, newName, oldName) {
8
- throw new Error(`State name '${current}' from ${newName} already exists in ${oldName}.`);
9
- }
10
- export function throwStateDecoratorError(name) {
11
- throw new Error(`States must be decorated with @State() decorator, but "${name}" isn't.`);
12
- }
13
- export function throwActionDecoratorError() {
14
- throw new Error('@Action() decorator cannot be used with static methods.');
15
- }
16
- export function throwSelectorDecoratorError() {
17
- throw new Error('Selectors only work on methods.');
18
- }
19
- export function getZoneWarningMessage() {
20
- return ('Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
21
- 'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
22
- 'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })');
23
- }
24
- export function getUndecoratedStateInIvyWarningMessage(name) {
25
- return `'${name}' class should be decorated with @Injectable() right after the @State() decorator`;
26
- }
27
- export function throwSelectFactoryNotConnectedError() {
28
- throw new Error('You have forgotten to import the NGXS module!');
29
- }
30
- export function throwPatchingArrayError() {
31
- throw new Error('Patching arrays is not supported.');
32
- }
33
- export function throwPatchingPrimitiveError() {
34
- throw new Error('Patching primitives is not supported.');
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLDBFQUEwRSxDQUNsRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE9BQWUsRUFDZixPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxPQUFPLFVBQVUsT0FBTyxzQkFBc0IsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUMzRixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQVk7SUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsSUFBSSxVQUFVLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLE9BQU8sQ0FDTCw2R0FBNkc7UUFDN0csd0ZBQXdGO1FBQ3hGLDhFQUE4RSxDQUMvRSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxJQUFZO0lBQ2pFLE9BQU8sSUFBSSxJQUFJLG1GQUFtRixDQUFDO0FBQ3JHLENBQUM7QUFFRCxNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0ZU5hbWVFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgJHtuYW1lfSBpcyBub3QgYSB2YWxpZCBzdGF0ZSBuYW1lLiBJdCBuZWVkcyB0byBiZSBhIHZhbGlkIG9iamVjdCBwcm9wZXJ0eSBuYW1lLmBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVOYW1lUHJvcGVydHlFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgcmVnaXN0ZXIgYSAnbmFtZScgcHJvcGVydHkuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1N0YXRlVW5pcXVlRXJyb3IoXG4gIGN1cnJlbnQ6IHN0cmluZyxcbiAgbmV3TmFtZTogc3RyaW5nLFxuICBvbGROYW1lOiBzdHJpbmdcbik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBuYW1lICcke2N1cnJlbnR9JyBmcm9tICR7bmV3TmFtZX0gYWxyZWFkeSBleGlzdHMgaW4gJHtvbGROYW1lfS5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVEZWNvcmF0b3JFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgYmUgZGVjb3JhdGVkIHdpdGggQFN0YXRlKCkgZGVjb3JhdG9yLCBidXQgXCIke25hbWV9XCIgaXNuJ3QuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0FjdGlvbkRlY29yYXRvckVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdAQWN0aW9uKCkgZGVjb3JhdG9yIGNhbm5vdCBiZSB1c2VkIHdpdGggc3RhdGljIG1ldGhvZHMuJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1NlbGVjdG9ycyBvbmx5IHdvcmsgb24gbWV0aG9kcy4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFpvbmVXYXJuaW5nTWVzc2FnZSgpOiBzdHJpbmcge1xuICByZXR1cm4gKFxuICAgICdZb3VyIGFwcGxpY2F0aW9uIHdhcyBib290c3RyYXBwZWQgd2l0aCBub29wZWQgem9uZSBhbmQgeW91ciBleGVjdXRpb24gc3RyYXRlZ3kgcmVxdWlyZXMgYW4gYWN0dWFsIE5nWm9uZSFcXG4nICtcbiAgICAnUGxlYXNlIHNldCB0aGUgdmFsdWUgb2YgdGhlIGV4ZWN1dGlvblN0cmF0ZWd5IHByb3BlcnR5IHRvIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kuXFxuJyArXG4gICAgJ05neHNNb2R1bGUuZm9yUm9vdChzdGF0ZXMsIHsgZXhlY3V0aW9uU3RyYXRlZ3k6IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSknXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmRlY29yYXRlZFN0YXRlSW5JdnlXYXJuaW5nTWVzc2FnZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCcke25hbWV9JyBjbGFzcyBzaG91bGQgYmUgZGVjb3JhdGVkIHdpdGggQEluamVjdGFibGUoKSByaWdodCBhZnRlciB0aGUgQFN0YXRlKCkgZGVjb3JhdG9yYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U2VsZWN0RmFjdG9yeU5vdENvbm5lY3RlZEVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSBmb3Jnb3R0ZW4gdG8gaW1wb3J0IHRoZSBOR1hTIG1vZHVsZSEnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdBcnJheUVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdQYXRjaGluZyBhcnJheXMgaXMgbm90IHN1cHBvcnRlZC4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdQcmltaXRpdmVFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcignUGF0Y2hpbmcgcHJpbWl0aXZlcyBpcyBub3Qgc3VwcG9ydGVkLicpO1xufVxuIl19