@craft-ts/core 0.7.0-beta.13 → 0.7.0-beta.16

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 (699) hide show
  1. package/package.json +10 -2
  2. package/src/index.d.ts +156 -148
  3. package/src/index.js +153 -142
  4. package/src/lib/after-recomputation.d.ts +3 -4
  5. package/src/lib/after-recomputation.js +3 -4
  6. package/src/lib/app-checked-di.d.ts +3 -4
  7. package/src/lib/app-checked-di.js +0 -1
  8. package/src/lib/async-process.d.ts +18 -19
  9. package/src/lib/async-process.js +24 -25
  10. package/src/lib/branded-component/branded-component.d.ts +3 -4
  11. package/src/lib/branded-component/branded-component.js +0 -1
  12. package/src/lib/browser-boundaries.d.ts +6 -7
  13. package/src/lib/browser-boundaries.js +5 -6
  14. package/src/lib/client-di-requirement.d.ts +1 -2
  15. package/src/lib/client-di-requirement.js +0 -1
  16. package/src/lib/client-function-middleware.d.ts +8 -92
  17. package/src/lib/client-function-middleware.js +89 -90
  18. package/src/lib/component-monitoring.d.ts +1 -2
  19. package/src/lib/component-monitoring.js +2 -3
  20. package/src/lib/component-register.d.ts +1 -2
  21. package/src/lib/component-register.js +1 -2
  22. package/src/lib/computed-source.d.ts +3 -4
  23. package/src/lib/computed-source.js +2 -3
  24. package/src/lib/correlation-id-plugin.d.ts +1 -2
  25. package/src/lib/correlation-id-plugin.js +6 -7
  26. package/src/lib/correlation-id.d.ts +4 -5
  27. package/src/lib/correlation-id.js +3 -4
  28. package/src/lib/craft-a11y.d.ts +3 -4
  29. package/src/lib/craft-a11y.js +5 -6
  30. package/src/lib/craft-activated-route.d.ts +2 -3
  31. package/src/lib/craft-activated-route.js +2 -3
  32. package/src/lib/craft-app-config.d.ts +4 -5
  33. package/src/lib/craft-app-config.js +3 -4
  34. package/src/lib/craft-codec.d.ts +0 -1
  35. package/src/lib/craft-codec.js +0 -1
  36. package/src/lib/craft-computed.d.ts +6 -7
  37. package/src/lib/craft-computed.js +7 -8
  38. package/src/lib/craft-control-flow.d.ts +0 -1
  39. package/src/lib/craft-control-flow.js +2 -3
  40. package/src/lib/craft-effect.d.ts +2 -3
  41. package/src/lib/craft-effect.js +7 -8
  42. package/src/lib/craft-exception.d.ts +0 -1
  43. package/src/lib/craft-exception.js +0 -1
  44. package/src/lib/craft-gen.d.ts +1 -2
  45. package/src/lib/craft-gen.js +2 -3
  46. package/src/lib/craft-generator-runtime.d.ts +21 -5
  47. package/src/lib/craft-generator-runtime.js +28 -6
  48. package/src/lib/craft-guard-runtime.d.ts +4 -5
  49. package/src/lib/craft-guard-runtime.js +6 -7
  50. package/src/lib/craft-handshake.d.ts +1 -2
  51. package/src/lib/craft-handshake.js +0 -1
  52. package/src/lib/craft-http-client.d.ts +3 -4
  53. package/src/lib/craft-http-client.js +4 -5
  54. package/src/lib/craft-http-trace.d.ts +1 -2
  55. package/src/lib/craft-http-trace.js +5 -2
  56. package/src/lib/craft-hydration.d.ts +11 -0
  57. package/src/lib/craft-hydration.js +2 -0
  58. package/src/lib/craft-lazy.d.ts +3 -4
  59. package/src/lib/craft-lazy.js +5 -6
  60. package/src/lib/craft-load-retry.d.ts +2 -3
  61. package/src/lib/craft-load-retry.js +11 -4
  62. package/src/lib/craft-machine-history.d.ts +6 -7
  63. package/src/lib/craft-machine-history.js +6 -7
  64. package/src/lib/craft-match.d.ts +0 -1
  65. package/src/lib/craft-match.js +0 -1
  66. package/src/lib/craft-method.d.ts +3 -4
  67. package/src/lib/craft-method.js +5 -6
  68. package/src/lib/craft-node-directive.d.ts +3 -4
  69. package/src/lib/craft-node-directive.js +2 -3
  70. package/src/lib/craft-pending.d.ts +3 -4
  71. package/src/lib/craft-pending.js +2 -3
  72. package/src/lib/craft-pipe.d.ts +1 -2
  73. package/src/lib/craft-pipe.js +7 -8
  74. package/src/lib/craft-platform.d.ts +2 -3
  75. package/src/lib/craft-platform.js +2 -3
  76. package/src/lib/craft-primitive-gen.d.ts +7 -8
  77. package/src/lib/craft-primitive-gen.js +4 -5
  78. package/src/lib/craft-primitive-registry.d.ts +4 -2
  79. package/src/lib/craft-primitive-registry.js +5 -3
  80. package/src/lib/craft-program-operators.d.ts +3 -4
  81. package/src/lib/craft-program-operators.js +4 -5
  82. package/src/lib/craft-program-runtime.d.ts +3 -4
  83. package/src/lib/craft-program-runtime.js +7 -8
  84. package/src/lib/craft-register-for-runtime.d.ts +2 -3
  85. package/src/lib/craft-register-for-runtime.js +2 -3
  86. package/src/lib/craft-register-for.d.ts +3 -4
  87. package/src/lib/craft-register-for.js +6 -7
  88. package/src/lib/craft-render-identity.d.ts +0 -1
  89. package/src/lib/craft-render-identity.js +1 -2
  90. package/src/lib/craft-replay.d.ts +0 -1
  91. package/src/lib/craft-replay.js +0 -1
  92. package/src/lib/craft-request-context.d.ts +15 -0
  93. package/src/lib/craft-request-context.js +40 -0
  94. package/src/lib/craft-resolve.d.ts +2 -3
  95. package/src/lib/craft-resolve.js +0 -1
  96. package/src/lib/craft-resource.d.ts +2 -3
  97. package/src/lib/craft-resource.js +14 -6
  98. package/src/lib/craft-route-exceptions.d.ts +27 -28
  99. package/src/lib/craft-route-exceptions.js +3 -4
  100. package/src/lib/craft-route-load-error.d.ts +92 -93
  101. package/src/lib/craft-route-load-error.js +6 -7
  102. package/src/lib/craft-route-meta.d.ts +4 -5
  103. package/src/lib/craft-route-meta.js +0 -1
  104. package/src/lib/craft-route-target.d.ts +1 -2
  105. package/src/lib/craft-route-target.js +1 -2
  106. package/src/lib/craft-router-outlet.d.ts +7 -7
  107. package/src/lib/craft-router-outlet.js +24 -18
  108. package/src/lib/craft-router-tokens.d.ts +3 -4
  109. package/src/lib/craft-router-tokens.js +2 -3
  110. package/src/lib/craft-router-trace.d.ts +3 -4
  111. package/src/lib/craft-router-trace.js +9 -3
  112. package/src/lib/craft-router.d.ts +16 -17
  113. package/src/lib/craft-router.js +75 -74
  114. package/src/lib/craft-routes.d.ts +20 -15
  115. package/src/lib/craft-routes.js +13 -12
  116. package/src/lib/craft-runtime-mode.d.ts +13 -0
  117. package/src/lib/craft-runtime-mode.js +21 -0
  118. package/src/lib/craft-security.d.ts +87 -0
  119. package/src/lib/craft-security.js +117 -0
  120. package/src/lib/craft-service.d.ts +12 -13
  121. package/src/lib/craft-service.js +11 -12
  122. package/src/lib/craft-service.shared.d.ts +0 -1
  123. package/src/lib/craft-service.shared.js +0 -1
  124. package/src/lib/craft-settled.d.ts +23 -16
  125. package/src/lib/craft-settled.js +9 -10
  126. package/src/lib/craft-ssr.d.ts +2 -3
  127. package/src/lib/craft-ssr.js +4 -5
  128. package/src/lib/craft-state-machine-runtime.d.ts +2 -3
  129. package/src/lib/craft-state-machine-runtime.js +3 -4
  130. package/src/lib/craft-state-machine.d.ts +5 -6
  131. package/src/lib/craft-state-machine.js +9 -10
  132. package/src/lib/craft-target-runtime.d.ts +1 -2
  133. package/src/lib/craft-target-runtime.js +2 -3
  134. package/src/lib/craft-transfer-snapshot.d.ts +10 -5
  135. package/src/lib/craft-transfer-snapshot.js +139 -14
  136. package/src/lib/craft-unique.d.ts +0 -1
  137. package/src/lib/craft-unique.js +0 -1
  138. package/src/lib/craft-until-settled.d.ts +5 -6
  139. package/src/lib/craft-until-settled.js +4 -5
  140. package/src/lib/craft-use.d.ts +0 -1
  141. package/src/lib/craft-use.js +2 -3
  142. package/src/lib/craft-view-transition.d.ts +2 -3
  143. package/src/lib/craft-view-transition.js +2 -3
  144. package/src/lib/dev-tools.d.ts +7 -0
  145. package/src/lib/dev-tools.js +244 -0
  146. package/src/lib/dom-event-hook.d.ts +1 -2
  147. package/src/lib/dom-event-hook.js +1 -2
  148. package/src/lib/fn-wrapper.d.ts +2 -3
  149. package/src/lib/fn-wrapper.js +3 -4
  150. package/src/lib/form/craft-field.d.ts +2 -3
  151. package/src/lib/form/craft-field.directive.d.ts +6 -7
  152. package/src/lib/form/craft-field.directive.js +5 -6
  153. package/src/lib/form/craft-field.js +1 -2
  154. package/src/lib/form/field-exception.d.ts +4 -5
  155. package/src/lib/form/field-exception.js +1 -2
  156. package/src/lib/form/field-lens.d.ts +0 -1
  157. package/src/lib/form/field-lens.js +0 -1
  158. package/src/lib/form/insert-form-attributes.d.ts +6 -7
  159. package/src/lib/form/insert-form-attributes.js +5 -6
  160. package/src/lib/form/insert-form-internals.d.ts +11 -12
  161. package/src/lib/form/insert-form-internals.js +9 -10
  162. package/src/lib/form/insert-form-schema.d.ts +3 -4
  163. package/src/lib/form/insert-form-schema.js +4 -5
  164. package/src/lib/form/insert-form-submit.d.ts +7 -8
  165. package/src/lib/form/insert-form-submit.js +3 -4
  166. package/src/lib/form/insert-form.d.ts +6 -7
  167. package/src/lib/form/insert-form.js +8 -9
  168. package/src/lib/form/insert-select-form-tree.d.ts +2 -3
  169. package/src/lib/form/insert-select-form-tree.js +5 -6
  170. package/src/lib/form/insert-sub-form-field.d.ts +3 -4
  171. package/src/lib/form/insert-sub-form-field.js +6 -7
  172. package/src/lib/form/make-form-tree-insert.d.ts +1 -2
  173. package/src/lib/form/make-form-tree-insert.js +3 -4
  174. package/src/lib/form/target-form-field.d.ts +0 -1
  175. package/src/lib/form/target-form-field.js +0 -1
  176. package/src/lib/form/validator.d.ts +5 -6
  177. package/src/lib/form/validator.js +3 -4
  178. package/src/lib/from-event-to-source$.d.ts +2 -3
  179. package/src/lib/from-event-to-source$.js +3 -4
  180. package/src/lib/global-persister-handler.service.d.ts +1 -2
  181. package/src/lib/global-persister-handler.service.js +2 -3
  182. package/src/lib/host/craft-compat.d.ts +2 -3
  183. package/src/lib/host/craft-compat.js +2 -3
  184. package/src/lib/host/craft-dom.d.ts +0 -1
  185. package/src/lib/host/craft-dom.js +0 -1
  186. package/src/lib/host/craft-http.d.ts +0 -1
  187. package/src/lib/host/craft-http.js +0 -1
  188. package/src/lib/host/craft-injector-host.d.ts +2 -3
  189. package/src/lib/host/craft-injector-host.js +1 -2
  190. package/src/lib/host/craft-injector.d.ts +0 -1
  191. package/src/lib/host/craft-injector.js +0 -1
  192. package/src/lib/host/craft-linked-signal.d.ts +1 -2
  193. package/src/lib/host/craft-linked-signal.js +2 -3
  194. package/src/lib/host/craft-router-runtime.d.ts +0 -1
  195. package/src/lib/host/craft-router-runtime.js +0 -1
  196. package/src/lib/host/craft-router-types.d.ts +1 -2
  197. package/src/lib/host/craft-router-types.js +1 -2
  198. package/src/lib/host/craft-signal.d.ts +0 -1
  199. package/src/lib/host/craft-signal.js +1 -2
  200. package/src/lib/host/craft-test-bed.d.ts +2 -3
  201. package/src/lib/host/craft-test-bed.js +2 -3
  202. package/src/lib/host-tag.d.ts +1 -2
  203. package/src/lib/host-tag.js +1 -2
  204. package/src/lib/http-server.d.ts +156 -0
  205. package/src/lib/http-server.js +590 -0
  206. package/src/lib/insert-entities.d.ts +5 -6
  207. package/src/lib/insert-entities.js +1 -2
  208. package/src/lib/insert-noop-typing-anchor.d.ts +1 -2
  209. package/src/lib/insert-noop-typing-anchor.js +0 -1
  210. package/src/lib/insert-pagination-placeholder-data.d.ts +5 -6
  211. package/src/lib/insert-pagination-placeholder-data.js +5 -6
  212. package/src/lib/insert-react-on-mutation.d.ts +5 -6
  213. package/src/lib/insert-react-on-mutation.js +2 -3
  214. package/src/lib/insert-select-resource.d.ts +2 -3
  215. package/src/lib/insert-select-resource.js +1 -2
  216. package/src/lib/insert-select.d.ts +5 -6
  217. package/src/lib/insert-select.js +18 -19
  218. package/src/lib/insert-storage-persister.d.ts +4 -5
  219. package/src/lib/insert-storage-persister.js +2 -3
  220. package/src/lib/insert-typed-pipes.d.ts +3 -4
  221. package/src/lib/insert-typed-pipes.js +2 -3
  222. package/src/lib/lambda-adapter.d.ts +52 -0
  223. package/src/lib/lambda-adapter.js +101 -0
  224. package/src/lib/linked-source.d.ts +3 -4
  225. package/src/lib/linked-source.js +2 -3
  226. package/src/lib/local-storage-persister.d.ts +2 -3
  227. package/src/lib/local-storage-persister.js +3 -4
  228. package/src/lib/middleware-schema-shared.d.ts +9 -21
  229. package/src/lib/middleware-schema-shared.js +6 -1
  230. package/src/lib/mock-http-request-for-route.d.ts +3 -4
  231. package/src/lib/mock-http-request-for-route.js +0 -1
  232. package/src/lib/mutation.d.ts +18 -19
  233. package/src/lib/mutation.js +23 -24
  234. package/src/lib/on$.d.ts +6 -7
  235. package/src/lib/on$.js +4 -5
  236. package/src/lib/portable-server-function.d.ts +8 -9
  237. package/src/lib/portable-server-function.js +12 -5
  238. package/src/lib/preserved-resource.d.ts +2 -3
  239. package/src/lib/preserved-resource.js +4 -5
  240. package/src/lib/primitive-method-runtime-context.d.ts +1 -2
  241. package/src/lib/primitive-method-runtime-context.js +2 -3
  242. package/src/lib/primitive-resource-runtime-context.d.ts +1 -2
  243. package/src/lib/primitive-resource-runtime-context.js +2 -3
  244. package/src/lib/query-params.d.ts +12 -13
  245. package/src/lib/query-params.js +15 -16
  246. package/src/lib/query.core.d.ts +15 -14
  247. package/src/lib/query.core.js +1 -2
  248. package/src/lib/query.d.ts +19 -20
  249. package/src/lib/query.js +23 -24
  250. package/src/lib/reactive-read.d.ts +2 -3
  251. package/src/lib/reactive-read.js +2 -3
  252. package/src/lib/render/channels.d.ts +130 -0
  253. package/src/lib/render/channels.js +0 -0
  254. package/src/lib/resource-by-id.d.ts +4 -5
  255. package/src/lib/resource-by-id.js +4 -5
  256. package/src/lib/resource-exception.d.ts +2 -3
  257. package/src/lib/resource-exception.js +1 -2
  258. package/src/lib/route-checked-di.d.ts +4 -5
  259. package/src/lib/route-checked-di.js +0 -1
  260. package/src/lib/schema-validation.d.ts +4 -5
  261. package/src/lib/schema-validation.js +2 -3
  262. package/src/lib/send-context-to-ai.d.ts +3 -4
  263. package/src/lib/send-context-to-ai.js +1 -2
  264. package/src/lib/send-context-to-ai.tokens.d.ts +1 -2
  265. package/src/lib/send-context-to-ai.tokens.js +0 -1
  266. package/src/lib/server-function-client.d.ts +18 -7
  267. package/src/lib/server-function-client.js +31 -9
  268. package/src/lib/server-function-contract.d.ts +1 -2
  269. package/src/lib/server-function-contract.js +0 -1
  270. package/src/lib/server-function-middleware.d.ts +49 -132
  271. package/src/lib/server-function-middleware.js +83 -103
  272. package/src/lib/server-function.d.ts +58 -8
  273. package/src/lib/server-function.js +20 -6
  274. package/src/lib/server-layer.d.ts +3 -4
  275. package/src/lib/server-layer.js +1 -2
  276. package/src/lib/server.d.ts +39 -6
  277. package/src/lib/server.js +259 -27
  278. package/src/lib/setup-craft-service-test.d.ts +3 -4
  279. package/src/lib/setup-craft-service-test.js +6 -7
  280. package/src/lib/setup-craft-service-testing-by-register.d.ts +4 -5
  281. package/src/lib/setup-craft-service-testing-by-register.js +4 -5
  282. package/src/lib/signal-proxy.d.ts +2 -3
  283. package/src/lib/signal-proxy.js +1 -2
  284. package/src/lib/signal-source.d.ts +3 -4
  285. package/src/lib/signal-source.js +7 -8
  286. package/src/lib/source$.d.ts +3 -4
  287. package/src/lib/source$.js +7 -8
  288. package/src/lib/source-from-event.d.ts +2 -3
  289. package/src/lib/source-from-event.js +2 -3
  290. package/src/lib/stacked-source.d.ts +1 -2
  291. package/src/lib/stacked-source.js +1 -2
  292. package/src/lib/standard-schema.d.ts +0 -1
  293. package/src/lib/standard-schema.js +0 -1
  294. package/src/lib/state-method-runtime-context.d.ts +2 -3
  295. package/src/lib/state-method-runtime-context.js +1 -2
  296. package/src/lib/state.d.ts +13 -14
  297. package/src/lib/state.js +17 -18
  298. package/src/lib/storage-persister.service.d.ts +3 -4
  299. package/src/lib/storage-persister.service.js +3 -4
  300. package/src/lib/take-app-snapshot.d.ts +1 -2
  301. package/src/lib/take-app-snapshot.js +10 -4
  302. package/src/lib/template-trace.d.ts +1 -2
  303. package/src/lib/template-trace.js +5 -2
  304. package/src/lib/temporal-runtime.d.ts +1 -2
  305. package/src/lib/temporal-runtime.js +1 -2
  306. package/src/lib/to-source.d.ts +3 -4
  307. package/src/lib/to-source.js +2 -3
  308. package/src/lib/util/craft-resource-ref.d.ts +2 -3
  309. package/src/lib/util/craft-resource-ref.js +0 -1
  310. package/src/lib/util/craft-resource-status.d.ts +1 -2
  311. package/src/lib/util/craft-resource-status.js +0 -1
  312. package/src/lib/util/entities-util.d.ts +0 -1
  313. package/src/lib/util/entities-util.js +0 -1
  314. package/src/lib/util/explicit-effect.d.ts +1 -2
  315. package/src/lib/util/explicit-effect.js +1 -2
  316. package/src/lib/util/extract-signal-props-and-methods.d.ts +2 -3
  317. package/src/lib/util/extract-signal-props-and-methods.js +0 -1
  318. package/src/lib/util/method-trigger-nonce.d.ts +1 -2
  319. package/src/lib/util/method-trigger-nonce.js +0 -1
  320. package/src/lib/util/persister.type.d.ts +2 -3
  321. package/src/lib/util/persister.type.js +0 -1
  322. package/src/lib/util/persister.util.d.ts +0 -1
  323. package/src/lib/util/persister.util.js +0 -1
  324. package/src/lib/util/react-on-mutation-effect.d.ts +5 -6
  325. package/src/lib/util/react-on-mutation-effect.js +4 -5
  326. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts +2 -3
  327. package/src/lib/util/resource-by-id-changes-tracker.util.js +2 -3
  328. package/src/lib/util/source.type.d.ts +2 -3
  329. package/src/lib/util/source.type.js +0 -1
  330. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts +1 -2
  331. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js +0 -1
  332. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts +4 -5
  333. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js +0 -1
  334. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts +3 -4
  335. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js +0 -1
  336. package/src/lib/util/types/brand.d.ts +0 -1
  337. package/src/lib/util/types/brand.js +0 -1
  338. package/src/lib/util/types/object-deep-path-mapper.type.d.ts +1 -2
  339. package/src/lib/util/types/object-deep-path-mapper.type.js +0 -1
  340. package/src/lib/util/types/resource-by-id-config.type.d.ts +3 -4
  341. package/src/lib/util/types/resource-by-id-config.type.js +0 -1
  342. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts +2 -3
  343. package/src/lib/util/types/resource-with-params-or-params-fn.type.js +0 -1
  344. package/src/lib/util/types/shared.type.d.ts +6 -7
  345. package/src/lib/util/types/shared.type.js +0 -1
  346. package/src/lib/util/types/util.d.ts +2 -3
  347. package/src/lib/util/types/util.js +3 -3
  348. package/src/lib/util/types/util.type.d.ts +3 -4
  349. package/src/lib/util/types/util.type.js +0 -1
  350. package/src/lib/util/update-state.util.d.ts +0 -1
  351. package/src/lib/util/update-state.util.js +0 -1
  352. package/src/lib/util/util.d.ts +2 -3
  353. package/src/lib/util/util.js +1 -2
  354. package/src/lib/util/util.type.d.ts +5 -6
  355. package/src/lib/util/util.type.js +0 -1
  356. package/src/lib/worker-adapter.d.ts +8 -0
  357. package/src/lib/worker-adapter.js +8 -0
  358. package/src/lib/yieldable.d.ts +4 -5
  359. package/src/lib/yieldable.js +4 -5
  360. package/src/index.d.ts.map +0 -1
  361. package/src/index.js.map +0 -1
  362. package/src/lib/after-recomputation.d.ts.map +0 -1
  363. package/src/lib/after-recomputation.js.map +0 -1
  364. package/src/lib/app-checked-di.d.ts.map +0 -1
  365. package/src/lib/app-checked-di.js.map +0 -1
  366. package/src/lib/async-process.d.ts.map +0 -1
  367. package/src/lib/async-process.js.map +0 -1
  368. package/src/lib/branded-component/branded-component.d.ts.map +0 -1
  369. package/src/lib/branded-component/branded-component.js.map +0 -1
  370. package/src/lib/browser-boundaries.d.ts.map +0 -1
  371. package/src/lib/browser-boundaries.js.map +0 -1
  372. package/src/lib/client-di-requirement.d.ts.map +0 -1
  373. package/src/lib/client-di-requirement.js.map +0 -1
  374. package/src/lib/client-function-middleware.d.ts.map +0 -1
  375. package/src/lib/client-function-middleware.js.map +0 -1
  376. package/src/lib/component-monitoring.d.ts.map +0 -1
  377. package/src/lib/component-monitoring.js.map +0 -1
  378. package/src/lib/component-register.d.ts.map +0 -1
  379. package/src/lib/component-register.js.map +0 -1
  380. package/src/lib/computed-source.d.ts.map +0 -1
  381. package/src/lib/computed-source.js.map +0 -1
  382. package/src/lib/correlation-id-plugin.d.ts.map +0 -1
  383. package/src/lib/correlation-id-plugin.js.map +0 -1
  384. package/src/lib/correlation-id.d.ts.map +0 -1
  385. package/src/lib/correlation-id.js.map +0 -1
  386. package/src/lib/craft-a11y.d.ts.map +0 -1
  387. package/src/lib/craft-a11y.js.map +0 -1
  388. package/src/lib/craft-activated-route.d.ts.map +0 -1
  389. package/src/lib/craft-activated-route.js.map +0 -1
  390. package/src/lib/craft-app-config.d.ts.map +0 -1
  391. package/src/lib/craft-app-config.js.map +0 -1
  392. package/src/lib/craft-codec.d.ts.map +0 -1
  393. package/src/lib/craft-codec.js.map +0 -1
  394. package/src/lib/craft-computed.d.ts.map +0 -1
  395. package/src/lib/craft-computed.js.map +0 -1
  396. package/src/lib/craft-control-flow.d.ts.map +0 -1
  397. package/src/lib/craft-control-flow.js.map +0 -1
  398. package/src/lib/craft-effect.d.ts.map +0 -1
  399. package/src/lib/craft-effect.js.map +0 -1
  400. package/src/lib/craft-exception.d.ts.map +0 -1
  401. package/src/lib/craft-exception.js.map +0 -1
  402. package/src/lib/craft-gen.d.ts.map +0 -1
  403. package/src/lib/craft-gen.js.map +0 -1
  404. package/src/lib/craft-generator-runtime.d.ts.map +0 -1
  405. package/src/lib/craft-generator-runtime.js.map +0 -1
  406. package/src/lib/craft-guard-runtime.d.ts.map +0 -1
  407. package/src/lib/craft-guard-runtime.js.map +0 -1
  408. package/src/lib/craft-handshake.d.ts.map +0 -1
  409. package/src/lib/craft-handshake.js.map +0 -1
  410. package/src/lib/craft-http-client.d.ts.map +0 -1
  411. package/src/lib/craft-http-client.js.map +0 -1
  412. package/src/lib/craft-http-trace.d.ts.map +0 -1
  413. package/src/lib/craft-http-trace.js.map +0 -1
  414. package/src/lib/craft-lazy.d.ts.map +0 -1
  415. package/src/lib/craft-lazy.js.map +0 -1
  416. package/src/lib/craft-load-retry.d.ts.map +0 -1
  417. package/src/lib/craft-load-retry.js.map +0 -1
  418. package/src/lib/craft-machine-history.d.ts.map +0 -1
  419. package/src/lib/craft-machine-history.js.map +0 -1
  420. package/src/lib/craft-match.d.ts.map +0 -1
  421. package/src/lib/craft-match.js.map +0 -1
  422. package/src/lib/craft-method.d.ts.map +0 -1
  423. package/src/lib/craft-method.js.map +0 -1
  424. package/src/lib/craft-node-directive.d.ts.map +0 -1
  425. package/src/lib/craft-node-directive.js.map +0 -1
  426. package/src/lib/craft-pending.d.ts.map +0 -1
  427. package/src/lib/craft-pending.js.map +0 -1
  428. package/src/lib/craft-pipe.d.ts.map +0 -1
  429. package/src/lib/craft-pipe.js.map +0 -1
  430. package/src/lib/craft-platform.d.ts.map +0 -1
  431. package/src/lib/craft-platform.js.map +0 -1
  432. package/src/lib/craft-primitive-gen.d.ts.map +0 -1
  433. package/src/lib/craft-primitive-gen.js.map +0 -1
  434. package/src/lib/craft-primitive-registry.d.ts.map +0 -1
  435. package/src/lib/craft-primitive-registry.js.map +0 -1
  436. package/src/lib/craft-program-operators.d.ts.map +0 -1
  437. package/src/lib/craft-program-operators.js.map +0 -1
  438. package/src/lib/craft-program-runtime.d.ts.map +0 -1
  439. package/src/lib/craft-program-runtime.js.map +0 -1
  440. package/src/lib/craft-register-for-runtime.d.ts.map +0 -1
  441. package/src/lib/craft-register-for-runtime.js.map +0 -1
  442. package/src/lib/craft-register-for.d.ts.map +0 -1
  443. package/src/lib/craft-register-for.js.map +0 -1
  444. package/src/lib/craft-render-identity.d.ts.map +0 -1
  445. package/src/lib/craft-render-identity.js.map +0 -1
  446. package/src/lib/craft-replay.d.ts.map +0 -1
  447. package/src/lib/craft-replay.js.map +0 -1
  448. package/src/lib/craft-resolve.d.ts.map +0 -1
  449. package/src/lib/craft-resolve.js.map +0 -1
  450. package/src/lib/craft-resource.d.ts.map +0 -1
  451. package/src/lib/craft-resource.js.map +0 -1
  452. package/src/lib/craft-route-exceptions.d.ts.map +0 -1
  453. package/src/lib/craft-route-exceptions.js.map +0 -1
  454. package/src/lib/craft-route-load-error.d.ts.map +0 -1
  455. package/src/lib/craft-route-load-error.js.map +0 -1
  456. package/src/lib/craft-route-meta.d.ts.map +0 -1
  457. package/src/lib/craft-route-meta.js.map +0 -1
  458. package/src/lib/craft-route-target.d.ts.map +0 -1
  459. package/src/lib/craft-route-target.js.map +0 -1
  460. package/src/lib/craft-router-outlet.d.ts.map +0 -1
  461. package/src/lib/craft-router-outlet.js.map +0 -1
  462. package/src/lib/craft-router-tokens.d.ts.map +0 -1
  463. package/src/lib/craft-router-tokens.js.map +0 -1
  464. package/src/lib/craft-router-trace.d.ts.map +0 -1
  465. package/src/lib/craft-router-trace.js.map +0 -1
  466. package/src/lib/craft-router.d.ts.map +0 -1
  467. package/src/lib/craft-router.js.map +0 -1
  468. package/src/lib/craft-routes.d.ts.map +0 -1
  469. package/src/lib/craft-routes.js.map +0 -1
  470. package/src/lib/craft-service.d.ts.map +0 -1
  471. package/src/lib/craft-service.js.map +0 -1
  472. package/src/lib/craft-service.shared.d.ts.map +0 -1
  473. package/src/lib/craft-service.shared.js.map +0 -1
  474. package/src/lib/craft-settled.d.ts.map +0 -1
  475. package/src/lib/craft-settled.js.map +0 -1
  476. package/src/lib/craft-ssr.d.ts.map +0 -1
  477. package/src/lib/craft-ssr.js.map +0 -1
  478. package/src/lib/craft-state-machine-runtime.d.ts.map +0 -1
  479. package/src/lib/craft-state-machine-runtime.js.map +0 -1
  480. package/src/lib/craft-state-machine.d.ts.map +0 -1
  481. package/src/lib/craft-state-machine.js.map +0 -1
  482. package/src/lib/craft-target-runtime.d.ts.map +0 -1
  483. package/src/lib/craft-target-runtime.js.map +0 -1
  484. package/src/lib/craft-transfer-snapshot.d.ts.map +0 -1
  485. package/src/lib/craft-transfer-snapshot.js.map +0 -1
  486. package/src/lib/craft-unique.d.ts.map +0 -1
  487. package/src/lib/craft-unique.js.map +0 -1
  488. package/src/lib/craft-until-settled.d.ts.map +0 -1
  489. package/src/lib/craft-until-settled.js.map +0 -1
  490. package/src/lib/craft-use.d.ts.map +0 -1
  491. package/src/lib/craft-use.js.map +0 -1
  492. package/src/lib/craft-view-transition.d.ts.map +0 -1
  493. package/src/lib/craft-view-transition.js.map +0 -1
  494. package/src/lib/dom-event-hook.d.ts.map +0 -1
  495. package/src/lib/dom-event-hook.js.map +0 -1
  496. package/src/lib/fn-wrapper.d.ts.map +0 -1
  497. package/src/lib/fn-wrapper.js.map +0 -1
  498. package/src/lib/form/craft-field.d.ts.map +0 -1
  499. package/src/lib/form/craft-field.directive.d.ts.map +0 -1
  500. package/src/lib/form/craft-field.directive.js.map +0 -1
  501. package/src/lib/form/craft-field.js.map +0 -1
  502. package/src/lib/form/field-exception.d.ts.map +0 -1
  503. package/src/lib/form/field-exception.js.map +0 -1
  504. package/src/lib/form/field-lens.d.ts.map +0 -1
  505. package/src/lib/form/field-lens.js.map +0 -1
  506. package/src/lib/form/insert-form-attributes.d.ts.map +0 -1
  507. package/src/lib/form/insert-form-attributes.js.map +0 -1
  508. package/src/lib/form/insert-form-internals.d.ts.map +0 -1
  509. package/src/lib/form/insert-form-internals.js.map +0 -1
  510. package/src/lib/form/insert-form-schema.d.ts.map +0 -1
  511. package/src/lib/form/insert-form-schema.js.map +0 -1
  512. package/src/lib/form/insert-form-submit.d.ts.map +0 -1
  513. package/src/lib/form/insert-form-submit.js.map +0 -1
  514. package/src/lib/form/insert-form.d.ts.map +0 -1
  515. package/src/lib/form/insert-form.js.map +0 -1
  516. package/src/lib/form/insert-select-form-tree.d.ts.map +0 -1
  517. package/src/lib/form/insert-select-form-tree.js.map +0 -1
  518. package/src/lib/form/insert-sub-form-field.d.ts.map +0 -1
  519. package/src/lib/form/insert-sub-form-field.js.map +0 -1
  520. package/src/lib/form/make-form-tree-insert.d.ts.map +0 -1
  521. package/src/lib/form/make-form-tree-insert.js.map +0 -1
  522. package/src/lib/form/target-form-field.d.ts.map +0 -1
  523. package/src/lib/form/target-form-field.js.map +0 -1
  524. package/src/lib/form/validator.d.ts.map +0 -1
  525. package/src/lib/form/validator.js.map +0 -1
  526. package/src/lib/from-event-to-source$.d.ts.map +0 -1
  527. package/src/lib/from-event-to-source$.js.map +0 -1
  528. package/src/lib/global-persister-handler.service.d.ts.map +0 -1
  529. package/src/lib/global-persister-handler.service.js.map +0 -1
  530. package/src/lib/host/craft-compat.d.ts.map +0 -1
  531. package/src/lib/host/craft-compat.js.map +0 -1
  532. package/src/lib/host/craft-dom.d.ts.map +0 -1
  533. package/src/lib/host/craft-dom.js.map +0 -1
  534. package/src/lib/host/craft-http.d.ts.map +0 -1
  535. package/src/lib/host/craft-http.js.map +0 -1
  536. package/src/lib/host/craft-injector-host.d.ts.map +0 -1
  537. package/src/lib/host/craft-injector-host.js.map +0 -1
  538. package/src/lib/host/craft-injector.d.ts.map +0 -1
  539. package/src/lib/host/craft-injector.js.map +0 -1
  540. package/src/lib/host/craft-linked-signal.d.ts.map +0 -1
  541. package/src/lib/host/craft-linked-signal.js.map +0 -1
  542. package/src/lib/host/craft-router-runtime.d.ts.map +0 -1
  543. package/src/lib/host/craft-router-runtime.js.map +0 -1
  544. package/src/lib/host/craft-router-types.d.ts.map +0 -1
  545. package/src/lib/host/craft-router-types.js.map +0 -1
  546. package/src/lib/host/craft-signal.d.ts.map +0 -1
  547. package/src/lib/host/craft-signal.js.map +0 -1
  548. package/src/lib/host/craft-test-bed.d.ts.map +0 -1
  549. package/src/lib/host/craft-test-bed.js.map +0 -1
  550. package/src/lib/host-tag.d.ts.map +0 -1
  551. package/src/lib/host-tag.js.map +0 -1
  552. package/src/lib/insert-entities.d.ts.map +0 -1
  553. package/src/lib/insert-entities.js.map +0 -1
  554. package/src/lib/insert-noop-typing-anchor.d.ts.map +0 -1
  555. package/src/lib/insert-noop-typing-anchor.js.map +0 -1
  556. package/src/lib/insert-pagination-placeholder-data.d.ts.map +0 -1
  557. package/src/lib/insert-pagination-placeholder-data.js.map +0 -1
  558. package/src/lib/insert-react-on-mutation.d.ts.map +0 -1
  559. package/src/lib/insert-react-on-mutation.js.map +0 -1
  560. package/src/lib/insert-select-resource.d.ts.map +0 -1
  561. package/src/lib/insert-select-resource.js.map +0 -1
  562. package/src/lib/insert-select.d.ts.map +0 -1
  563. package/src/lib/insert-select.js.map +0 -1
  564. package/src/lib/insert-storage-persister.d.ts.map +0 -1
  565. package/src/lib/insert-storage-persister.js.map +0 -1
  566. package/src/lib/insert-typed-pipes.d.ts.map +0 -1
  567. package/src/lib/insert-typed-pipes.js.map +0 -1
  568. package/src/lib/linked-source.d.ts.map +0 -1
  569. package/src/lib/linked-source.js.map +0 -1
  570. package/src/lib/local-storage-persister.d.ts.map +0 -1
  571. package/src/lib/local-storage-persister.js.map +0 -1
  572. package/src/lib/middleware-schema-shared.d.ts.map +0 -1
  573. package/src/lib/middleware-schema-shared.js.map +0 -1
  574. package/src/lib/mock-http-request-for-route.d.ts.map +0 -1
  575. package/src/lib/mock-http-request-for-route.js.map +0 -1
  576. package/src/lib/mutation.d.ts.map +0 -1
  577. package/src/lib/mutation.js.map +0 -1
  578. package/src/lib/on$.d.ts.map +0 -1
  579. package/src/lib/on$.js.map +0 -1
  580. package/src/lib/portable-server-function.d.ts.map +0 -1
  581. package/src/lib/portable-server-function.js.map +0 -1
  582. package/src/lib/preserved-resource.d.ts.map +0 -1
  583. package/src/lib/preserved-resource.js.map +0 -1
  584. package/src/lib/primitive-method-runtime-context.d.ts.map +0 -1
  585. package/src/lib/primitive-method-runtime-context.js.map +0 -1
  586. package/src/lib/primitive-resource-runtime-context.d.ts.map +0 -1
  587. package/src/lib/primitive-resource-runtime-context.js.map +0 -1
  588. package/src/lib/query-params.d.ts.map +0 -1
  589. package/src/lib/query-params.js.map +0 -1
  590. package/src/lib/query.core.d.ts.map +0 -1
  591. package/src/lib/query.core.js.map +0 -1
  592. package/src/lib/query.d.ts.map +0 -1
  593. package/src/lib/query.js.map +0 -1
  594. package/src/lib/reactive-read.d.ts.map +0 -1
  595. package/src/lib/reactive-read.js.map +0 -1
  596. package/src/lib/resource-by-id.d.ts.map +0 -1
  597. package/src/lib/resource-by-id.js.map +0 -1
  598. package/src/lib/resource-exception.d.ts.map +0 -1
  599. package/src/lib/resource-exception.js.map +0 -1
  600. package/src/lib/route-checked-di.d.ts.map +0 -1
  601. package/src/lib/route-checked-di.js.map +0 -1
  602. package/src/lib/schema-validation.d.ts.map +0 -1
  603. package/src/lib/schema-validation.js.map +0 -1
  604. package/src/lib/send-context-to-ai.d.ts.map +0 -1
  605. package/src/lib/send-context-to-ai.js.map +0 -1
  606. package/src/lib/send-context-to-ai.tokens.d.ts.map +0 -1
  607. package/src/lib/send-context-to-ai.tokens.js.map +0 -1
  608. package/src/lib/server-function-client.d.ts.map +0 -1
  609. package/src/lib/server-function-client.js.map +0 -1
  610. package/src/lib/server-function-contract.d.ts.map +0 -1
  611. package/src/lib/server-function-contract.js.map +0 -1
  612. package/src/lib/server-function-middleware.d.ts.map +0 -1
  613. package/src/lib/server-function-middleware.js.map +0 -1
  614. package/src/lib/server-function.d.ts.map +0 -1
  615. package/src/lib/server-function.js.map +0 -1
  616. package/src/lib/server-layer.d.ts.map +0 -1
  617. package/src/lib/server-layer.js.map +0 -1
  618. package/src/lib/server.d.ts.map +0 -1
  619. package/src/lib/server.js.map +0 -1
  620. package/src/lib/setup-craft-service-test.d.ts.map +0 -1
  621. package/src/lib/setup-craft-service-test.js.map +0 -1
  622. package/src/lib/setup-craft-service-testing-by-register.d.ts.map +0 -1
  623. package/src/lib/setup-craft-service-testing-by-register.js.map +0 -1
  624. package/src/lib/signal-proxy.d.ts.map +0 -1
  625. package/src/lib/signal-proxy.js.map +0 -1
  626. package/src/lib/signal-source.d.ts.map +0 -1
  627. package/src/lib/signal-source.js.map +0 -1
  628. package/src/lib/source$.d.ts.map +0 -1
  629. package/src/lib/source$.js.map +0 -1
  630. package/src/lib/source-from-event.d.ts.map +0 -1
  631. package/src/lib/source-from-event.js.map +0 -1
  632. package/src/lib/stacked-source.d.ts.map +0 -1
  633. package/src/lib/stacked-source.js.map +0 -1
  634. package/src/lib/standard-schema.d.ts.map +0 -1
  635. package/src/lib/standard-schema.js.map +0 -1
  636. package/src/lib/state-method-runtime-context.d.ts.map +0 -1
  637. package/src/lib/state-method-runtime-context.js.map +0 -1
  638. package/src/lib/state.d.ts.map +0 -1
  639. package/src/lib/state.js.map +0 -1
  640. package/src/lib/storage-persister.service.d.ts.map +0 -1
  641. package/src/lib/storage-persister.service.js.map +0 -1
  642. package/src/lib/take-app-snapshot.d.ts.map +0 -1
  643. package/src/lib/take-app-snapshot.js.map +0 -1
  644. package/src/lib/template-trace.d.ts.map +0 -1
  645. package/src/lib/template-trace.js.map +0 -1
  646. package/src/lib/temporal-runtime.d.ts.map +0 -1
  647. package/src/lib/temporal-runtime.js.map +0 -1
  648. package/src/lib/to-source.d.ts.map +0 -1
  649. package/src/lib/to-source.js.map +0 -1
  650. package/src/lib/util/craft-resource-ref.d.ts.map +0 -1
  651. package/src/lib/util/craft-resource-ref.js.map +0 -1
  652. package/src/lib/util/craft-resource-status.d.ts.map +0 -1
  653. package/src/lib/util/craft-resource-status.js.map +0 -1
  654. package/src/lib/util/entities-util.d.ts.map +0 -1
  655. package/src/lib/util/entities-util.js.map +0 -1
  656. package/src/lib/util/explicit-effect.d.ts.map +0 -1
  657. package/src/lib/util/explicit-effect.js.map +0 -1
  658. package/src/lib/util/extract-signal-props-and-methods.d.ts.map +0 -1
  659. package/src/lib/util/extract-signal-props-and-methods.js.map +0 -1
  660. package/src/lib/util/method-trigger-nonce.d.ts.map +0 -1
  661. package/src/lib/util/method-trigger-nonce.js.map +0 -1
  662. package/src/lib/util/persister.type.d.ts.map +0 -1
  663. package/src/lib/util/persister.type.js.map +0 -1
  664. package/src/lib/util/persister.util.d.ts.map +0 -1
  665. package/src/lib/util/persister.util.js.map +0 -1
  666. package/src/lib/util/react-on-mutation-effect.d.ts.map +0 -1
  667. package/src/lib/util/react-on-mutation-effect.js.map +0 -1
  668. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts.map +0 -1
  669. package/src/lib/util/resource-by-id-changes-tracker.util.js.map +0 -1
  670. package/src/lib/util/source.type.d.ts.map +0 -1
  671. package/src/lib/util/source.type.js.map +0 -1
  672. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts.map +0 -1
  673. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js.map +0 -1
  674. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts.map +0 -1
  675. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js.map +0 -1
  676. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts.map +0 -1
  677. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js.map +0 -1
  678. package/src/lib/util/types/brand.d.ts.map +0 -1
  679. package/src/lib/util/types/brand.js.map +0 -1
  680. package/src/lib/util/types/object-deep-path-mapper.type.d.ts.map +0 -1
  681. package/src/lib/util/types/object-deep-path-mapper.type.js.map +0 -1
  682. package/src/lib/util/types/resource-by-id-config.type.d.ts.map +0 -1
  683. package/src/lib/util/types/resource-by-id-config.type.js.map +0 -1
  684. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts.map +0 -1
  685. package/src/lib/util/types/resource-with-params-or-params-fn.type.js.map +0 -1
  686. package/src/lib/util/types/shared.type.d.ts.map +0 -1
  687. package/src/lib/util/types/shared.type.js.map +0 -1
  688. package/src/lib/util/types/util.d.ts.map +0 -1
  689. package/src/lib/util/types/util.js.map +0 -1
  690. package/src/lib/util/types/util.type.d.ts.map +0 -1
  691. package/src/lib/util/types/util.type.js.map +0 -1
  692. package/src/lib/util/update-state.util.d.ts.map +0 -1
  693. package/src/lib/util/update-state.util.js.map +0 -1
  694. package/src/lib/util/util.d.ts.map +0 -1
  695. package/src/lib/util/util.js.map +0 -1
  696. package/src/lib/util/util.type.d.ts.map +0 -1
  697. package/src/lib/util/util.type.js.map +0 -1
  698. package/src/lib/yieldable.d.ts.map +0 -1
  699. package/src/lib/yieldable.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n batch,\n computed,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Provider,\n ResourceLoaderParams,\n ResourceOptions,\n ResourceRef,\n ResourceStreamingLoader,\n runInInjectionContext,\n Signal,\n signal,\n untracked,\n WritableSignal,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport {\n InsertionsResourcesFactory,\n ResourceExceptionConstraints,\n} from './query.core';\nimport {\n executeGeneratorCompatibleFactory,\n GeneratorCompatibleFactory,\n isGenerator,\n isGeneratorFunction,\n runCraftGenerator,\n} from './craft-generator-runtime';\nimport { executeGeneratorCompatibleFactoryAsync } from './craft-program-runtime';\nimport {\n attachCraftSettledValue,\n createYieldableSettledValue,\n CraftNotSettled,\n type CraftSettledSignal,\n} from './craft-settled';\nimport type { ExtractCraftGenExceptions } from './craft-gen';\nimport { resourceById, ResourceByIdRef } from './resource-by-id';\nimport { ReadonlySource } from './util/source.type';\nimport {\n CraftResourceStatus,\n toCraftStatus,\n} from './util/craft-resource-status';\nimport { MergeObjects } from './util/util.type';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport {\n methodParamsWrapperEqual,\n unwrapMethodParams,\n wrapMethodParams,\n} from './util/method-trigger-nonce';\nimport { craftResource } from './craft-resource';\nimport { preservedResource } from './preserved-resource';\nimport {\n AnyCraftException,\n ExtractCraftException,\n InsertMetaInCraftExceptionIfExists,\n StripCraftException,\n isCraftException,\n} from './craft-exception';\nimport {\n createResourceExceptionsRuntime,\n enrichResourceException,\n} from './resource-exception';\nimport {\n createSchemaValidationRuntime,\n type CraftSchema,\n type SchemaValidationPolicy,\n type SchemaParseExceptions,\n type SchemaInput,\n type SchemaOutput,\n useSchemaValidationPolicy,\n} from './schema-validation';\nimport { CORRELATION_ID_SERVICE } from './correlation-id';\nimport {\n createNamedPrimitiveGen,\n type CraftPrimitiveGen,\n type NamedCraftPrimitiveGen,\n} from './craft-primitive-gen';\nimport {\n APP_SNAPSHOT_REGISTRY,\n INSERTION_SNAPSHOT_REGISTRY,\n InsertionSnapshotRegistry,\n TAKE_APP_SNAPSHOT,\n triggerAndCollectInsertions,\n} from './take-app-snapshot';\nimport type {\n BrandedServiceProvider,\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYieldedAndValues,\n} from './craft-service';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport { injectFnWrapper } from './fn-wrapper';\nimport { ɵprovidePrimitiveMethodRuntimeContext } from './primitive-method-runtime-context';\nimport {\n ɵcreatePrimitiveResourceByIdRuntimeContext,\n ɵcreatePrimitiveResourceRuntimeContext,\n ɵobservePrimitiveResourceRuntimeContext,\n} from './primitive-resource-runtime-context';\nimport {\n createYieldableInsertionMethod,\n isNonYieldableInsertionMethod,\n yieldableInvocation,\n} from './yieldable';\nimport type { YieldableInvocation } from './yieldable';\nimport type {\n BrandReactiveProperties,\n YieldableInsertionMethods,\n} from './yieldable';\nimport {\n createYieldableReactiveFacade,\n deepYieldable,\n hasDeepYieldableInsertion,\n isYieldableReactiveValue,\n nameInsertedReactiveValue,\n type YieldableReactiveProperties,\n type DeepYieldableReactiveValue,\n} from './reactive-read';\nimport { craftUse } from './craft-use';\n\ntype MutationConfigProviderNames<Providers> =\n Providers extends readonly (infer P)[]\n ? P extends BrandedServiceProvider<infer Name, any, any>\n ? Name\n : never\n : never;\n\ntype SatisfyDependencies<Deps, SatisfiedNames extends string> = {\n [K in keyof Deps as K extends SatisfiedNames ? never : K]: Deps[K];\n};\n\ntype MutationTrackedDependencies<\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n InsertionsYielded = never,\n Providers = never,\n Insertions = never,\n> = [MutationConfigProviderNames<Providers>] extends [never]\n ? ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >\n : SatisfyDependencies<\n ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >,\n MutationConfigProviderNames<Providers>\n >;\n\ntype MutationDependenciesMetadata<Dependencies> = [keyof Dependencies] extends [\n never,\n]\n ? {}\n : {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;\n };\n\nconst MUTATION_INVALID_YIELD_ERROR_MESSAGE =\n 'mutation generators can only yield craftService dependencies or exposed dependency helpers.';\nconst MUTATION_APP_START_ERROR_MESSAGE =\n 'mutation generators do not support onAppStart(...).';\n\ntype MutationConfig<\n ResourceState,\n Params,\n ParamsArgs,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n> = Omit<ResourceOptions<NoInfer<ResourceState>, Params>, 'params' | 'loader'> &\n (\n | {\n /**\n * Used to generate a method in the store, when called will trigger the resource loader/stream.\n *\n * ! It required One parameter at least to be able to generate the method (otherwise it will think it is bind to a source, see below).\n *\n * Only support one parameter which can be an object to pass multiple parameters.\n *\n * It also accepts a ReadonlySource<SourceParams> to connect the mutation params to an external signal source.\n */\n method:\n | GeneratorCompatibleFactory<\n (args: ParamsArgs) => Params,\n MethodYielded\n >\n | ReadonlySource<SourceParams>;\n fromResourceById?: never;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n stream?: never;\n }\n | {\n /**\n * Used to generate a method in the store, when called will trigger the resource loader/stream.\n *\n * ! It required One parameter at least to be able to generate the method (otherwise it will think it is bind to a source, see below).\n *\n * Only support one parameter which can be an object to pass multiple parameters.\n *\n * It also accepts a ReadonlySource<SourceParams> to connect the mutation params to an external signal source.\n */\n method:\n | GeneratorCompatibleFactory<\n (args: ParamsArgs) => Params,\n MethodYielded\n >\n | ReadonlySource<SourceParams>;\n loader?: never;\n fromResourceById?: never;\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<\n ResourceState,\n ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >\n >,\n StreamYielded\n >;\n }\n | {\n /**\n * Use it, when you need to bind a ResourceByIdRef to another ResourceByIdRef.\n * It will enforce the fromObject keys syncing when the fromObject resource change.\n */\n fromResourceById: ResourceByIdRef<\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >;\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<\n (entity: ResourceRef<NoInfer<FromObjectState>>) => Params,\n ParamsYielded\n >;\n loader?: never;\n method?: never;\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<\n ResourceState,\n ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >\n >,\n StreamYielded\n >;\n }\n | {\n /**\n * Use it, when you need to bind a ResourceByIdRef to another ResourceByIdRef.\n * It will enforce the fromObject keys syncing when the fromObject resource change.\n */\n fromResourceById: ResourceByIdRef<\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >;\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<\n (\n entity: CraftResourceRef<\n NoInfer<FromObjectState>,\n NoInfer<FromObjectResourceParams>\n >,\n ) => Params,\n ParamsYielded\n >;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n stream?: never;\n }\n | {\n fromResourceById?: never;\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<\n (entity: ResourceRef<NoInfer<FromObjectState>>) => Params,\n ParamsYielded\n >;\n loader?: never;\n method?: never;\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<\n ResourceState,\n ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >\n >,\n StreamYielded\n >;\n }\n | {\n /**\n * Use it, when you need to bind a ResourceByIdRef to another ResourceByIdRef.\n * It will enforce the fromObject keys syncing when the fromObject resource change.\n */\n fromResourceById?: never;\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<() => Params, ParamsYielded>;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n stream?: never;\n }\n ) & {\n methodSchema?: CraftSchema;\n paramsSchema?: CraftSchema;\n loaderSchema?: CraftSchema;\n schemaValidationPolicy?: SchemaValidationPolicy;\n /** Keep the last resolved value visible while a new operation is loading. */\n preservePreviousValue?: () => boolean;\n };\n\ntype HasDefinedException<\n MutationException extends ResourceExceptionConstraints,\n> = [MutationException['params']] extends [never]\n ? [MutationException['loader']] extends [never]\n ? false\n : true\n : true;\n\nexport type ResourceLikeMutationExceptions<\n MutationException extends ResourceExceptionConstraints,\n GroupIdentifier = unknown,\n> =\n HasDefinedException<MutationException> extends true\n ? {\n hasException: Signal<HasDefinedException<MutationException>>;\n exception: Signal<\n | InsertMetaInCraftExceptionIfExists<\n MutationException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n MutationException['loader'],\n 'loader',\n GroupIdentifier\n >\n | undefined\n >;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n MutationException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n MutationException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n MutationException['params'],\n 'params',\n unknown\n >;\n loader?: InsertMetaInCraftExceptionIfExists<\n MutationException['loader'],\n 'loader',\n GroupIdentifier\n >;\n }> &\n (MutationException extends { parse: infer Parse }\n ? { parse: Parse }\n : {});\n }\n : {};\n\nexport type ResourceByIdLikeMutationExceptions<\n MutationException extends ResourceExceptionConstraints,\n GroupIdentifier extends string,\n> = {\n hasException: Signal<boolean>;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n MutationException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n MutationException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n MutationException['params'],\n 'params',\n unknown\n >;\n loader: Partial<\n Record<\n GroupIdentifier,\n InsertMetaInCraftExceptionIfExists<\n MutationException['loader'],\n 'loader',\n GroupIdentifier\n >\n >\n >;\n }> &\n (MutationException extends { parse: infer Parse } ? { parse: Parse } : {});\n};\n\n/**\n * The `craftException`s a resource-like mutation may surface, read back from the\n * `exception` signal built by {@link ResourceLikeMutationExceptions} — which is\n * absent altogether when the mutation declares none.\n */\nexport type ResourceLikeMutationExceptionUnion<\n MutationException extends ResourceExceptionConstraints,\n> =\n ResourceLikeMutationExceptions<MutationException> extends {\n exception: Signal<infer Exception>;\n }\n ? Exclude<Exception, undefined>\n : never;\n\nexport type ResourceLikeMutationRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n MutationException extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = (HasSchema extends true ? { readonly hasSchema: Signal<true> } : {}) & {\n type: 'resourceLike';\n kind: 'mutation';\n} & MergeObjects<\n [\n {\n readonly resource: CraftResourceRef<\n Value,\n Params,\n Name,\n ResourceLikeMutationExceptionUnion<MutationException>\n >;\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n /**\n * The settled read: never `undefined`, never a value while an exception\n * is carried — it suspends instead, to the nearest `pendingBlock`.\n */\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeMutationExceptionUnion<MutationException>\n >;\n },\n {\n readonly resourceParamsSrc: WritableSignal<NoInfer<Params>>;\n },\n IsMethod extends true\n ? {\n mutate: (\n args: ArgParams,\n ) => YieldableInvocation<MethodYielded, Params>;\n }\n : {\n source: ReadonlySource<SourceParams>;\n },\n YieldableInsertionMethods<Insertions>,\n ResourceLikeMutationExceptions<MutationException>,\n {\n [key in `~InternalType`]: 'Used to avoid TS type erasure';\n },\n MutationDependenciesMetadata<Dependencies>,\n ]\n >;\n\nexport type ResourceByIdLikeMutationRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n GroupIdentifier,\n MutationException extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = (HasSchema extends true ? { readonly hasSchema: Signal<true> } : {}) & {\n type: 'resourceByGroupLike';\n kind: 'mutation';\n readonly resourceParamsSrc: WritableSignal<NoInfer<Params>>;\n} & {\n _resourceById: ResourceByIdRef<GroupIdentifier & string, Value, Params>;\n /**\n * Get the associated resource by id\n *\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n *\n * return the associated resource or undefined if not existing\n */\n select: (id: GroupIdentifier) =>\n | ({\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeMutationExceptionUnion<MutationException>\n >;\n } & ResourceLikeMutationExceptions<MutationException, GroupIdentifier>)\n | undefined;\n /**\n * Get the associated resource by id, creating an idle resource when it does\n * not exist yet.\n */\n selectOrCreate: (id: GroupIdentifier) => {\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeMutationExceptionUnion<MutationException>\n >;\n } & ResourceLikeMutationExceptions<MutationException, GroupIdentifier>;\n} & MergeObjects<\n [\n YieldableInsertionMethods<Insertions>,\n IsMethod extends true\n ? {\n mutate: (\n args: ArgParams,\n ) => YieldableInvocation<MethodYielded, Params>;\n }\n : {\n source: ReadonlySource<SourceParams>;\n },\n ResourceByIdRef<GroupIdentifier & string, Value, Params>,\n [GroupIdentifier] extends [string]\n ? ResourceByIdLikeMutationExceptions<MutationException, GroupIdentifier>\n : {},\n MutationDependenciesMetadata<Dependencies>,\n ]\n >;\n\nexport type MutationRef<\n Value,\n Params,\n ArgParams,\n Insertions,\n IsMethod,\n SourceParams,\n GroupIdentifier,\n MutationExceptions extends\n ResourceExceptionConstraints = ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = [unknown] extends [GroupIdentifier]\n ? ResourceLikeMutationRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n MutationExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >\n : ResourceByIdLikeMutationRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n GroupIdentifier,\n MutationExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >;\n// & {\n// // ! Otherwise TS erases the types\n// [key in `~InternalType`]: 'Used to avoid TS type erasure';\n// };\n\ntype MutationIsMethod<Config, ArgParams> = Config extends {\n method: infer Method;\n}\n ? Method extends ReadonlySource<unknown>\n ? false\n : Method extends (...args: never[]) => unknown\n ? true\n : false\n : [unknown] extends [ArgParams]\n ? false\n : true;\n\nexport type MutationOutput<\n // Unconstrained: sync loaders may resolve to null or primitives too.\n State,\n Params,\n ArgParams,\n SourceParams,\n GroupIdentifier,\n Insertions,\n MutationExceptions extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n IsMethod extends boolean | undefined = undefined,\n Name extends string = string,\n> = YieldableReactiveProperties<\n MutationRef<\n StripCraftException<State>,\n StripCraftException<Params>,\n ArgParams,\n YieldableInsertionMethods<BrandReactiveProperties<Insertions>>,\n IsMethod extends boolean\n ? IsMethod\n : [unknown] extends [ArgParams]\n ? false\n : true,\n SourceParams,\n GroupIdentifier,\n MutationExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >\n>;\n\ntype SchemaMutationConfig<\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n> = {\n methodSchema: MethodSchema;\n paramsSchema: ParamsSchema;\n loaderSchema: LoaderSchema;\n method: (args: SchemaOutput<MethodSchema>) => SchemaInput<ParamsSchema>;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n};\n\nexport function mutation<\n Name extends string,\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n>(\n name: Name,\n mutationConfig: SchemaMutationConfig<\n MethodSchema,\n ParamsSchema,\n LoaderSchema\n >,\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n SchemaOutput<LoaderSchema>,\n SchemaOutput<ParamsSchema>,\n SchemaInput<MethodSchema>,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n undefined,\n Name\n >\n>;\n\nexport function mutation<\n Name extends string,\n ParamsSchema extends CraftSchema,\n ParamsState,\n>(\n name: Name,\n mutationConfig: {\n paramsSchema: ParamsSchema;\n params: () => SchemaInput<ParamsSchema>;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<ParamsState> | ParamsState;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n ParamsState,\n SchemaOutput<ParamsSchema>,\n unknown,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n undefined,\n Name\n >\n>;\n\nexport function mutation<\n Name extends string,\n LoaderSchema extends CraftSchema,\n LoaderParams,\n>(\n name: Name,\n mutationConfig: {\n loaderSchema: LoaderSchema;\n params: () => LoaderParams;\n loader: (\n param: ResourceLoaderParams<LoaderParams>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n SchemaOutput<LoaderSchema>,\n LoaderParams,\n unknown,\n LoaderParams,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n undefined,\n Name\n >\n>;\n\nexport function mutation<\n Name extends string,\n MethodSchema extends CraftSchema,\n Params,\n State,\n>(\n name: Name,\n mutationConfig: {\n methodSchema: MethodSchema;\n method: (args: SchemaOutput<MethodSchema>) => Params;\n loader: (param: ResourceLoaderParams<Params>) => Promise<State> | State;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n State,\n Params,\n SchemaInput<MethodSchema>,\n Params,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n undefined,\n Name\n >\n>;\n\nexport function mutation<\n Name extends string,\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends ResourceExceptionConstraints = {\n params: ExtractCraftException<MutationParams>;\n loader:\n | ExtractCraftException<MutationState>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n mutationConfig: MutationConfig<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n StripCraftException<MutationState>,\n StripCraftException<MutationParams>,\n MutationArgsParams,\n StripCraftException<MutationParams>,\n GroupIdentifier,\n {},\n Exceptions,\n MutationTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n never,\n Providers\n >,\n false,\n MethodYielded,\n MutationIsMethod<Config, MutationArgsParams>,\n Name\n >\n>;\nexport function mutation<\n Name extends string,\n MutationState extends object | undefined,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n Insertion1,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Insertion1Yielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends ResourceExceptionConstraints = {\n params: ExtractCraftException<MutationParams>;\n loader:\n | ExtractCraftException<MutationState>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n mutationConfig: MutationConfig<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n insertion1: InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<StripCraftException<MutationState>>,\n NoInfer<StripCraftException<MutationParams>>,\n NoInfer<Exceptions>,\n Insertion1,\n {},\n Insertion1Yielded,\n Name\n >,\n): NamedCraftPrimitiveGen<\n Name,\n MutationOutput<\n StripCraftException<MutationState>,\n StripCraftException<MutationParams>,\n MutationArgsParams,\n StripCraftException<MutationParams>,\n GroupIdentifier,\n Insertion1,\n Exceptions,\n MutationTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n Insertion1Yielded,\n Providers,\n Insertion1\n >,\n false,\n MethodYielded,\n MutationIsMethod<Config, MutationArgsParams>,\n Name\n >\n>;\n\n/**\n * Creates a reactive mutation manager that handles asynchronous operations with state tracking.\n *\n * This function manages mutation state by:\n * - Executing asynchronous operations (loader or stream) when triggered\n * - Tracking operation status (idle, loading, resolved, exception)\n * - Providing reactive signals for value, status, exceptions, and loading state\n * - Supporting both method-based triggers and source-based automatic execution\n * - Optionally enabling parallel mutation execution by grouping instances with an identifier\n *\n * @remarks\n * **Important:** This function must be called within an injection context.\n *\n * **Mutation Modes:**\n * - **Method-based:** Define a `method` function that returns params. Call `mutate()` to trigger the operation.\n * - **Source-based:** Use `afterRecomputation()` to bind to a source signal. The mutation executes automatically when the source changes.\n * - **Resource-based:** Bind to another `ResourceByIdRef` using `fromResourceById` to sync operations.\n *\n * **With Identifier:**\n * When an `identifier` function is provided, mutations are grouped by ID. Use `select(id)` to access individual mutation instances.\n * Use `selectOrCreate(id)` to access an instance, creating it when it does not exist yet.\n *\n * @param name - The mutation name. Used to key the returned record\n * (`const updateUser = yield* mutation('updateUser', config)`) and as the\n * injector host tag (`mutation:updateUser`), so the mutation is precisely\n * locatable in snapshots and logs.\n * @param config - Configuration object containing:\n * - `method`: Function that takes args and returns params, or a `ReadonlySource` for automatic execution\n * - `loader`: Async function that performs the mutation and returns a Promise of the result\n * - `stream` (optional): Async function that returns a signal for streaming results\n * - `identifier` (optional): Function to derive a unique ID from params for grouping mutations\n * - `fromResourceById` (optional): Bind to another ResourceByIdRef for synced operations\n * - `params` (optional): Function to derive params from a resource entity\n * - `preservePreviousValue` (optional): Function returning boolean to keep the previous value while loading (default: false)\n * - Additional ResourceOptions like `equal`, `injector`, etc.\n * @param insertion1 - Optional single insertion factory to add custom methods, computed values or side effects to the mutation.\n * The insertion receives a context with resource signals (`state`, `exceptions`, `hasException`, `resource`) and mutators (`set`, `update`, `patch`).\n * To attach several insertions, compose them with `insertMutationPipe`:\n * `mutation('name', config, insertMutationPipe(insertion1, insertion2))` —\n * each member then also sees the previous members' outputs on `context.insertions`.\n * Methods bound to a source using `afterRecomputation` (effectRef-like) are not exposed in the output.\n * @returns A single-use primitive generator resolving to a mutation reference\n * object with:\n * - `value`: Signal containing the mutation result (undefined if not yet executed)\n * - `status`: Signal with the craft status ('idle' | 'loading' | 'reloading' | 'resolved' | 'local' | 'exception')\n * - `exception`: Signal with the primary `craftException` (or undefined)\n * - `exceptions`: Signal with the captured exceptions (`list` / `params` / `loader`)\n * - `hasException()`: Signal indicating whether an exception is captured\n * - `isLoading`: Signal indicating if the mutation is currently executing\n * - `hasValue()`: Method to check if a value is available\n * - `mutate(args)`: Method to trigger the mutation (only for method-based mutations)\n * - `source`: The connected source (only for source-based mutations)\n * - `select(id)`: Method to access a specific mutation instance by ID (only when identifier is provided)\n * - `selectOrCreate(id)`: Method to access or create a specific mutation instance (only when identifier is provided)\n * - Custom methods from insertions (excluding methods bound to sources)\n *\n * Consume it with `yield*` inside a generator host (craftService factory,\n * craftGen, …) or with `craftUse(...)` elsewhere (typically a component field).\n *\n * @example\n * Basic method-based mutation\n * ```ts\n * const updateUser = craftUse(mutation('updateUser', {\n * method: (userId: string) => ({ userId }),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}`, { method: 'PATCH' });\n * return response.json();\n * },\n * }));\n *\n * // Check status\n * console.log(updateUser.status()); // 'idle'\n * console.log(updateUser.isLoading()); // false\n *\n * // Trigger mutation\n * updateUser.mutate('user-123');\n * console.log(updateUser.status()); // 'loading'\n *\n * // After completion\n * console.log(updateUser.value()); // { id: 'user-123', name: '...' }\n * console.log(updateUser.status()); // 'resolved'\n * ```\n *\n * @example\n * Source-based automatic mutation\n * ```ts\n * todo change example for mutation\n * const updateUserSource = source<{ userId: string, email: string }>();\n *\n * const updateUser = craftUse(mutation('updateUser', {\n * method: afterRecomputation(updateUserSource, (params) => params),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}`, { method: 'PATCH' });\n * return response.json();\n * },\n * }));\n *\n * // Mutation executes automatically when source changes\n * updateUserSource.set({ userId: 'user-123', email: 'newemail@example.com' });\n * console.log(updateUser.status()); // 'loading'\n * ```\n *\n * @example\n * Business exceptions with `craftException`\n * ```ts\n * import { craftException, mutation } from '@craft-ts/core';\n *\n * const updateUser = craftUse(mutation('updateUser', {\n * method: (value: string) =>\n * value.length < 3\n * ? craftException(\n * { code: 'SEARCH_TERM_TOO_SHORT' },\n * { min: 3, received: value.length },\n * )\n * : value,\n * loader: async ({ params }) =>\n * params === 'blocked'\n * ? craftException(\n * { code: 'USER_ACCESS_FORBIDDEN' },\n * { id: params },\n * )\n * : { id: params, updated: true },\n * }));\n *\n * updateUser.mutate('ab');\n * console.log(updateUser.hasException()); // true\n * console.log(updateUser.exceptions().params?.SEARCH_TERM_TOO_SHORT);\n *\n * updateUser.mutate('blocked');\n * console.log(updateUser.exceptions().loader?.USER_ACCESS_FORBIDDEN);\n * ```\n *\n * @example\n * Mutation with identifier for grouping\n * ```ts\n * const deleteItem = craftUse(mutation('deleteItem', {\n * method: (itemId: string) => ({ itemId }),\n * identifier: (params) => params.itemId,\n * loader: async ({ params }) => {\n * await fetch(`/api/items/${params.itemId}`, { method: 'DELETE' });\n * return { deleted: true };\n * },\n * }));\n *\n * // Trigger mutations for different items\n * deleteItem.mutate('item-1');\n * deleteItem.mutate('item-2');\n *\n * // Access individual mutation states\n * const item1Mutation = deleteItem.select('item-1');\n * console.log(item1Mutation?.status()); // 'loading' or 'resolved'\n * console.log(item1Mutation?.value()); // { deleted: true }\n * ```\n *\n * @example\n * With custom methods via insertions\n * ```ts\n * const createPost = craftUse(mutation(\n * 'createPost',\n * {\n * method: (data: { title: string; content: string }) => data,\n * loader: async ({ params }) => {\n * const response = await fetch('/api/posts', {\n * method: 'POST',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * },\n * ({ value, isLoading }) => ({\n * isSuccess: computed(() => value() !== undefined && !isLoading()),\n * reset: () => {\n * // Custom reset logic\n * },\n * })\n * ));\n *\n * createPost.mutate({ title: 'Hello', content: 'World' });\n * console.log(createPost.isSuccess()); // Custom computed from insertion\n * ```\n *\n * @example\n * Binding to another ResourceByIdRef\n * ```ts\n * // First, create a source mutation by ID\n * const fetchUsers = craftUse(mutation('fetchUsers', {\n * method: (userId: string) => ({ userId }),\n * identifier: (params) => params.userId,\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}`);\n * return response.json();\n * },\n * }));\n *\n * // Then create a derived mutation that processes the results\n * const processedUsers = craftUse(mutation('processedUsers', {\n * fromResourceById: fetchUsers,\n * params: ({ value, status }) => {\n * // Only process when the source is resolved\n * return status() === 'resolved' ? value() : undefined;\n * },\n * identifier: (params) => params.userId,\n * loader: async ({ params }) => {\n * // Process the user data\n * return {\n * ...params,\n * processed: true,\n * timestamp: Date.now(),\n * };\n * },\n * }));\n *\n * // Trigger the source mutation\n * fetchUsers.mutate('user-123');\n *\n * // The derived mutation automatically executes when fetchUsers resolves\n * // Access the processed result\n * const processed = processedUsers.select('user-123');\n * console.log(processed?.value()); // { userId: 'user-123', processed: true, ... }\n * ```\n */\n\nexport function mutation(\n name: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mutationConfig: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: any[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n return createNamedPrimitiveGen(\n name,\n createMutationRef(name, mutationConfig, ...insertions),\n );\n}\n\nfunction createMutationRef<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends ResourceExceptionConstraints = {\n params: ExtractCraftException<MutationParams>;\n loader:\n | ExtractCraftException<MutationState>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: string,\n mutationConfig: MutationConfig<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > & { providers?: readonly Provider[] },\n ...insertions: any[]\n): MutationOutput<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n {},\n Exceptions,\n {},\n false,\n MethodYielded,\n MutationIsMethod<Config, MutationArgsParams>\n> {\n const insertionSnapshotRegistry = new InsertionSnapshotRegistry();\n const mutationExtraProviders = [\n {\n provide: INSERTION_SNAPSHOT_REGISTRY,\n useValue: insertionSnapshotRegistry,\n },\n ...(mutationConfig.providers ?? []),\n ];\n\n let injector: Injector | undefined;\n if (\n [\n 'params' in mutationConfig ? mutationConfig.params : undefined,\n 'method' in mutationConfig ? mutationConfig.method : undefined,\n 'loader' in mutationConfig ? mutationConfig.loader : undefined,\n 'stream' in mutationConfig ? mutationConfig.stream : undefined,\n ...insertions,\n ].some((value) => isGeneratorFunction(value))\n ) {\n assertInInjectionContext(mutation);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `mutation:${name}`,\n mutationExtraProviders,\n );\n }\n\n const getInjector = () => {\n if (!injector) {\n assertInInjectionContext(mutation);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `mutation:${name}`,\n mutationExtraProviders,\n );\n }\n\n return injector;\n };\n\n const mutationResourceParamsFnSignal =\n //@ts-expect-error if no params, it will create a signal\n mutationConfig.params ?? signal<MutationParams | undefined>(undefined);\n\n // Incremented on every explicit mutate() so the resource request always changes,\n // forcing the loader to re-run even when the method returns the same value or\n // `undefined`. Starts at 0 = \"never called\" to preserve idle.\n const methodTriggerSeq = signal(0);\n\n const isConnectedToAResourceById = 'fromResourceById' in mutationConfig;\n\n const isConnectedToSource =\n 'method' in mutationConfig && isSignal(mutationConfig.method);\n const hasMethodFn =\n 'method' in mutationConfig &&\n typeof mutationConfig.method === 'function' &&\n !isSignal(mutationConfig.method);\n const isUsingIdentifier = 'identifier' in mutationConfig;\n\n const methodParamsException = signal<AnyCraftException | undefined>(\n undefined,\n );\n const schemaParseExceptions = signal<Record<string, AnyCraftException>>({});\n const configuredSchemas = {\n method: mutationConfig.methodSchema as CraftSchema | undefined,\n params: mutationConfig.paramsSchema as CraftSchema | undefined,\n loader: mutationConfig.loaderSchema as CraftSchema | undefined,\n };\n const hasConfiguredSchema = Object.values(configuredSchemas).some(Boolean);\n const setSchemaException = (\n stage: string,\n exception: AnyCraftException | undefined,\n ) => {\n untracked(() => {\n schemaParseExceptions.update((current) => {\n const next = { ...current };\n if (exception) next[stage] = exception;\n else delete next[stage];\n return next;\n });\n });\n };\n const schemaPolicy = useSchemaValidationPolicy(\n getInjector(),\n mutationConfig.schemaValidationPolicy as SchemaValidationPolicy | undefined,\n );\n const schemaValidation = {\n method: createSchemaValidationRuntime({\n schema: configuredSchemas.method,\n primitive: 'mutation',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n params: createSchemaValidationRuntime({\n schema: configuredSchemas.params,\n primitive: 'mutation',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n loader: createSchemaValidationRuntime({\n schema: configuredSchemas.loader,\n primitive: 'mutation',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n };\n const schemaParse = computed(() => {\n const values = schemaParseExceptions();\n return {\n ...(values['method'] ? { method: values['method'] } : {}),\n ...(values['params'] ? { params: values['params'] } : {}),\n ...(values['loader'] ? { loader: values['loader'] } : {}),\n };\n });\n\n const getIdentifierFromParams = (params: unknown): string | undefined => {\n if (!isUsingIdentifier || !('identifier' in mutationConfig)) {\n return undefined;\n }\n\n if (params === undefined || params === null) {\n return undefined;\n }\n\n return mutationConfig.identifier?.(params as any) as string | undefined;\n };\n\n const sanitizeParamsResult = (value: MutationParams | undefined) => {\n if (isCraftException(value)) {\n return undefined;\n }\n\n return value;\n };\n\n const reactiveParamsException = computed(() => {\n if (hasMethodFn) {\n return undefined;\n }\n const schemaParamsException = schemaParseExceptions()['params'];\n if (schemaParamsException) {\n return enrichResourceException(schemaParamsException, {\n scope: 'params',\n });\n }\n\n if (\n isConnectedToSource &&\n 'method' in mutationConfig &&\n mutationConfig.method\n ) {\n const sourceValue = (\n mutationConfig.method as unknown as Signal<MutationParams | undefined>\n )();\n return isCraftException(sourceValue)\n ? enrichResourceException(sourceValue, { scope: 'params' })\n : undefined;\n }\n\n if (\n 'params' in mutationConfig &&\n !('fromResourceById' in mutationConfig && mutationConfig.fromResourceById)\n ) {\n const paramsValue = executeGeneratorCompatibleFactory({\n factory: mutationConfig.params as () => MutationParams,\n thisArg: undefined,\n getInjector,\n args: [],\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n });\n return isCraftException(paramsValue)\n ? enrichResourceException(paramsValue, { scope: 'params' })\n : undefined;\n }\n\n return undefined;\n });\n\n const paramsException = computed(() => {\n return hasMethodFn ? methodParamsException() : reactiveParamsException();\n });\n\n const {\n setLoaderException,\n exceptions,\n hasException,\n createSelectExceptions,\n createSelectHasException,\n } = createResourceExceptionsRuntime({\n isUsingIdentifier,\n paramsException,\n });\n\n const wrappedParamsFn =\n 'params' in mutationConfig\n ? (((...args: unknown[]) => {\n const value = executeGeneratorCompatibleFactory({\n factory: mutationConfig.params as (\n ...args: unknown[]\n ) => MutationParams,\n thisArg: undefined,\n getInjector,\n args,\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n }) as MutationParams;\n if (!configuredSchemas.params || isCraftException(value)) {\n return sanitizeParamsResult(value);\n }\n const parsed = schemaValidation.params.parseSync<MutationParams>(\n value,\n 'params',\n 'params',\n );\n return parsed.accepted ? parsed.value : undefined;\n }) as typeof mutationConfig.params)\n : undefined;\n\n const wrappedSourceParams =\n isConnectedToSource && 'method' in mutationConfig && mutationConfig.method\n ? ((() => {\n const value = sanitizeParamsResult(\n (\n mutationConfig.method as unknown as Signal<\n MutationParams | undefined\n >\n )(),\n );\n if (!configuredSchemas.params || isCraftException(value))\n return value;\n const parsed = schemaValidation.params.parseSync<MutationParams>(\n value,\n 'params',\n 'source',\n );\n return parsed.accepted ? parsed.value : undefined;\n }) as Signal<MutationParams | undefined>)\n : undefined;\n\n const wrappedLoader =\n 'loader' in mutationConfig && mutationConfig.loader\n ? ((async (param: ResourceLoaderParams<any>) => {\n const injector = getInjector();\n const correlationSvc = injector.get(CORRELATION_ID_SERVICE, null);\n const operationId = correlationSvc?.lastCorrelationId() ?? null;\n if (operationId) correlationSvc?.startOperation(operationId);\n\n // Unwrap the method-trigger nonce so the user loader and identifier logic\n // only ever see plain params (no-op for source / params-fn / byId modes).\n const rawParams = unwrapMethodParams(param.params);\n const loaderParam = { ...param, params: rawParams };\n\n try {\n const step = await executeGeneratorCompatibleFactoryAsync({\n factory: mutationConfig.loader as (\n param: ResourceLoaderParams<any>,\n ) => Promise<any>,\n thisArg: undefined,\n getInjector,\n args: [loaderParam],\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n appStartNotSupportedErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n // A retriggered mutation keeps its already-started operation\n // valid; unlike query, do not bind temporal awaits to the\n // resource's superseded-load abort signal.\n });\n\n if (step.kind === 'shortCircuit') {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(step.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n\n const result = step.value;\n\n if (isCraftException(result)) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(result, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n\n let validatedResult = result;\n if (configuredSchemas.loader) {\n const parsed = await schemaValidation.loader.parseAsync<any>(\n result,\n 'loader',\n 'loader',\n getIdentifierFromParams(rawParams),\n );\n if (!parsed.accepted) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(parsed.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n validatedResult = parsed.value;\n }\n\n const successId = getIdentifierFromParams(rawParams);\n setLoaderException(undefined, successId);\n return validatedResult;\n } catch (error) {\n if (!isCraftException(error)) {\n injector.get(TAKE_APP_SNAPSHOT, null)?.();\n }\n throw error;\n } finally {\n if (operationId) correlationSvc?.endOperation(operationId);\n }\n }) as typeof mutationConfig.loader)\n : undefined;\n\n const wrappedStream =\n 'stream' in mutationConfig && mutationConfig.stream\n ? (((...args: unknown[]) => {\n const result = executeGeneratorCompatibleFactory({\n factory: mutationConfig.stream as (...args: unknown[]) => unknown,\n thisArg: undefined,\n getInjector,\n args,\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n });\n const wrapStreamSignal = (streamSignal: unknown) => {\n if (!configuredSchemas.loader || !isSignal(streamSignal)) {\n return streamSignal;\n }\n let lastValue: unknown;\n return computed(() => {\n const streamItem = (streamSignal as Signal<unknown>)();\n if (\n streamItem &&\n typeof streamItem === 'object' &&\n 'error' in streamItem\n ) {\n return streamItem;\n }\n const rawValue =\n streamItem &&\n typeof streamItem === 'object' &&\n 'value' in streamItem\n ? streamItem.value\n : streamItem;\n const parsed = schemaValidation.loader.parseSync<unknown>(\n rawValue,\n 'loader',\n 'stream',\n );\n if (!parsed.accepted) {\n return lastValue === undefined\n ? undefined\n : { value: lastValue };\n }\n lastValue = parsed.value;\n return { value: lastValue };\n });\n };\n if (\n result &&\n typeof (result as Promise<unknown>).then === 'function'\n ) {\n return Promise.resolve(result).then(wrapStreamSignal);\n }\n return wrapStreamSignal(result);\n }) as typeof mutationConfig.stream)\n : undefined;\n\n const resourceParamsSrc = isConnectedToSource\n ? (wrappedSourceParams as typeof mutationConfig.method)\n : (wrappedParamsFn ?? mutationResourceParamsFnSignal);\n\n // Method-based, non-grouped: feed the resource a nonce-tagged request so every\n // explicit mutate() re-runs the loader (even for identical / `undefined` params),\n // while `resourceParamsSrc` stays the raw signal for all public consumers.\n const methodTaggedParams = computed(() => {\n const seq = methodTriggerSeq();\n if (seq === 0) return undefined; // idle until the first call\n return wrapMethodParams(mutationResourceParamsFnSignal(), seq);\n });\n\n const mutationResourceOptions = {\n ...mutationConfig,\n params: hasMethodFn\n ? (methodTaggedParams as unknown as typeof resourceParamsSrc)\n : resourceParamsSrc,\n equal: hasMethodFn\n ? methodParamsWrapperEqual(\n (mutationConfig as { equal?: (a: any, b: any) => boolean }).equal,\n )\n : (mutationConfig as { equal?: (a: any, b: any) => boolean }).equal,\n loader: wrappedLoader,\n stream: wrappedStream,\n } as ResourceOptions<any, any>;\n\n const resourceTarget = isUsingIdentifier\n ? resourceById<\n MutationState,\n MutationParams,\n GroupIdentifier & string,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >({\n ...mutationConfig,\n params: resourceParamsSrc,\n loader: wrappedLoader,\n stream: wrappedStream,\n identifier: mutationConfig.identifier,\n } as any)\n : mutationConfig.preservePreviousValue?.()\n ? preservedResource<MutationState, MutationParams>(\n mutationResourceOptions,\n )\n : craftResource<MutationState, MutationParams>(mutationResourceOptions);\n\n if (configuredSchemas.loader) {\n const target = resourceTarget as any;\n const originalResourceSet = target.set.bind(target);\n const originalResourceUpdate = target.update.bind(target);\n target.set = (value: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n value,\n 'loader',\n 'set',\n );\n if (parsed.accepted) originalResourceSet(parsed.value);\n };\n target.update = (updateFn: (current: unknown) => unknown) =>\n originalResourceUpdate((current: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n updateFn(current),\n 'loader',\n 'update',\n );\n return parsed.accepted ? parsed.value : current;\n });\n }\n\n runInInjectionContext(getInjector(), () =>\n ɵobservePrimitiveResourceRuntimeContext(\n isUsingIdentifier\n ? ɵcreatePrimitiveResourceByIdRuntimeContext(\n 'mutation',\n resourceTarget as any,\n )\n : ɵcreatePrimitiveResourceRuntimeContext(\n 'mutation',\n resourceTarget as any,\n ),\n name,\n ),\n );\n\n // Capture the raw Angular status BEFORE `Object.assign` overrides\n // `resourceTarget.status` with the craft computed (avoids a computation cycle).\n const rawResourceStatus = (\n resourceTarget as unknown as ResourceRef<MutationState>\n ).status;\n const publicExceptions = hasConfiguredSchema\n ? computed(() => ({ ...exceptions(), parse: schemaParse() }))\n : exceptions;\n\n const output = Object.assign(\n resourceTarget,\n // byId is used to helps TS to correctly infer the resourceByGroup\n isUsingIdentifier\n ? {\n /**\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n */\n _resourceById: resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n MutationState,\n MutationParams\n >,\n select: (id: GroupIdentifier) => {\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n\n return computed(() => {\n const list = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n MutationState,\n MutationParams\n >\n )();\n //@ts-expect-error GroupIdentifier & string is not recognized correctly\n const resource = list[id];\n if (!resource) {\n return undefined;\n }\n\n const rawSelectStatus = resource.status;\n const result = Object.assign(resource, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n })();\n },\n selectOrCreate: (id: GroupIdentifier) => {\n const selected = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n MutationState,\n MutationParams\n >\n ).addById(id as GroupIdentifier & string);\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n const rawSelectStatus = selected.status;\n const result = Object.assign(selected, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n },\n }\n : {},\n {\n type: isUsingIdentifier ? 'resourceByGroupLike' : 'resourceLike',\n kind: 'mutation' as const,\n ...(isUsingIdentifier\n ? {}\n : {\n status: computed(() =>\n toCraftStatus(rawResourceStatus(), hasException()),\n ),\n exception: computed(() => exceptions().list[0]),\n }),\n hasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: publicExceptions,\n resourceParamsSrc: resourceParamsSrc as WritableSignal<\n MutationParams | undefined\n >,\n mutate:\n isConnectedToAResourceById ||\n ('method' in mutationConfig && isSignal(mutationConfig.method))\n ? undefined\n : (arg: MutationArgsParams) => {\n let methodArg: unknown = arg;\n if (configuredSchemas.method) {\n const parsedMethod = schemaValidation.method.parseSync<unknown>(\n arg,\n 'method',\n 'method',\n );\n if (!parsedMethod.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedMethod.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<MethodYielded, MutationParams>(\n parsedMethod.exception as MutationParams,\n );\n }\n methodArg = parsedMethod.value;\n }\n const result =\n 'method' in mutationConfig\n ? executeGeneratorCompatibleFactory({\n factory: mutationConfig.method as (\n args: MutationArgsParams,\n ) => MutationParams,\n thisArg: undefined,\n getInjector,\n args: [methodArg as MutationArgsParams],\n invalidYieldErrorMessage:\n MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n })\n : undefined;\n\n if (isCraftException(result)) {\n methodParamsException.set(\n enrichResourceException(result, { scope: 'params' }),\n );\n return yieldableInvocation<MethodYielded, MutationParams>(\n result as MutationParams,\n );\n }\n\n let paramsResult = result as MutationParams;\n if (configuredSchemas.params) {\n const parsedParams =\n schemaValidation.params.parseSync<MutationParams>(\n result,\n 'params',\n 'method',\n );\n if (!parsedParams.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedParams.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<MethodYielded, MutationParams>(\n parsedParams.exception as MutationParams,\n );\n }\n paramsResult = parsedParams.value;\n }\n\n if (methodParamsException()) {\n methodParamsException.set(undefined);\n }\n // The nonce and the params it tags are ONE request. Published\n // separately they are two: the resource would see the new nonce\n // while the params signal still holds the previous call's value\n // (`undefined` on the first one) and run the loader on it before\n // running it again on the real params.\n batch(() => {\n methodTriggerSeq.update((n) => n + 1);\n // set before calling addById below, which reads the params\n mutationResourceParamsFnSignal.set(\n paramsResult as MutationParams,\n );\n });\n if (isUsingIdentifier) {\n const id = mutationConfig.identifier?.(paramsResult as any);\n (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n MutationState,\n MutationParams\n >\n ).addById(id as GroupIdentifier & string);\n }\n return yieldableInvocation<MethodYielded, MutationParams>(\n paramsResult,\n );\n },\n },\n ) as unknown as MutationOutput<\n MutationState,\n MutationParams,\n MutationArgsParams,\n SourceParams,\n GroupIdentifier,\n {},\n Exceptions,\n {},\n false,\n MethodYielded,\n MutationIsMethod<Config, MutationArgsParams>\n >;\n\n if (!isUsingIdentifier) {\n attachCraftSettledValue(name, output);\n }\n\n const publicMutationContext = createYieldableReactiveFacade(output, {\n name,\n primitive: 'mutation',\n path: name,\n }) as any;\n\n const insertionSettledState = isUsingIdentifier\n ? createYieldableSettledValue(\n computed(() => {\n const params = craftUse(\n publicMutationContext.resourceParamsSrc(),\n ) as any;\n if (params == null) throw new CraftNotSettled(name);\n const id = mutationConfig.identifier?.(params);\n if (id == null) throw new CraftNotSettled(name);\n const selected = publicMutationContext.select(id);\n if (!selected) throw new CraftNotSettled(name);\n return craftUse(selected.settledValue());\n }),\n {\n primitive: 'mutation',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n )\n : createYieldableSettledValue(\n computed(() => craftUse(publicMutationContext.settledValue())),\n {\n primitive: 'mutation',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n );\n\n const insertionsResult = (\n insertions as InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<Extract<StripCraftException<MutationState>, object | undefined>>,\n NoInfer<StripCraftException<MutationParams>>,\n ResourceExceptionConstraints,\n {},\n {}\n >[]\n )?.reduce(\n (acc, insert) => {\n const rawResult = executeGeneratorCompatibleFactory({\n factory: insert as (context: unknown) => Record<string, unknown>,\n thisArg: undefined,\n getInjector,\n args: [\n {\n ...(isUsingIdentifier\n ? {\n resourceById: createYieldableReactiveFacade(resourceTarget, {\n name: 'resourceById',\n primitive: 'mutation',\n path: `${name}.resourceById`,\n }),\n identifier: mutationConfig.identifier,\n }\n : { resource: publicMutationContext }),\n resourceParamsSrc: publicMutationContext.resourceParamsSrc,\n hasException: publicMutationContext.hasException,\n exceptions: publicMutationContext.exceptions,\n insertions: acc as {},\n state: publicMutationContext.state,\n settledState: insertionSettledState,\n set: (nextState: any) =>\n yieldableInvocation(resourceTarget.set(nextState)),\n update: (updateFn: (currentState: any) => any) =>\n yieldableInvocation(resourceTarget.update(updateFn)),\n patch: (patchFn: (currentState: any) => Partial<any>) =>\n yieldableInvocation(\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n ),\n __primitiveKind: 'mutation',\n } as any,\n ],\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n });\n const wrappedResult = Object.entries(rawResult).reduce(\n (wrappedAcc, [key, value]) => {\n if (\n typeof value === 'function' &&\n !isSignal(value) &&\n !isYieldableReactiveValue(value) &&\n !isNonYieldableInsertionMethod(value)\n ) {\n const injector = getInjector();\n const methodInjector = ɵcreateHostTaggedInjector(\n injector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n 'mutation',\n {\n state: resourceTarget.state,\n set: resourceTarget.set,\n update: resourceTarget.update,\n patch: (patchFn) =>\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n wrappedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage: MUTATION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MUTATION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n MUTATION_APP_START_ERROR_MESSAGE,\n });\n } else {\n const namedValue = nameInsertedReactiveValue(\n value,\n key,\n 'mutation',\n `${name}.${key}`,\n );\n wrappedAcc[key] = createYieldableReactiveFacade(namedValue, {\n name: key,\n primitive: 'mutation',\n insertion: key,\n path: `${name}.${key}`,\n });\n }\n return wrappedAcc;\n },\n {} as Record<string, unknown>,\n );\n return { ...acc, ...wrappedResult };\n },\n {} as Record<string, unknown>,\n );\n\n Object.assign(output, insertionsResult);\n\n const snapshotRegistry = injector\n ? injector.get(APP_SNAPSHOT_REGISTRY, null)\n : (() => {\n try {\n return inject(APP_SNAPSHOT_REGISTRY, { optional: true });\n } catch {\n return null;\n }\n })();\n\n const hostTagList: readonly string[] = injector\n ? (injector.get(ɵHOST_TAG_LIST, null) ?? [])\n : (() => {\n try {\n return inject(ɵHOST_TAG_LIST, { optional: true }) ?? [];\n } catch {\n return [];\n }\n })();\n\n const destroyRefMutation = injector\n ? injector.get(DestroyRef, null)\n : (() => {\n try {\n return inject(DestroyRef, { optional: true });\n } catch {\n return null;\n }\n })();\n\n if (snapshotRegistry && destroyRefMutation) {\n snapshotRegistry.triggerSnapshot$\n .pipe(takeUntilDestroyed(destroyRefMutation))\n .subscribe(() => {\n const insertionSnapshots = triggerAndCollectInsertions(\n insertionSnapshotRegistry,\n );\n let stateSnapshot: unknown;\n try {\n if (isUsingIdentifier) {\n const byId = (resourceTarget as any)();\n stateSnapshot = {\n params: resourceParamsSrc(),\n resources: Object.entries(byId ?? {}).reduce(\n (acc, [id, res]: [string, any]) => {\n acc[id] = res?.state?.();\n return acc;\n },\n {} as Record<string, unknown>,\n ),\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n } else {\n const resourceState = (resourceTarget as any).state();\n stateSnapshot = {\n params: resourceParamsSrc(),\n ...resourceState,\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n }\n } catch (error) {\n stateSnapshot = {\n error: error instanceof Error ? error.message : String(error),\n };\n }\n snapshotRegistry.allSnapShot$.next({\n source: 'mutation',\n from: hostTagList,\n state: stateSnapshot,\n });\n });\n }\n\n if (!('resource' in output)) {\n Object.defineProperty(output, 'resource', {\n value: output,\n enumerable: false,\n configurable: true,\n });\n }\n const publicMutation = createYieldableReactiveFacade(output, {\n name,\n primitive: 'mutation',\n path: name,\n });\n return (\n hasDeepYieldableInsertion(insertions)\n ? deepYieldable(publicMutation)\n : publicMutation\n ) as typeof output;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"on$.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/on$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAU,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EACV,iCAAiC,EACjC,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAUvE,KAAK,cAAc,CAAC,UAAU,IAAI;IAChC,SAAS,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;CAClD,CAAC;AAEF,KAAK,eAAe,CAAC,YAAY,SAAS,MAAM,IAC9C,MAAM,YAAY,SAAS,KAAK,GAC5B,aAAa,GACb,aAAa,GAAG;IACd,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,EAAE,YAAY,CAAC;CACvD,CAAC;AAER,KAAK,kBAAkB,CAAC,MAAM,SAAS,gBAAgB,IACrD,gBAAgB,CAAC,MAAM,CAAC,SAAS,eAAe,CAC9C,MAAM,UAAU,EAChB,MAAM,KAAK,SAAS,MAAM,CAC3B,GACG,UAAU,GACV,KAAK,CAAC;AAEZ,KAAK,YAAY,CAAC,MAAM,SAAS,gBAAgB,IAC/C,gBAAgB,CAAC,MAAM,CAAC,SAAS,eAAe,CAC9C,MAAM,WAAW,EACjB,MAAM,KAAK,SAAS,MAAM,CAC3B,GACG,MAAM,GACN,KAAK,CAAC;AAEZ;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,IAAI,SAAS,MAAM,EAAE,OAAO,EAC1D,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GACrE,SAAS,CACR,OAAO,GACP,yBAAyB,CACvB,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CACvD,EACH,IAAI,EACJ,OAAO,CACR,CAAC;AACF,wBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,SAAS,MAAM,EACxD,MAAM,EAAE,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,KAAK,GACtC,eAAe,CAAC,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3E,wBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EACnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,KAAK,GACtC,aAAa,CAAC;AACjB,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,SAAS,gBAAgB,EACxD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,KAAK,GACtD,eAAe,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"on$.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/on$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AASvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AA8DvC,MAAM,UAAU,GAAG,CACjB,MAGoB,EACpB,QAAuC;IAKvC,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,OAAO,sBAAsB,CAC3B,MAAe,EACf,QAAqC,CACV,CAAC;IAChC,CAAC;IAED,MAAM,cAAc,GAAG,CACrB,OAAO,MAAM,KAAK,UAAU;QAC1B,CAAC,CAAC,QAAQ,CAAE,MAA0B,EAAE,CAAC;QACzC,CAAC,CAAC,MAAM,CACuB,CAAC;IAEpC,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACtC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9C,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import { DestroyRef, EventEmitter, inject } from './host/craft-compat';\nimport { craftUse } from './craft-use';\nimport type {\n ExtractServiceHelperDependencyMap,\n GetServiceOutput,\n SERVICE_HELPER_DEPENDENCIES,\n ServiceReference,\n} from './craft-service';\nimport type { HelperDependencyMap } from './craft-primitive-gen';\nimport type { ReadonlySource$ } from './source$';\nimport { SourceBranded } from './util/util';\nimport type { ServiceTrackedDepsRequest } from './craft-primitive-gen';\nimport {\n ɵactiveMachineScope,\n ɵregisterMachineSource,\n} from './craft-state-machine-runtime';\n\ntype SourceSubscription<SourceType> = {\n subscribe: (callback: (value: SourceType) => void) => { unsubscribe(): void };\n};\n\ntype ExternalSource<SourceType> = {\n subscribe: EventEmitter<SourceType>['subscribe'];\n};\n\ntype TrackedOnSource<Dependencies extends object> =\n keyof Dependencies extends never\n ? SourceBranded\n : SourceBranded & {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;\n };\n\ntype SourceHelperOutput<Helper extends ServiceReference> =\n GetServiceOutput<Helper> extends ReadonlySource$<\n infer SourceType,\n infer _Name extends string\n >\n ? SourceType\n : never;\n\ntype SourceHelper<Helper extends ServiceReference> =\n GetServiceOutput<Helper> extends ReadonlySource$<\n infer _SourceType,\n infer _Name extends string\n >\n ? Helper\n : never;\n\n/**\n * Inside a `transitionStep(...)`, `on$` is a machine registration: the callback\n * is driven through the craft runtime with its declaring step restored, so the\n * `transit(...)` attempts it yields target that step. Consume it with `yield*`\n * so the callback's dependencies join the machine's dependency graph.\n */\nexport function on$<SourceType, Name extends string, Yielded>(\n source: ReadonlySource$<SourceType, Name>,\n callback: (source: SourceType) => Generator<Yielded, unknown, unknown>,\n): Generator<\n | Yielded\n | ServiceTrackedDepsRequest<\n HelperDependencyMap<ReadonlySource$<SourceType, Name>>\n >,\n void,\n unknown\n>;\nexport function on$<State, SourceType, Name extends string>(\n source: ReadonlySource$<SourceType, Name>,\n callback: (source: SourceType) => State,\n): TrackedOnSource<HelperDependencyMap<ReadonlySource$<SourceType, Name>>>;\nexport function on$<State, SourceType>(\n source: ExternalSource<SourceType>,\n callback: (source: SourceType) => State,\n): SourceBranded;\nexport function on$<State, Helper extends ServiceReference>(\n source: SourceHelper<Helper>,\n callback: (source: SourceHelperOutput<Helper>) => State,\n): TrackedOnSource<ExtractServiceHelperDependencyMap<Helper>>;\nexport function on$<State, SourceType>(\n source:\n | SourceSubscription<SourceType>\n | ExternalSource<SourceType>\n | ServiceReference,\n callback: (source: SourceType) => State,\n // The machine overload resolves to a registration generator instead of a\n // branded source, so the implementation signature stays deliberately loose.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n if (ɵactiveMachineScope()) {\n return ɵregisterMachineSource(\n source as never,\n callback as (value: never) => unknown,\n ) as unknown as SourceBranded;\n }\n\n const resolvedSource = (\n typeof source === 'function'\n ? craftUse((source as () => Generator)())\n : source\n ) as SourceSubscription<SourceType>;\n\n const sub = resolvedSource.subscribe((value) => {\n callback(value);\n });\n\n const destroyRef = inject(DestroyRef);\n destroyRef.onDestroy(() => sub.unsubscribe());\n\n return SourceBranded;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"portable-server-function.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/portable-server-function.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"portable-server-function.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/portable-server-function.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,qCAAqC,EACrC,wBAAwB,EACxB,kBAAkB,GAMnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,aAAa,EACb,cAAc,GAKf,MAAM,gBAAgB,CAAC;AAuBxB,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAyB;IAC9D,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;CACtB,CAAC;AAEF,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAC;AA4OxD,MAAM,UAAU,sBAAsB,CACpC,YAA6C,EAC7C,KAAmB,EACnB,OAIC;IAED,MAAM,QAAQ,GAAG,CACf,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,sBAAsB,CAAC;YACrB,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,KAAoB;YAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,QAAQ;YACvC,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,aAAa,EAAE,OAAO,EAAE,aAAa;SACtC,CAAC;QACJ,CAAC,CAAC,YAAY,CACS,CAAC;IAC5B,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,qBAAqB,CAC1B,QAAQ,EACR,EAAiB,EACjB,EAAiB,EACjB,EAAiB,CACT,CAAC;AACb,CAAC;AAKD,SAAS,qBAAqB,CAK5B,QAAkB,EAClB,KAAY,EACZ,WAAwB,EACxB,KAA8B;IAE9B,OAAO;QACL,IAAI,CAAC,GAAG,IAAwB;YAC9B,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAyB,CAAC;YACrD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,aAAa,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBACjD,SAAS,CAAC,IAAI,CAAC,QAA8B,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,qBAAqB,CAC1B,QAAQ,EACR,SAA0C,EAC1C,WAAW,EACX,SAAS,CACD,CAAC;QACb,CAAC;QACD,GAAG,CAAC,UAA8B;YAChC,OAAO,qBAAqB,CAC1B,QAAQ,EACR,KAAK,EACL,CAAC,GAAG,WAAW,EAAE,UAAU,CAG1B,EACD,CAAC,GAAG,KAAK,EAAE,UAAgC,CAAC,CACpC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,OAAgE;YACtE,OAAO,wBAAwB,CAC7B,QAAQ,EACR,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAgB,CACR,CAAC;QACb,CAAC;KACwE,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,KAA8B;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAkC,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,SAAS;YACtC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,UAAwC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAM/B,QAAkB,EAClB,KAAY,EACZ,WAAwB,EACxB,KAA8B,EAC9B,OAA4E;IAE5E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,UAAU;QACvB,QAAQ;QACR,KAAK;QACL,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACnC,YAAY,EAAE,wBAAwB,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;QACnE,oBAAoB,EAAE,qCAAqC,CACzD,QAAQ,CAAC,aAAwC,EACjD,WAAW,CACZ;QACD,OAAO,EAAE,OAAgB;QACzB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa;YAClC,MAAM,OAAO,GAA2B,CAAC,KAAK,EAAE,EAAE;gBAChD,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,oBAAoB,QAAQ,CAAC,EAAE,6DAA6D,CAC7F,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,OAA0B,EAAU,EAAE,CAClD,OAAO,CAAC;gBACN,KAAK,EAAE,KAAc;gBACrB,OAAO,EAAE,OAAgB;gBACzB,aAAa,EAAE,CAAC,aAAa,IAAI,EAAE,CAAU;gBAC7C,QAAQ,EAAE,OAAO;gBACjB,KAAK;aACG,CAAC,CAAC;YAEd,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,OAAO,cAAc,CACnB,KAAK,EACL,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE,EAAE,EAC7C,IAAI,EACJ,OAAO,CACE,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n assertServerFunctionId,\n serverFunctionContract,\n type ServerFunctionContract,\n type ServerFunctionExposure,\n} from './server-function-contract';\nimport type { ServerFunctionPipe } from './client-di-requirement';\nimport {\n collectMiddlewareClientContextSchemas,\n collectMiddlewareSchemas,\n flattenMiddlewares,\n type AnyCraftMiddleware,\n type MergedMiddlewareContext,\n type MiddlewareContextOf,\n type MiddlewareSchemasOf,\n type PortableServerMiddleware,\n} from './server-function-middleware';\nimport {\n isServerLayer,\n runServerChain,\n type AnyServerLayer,\n type NoContextCollision,\n type ServerChainStep,\n type ServerLayer,\n} from './server-layer';\nimport type {\n MergeSchemaOutputs,\n MiddlewareContext,\n OverwriteContext,\n} from './middleware-schema-shared';\nimport type { CraftSchema } from './schema-validation';\nimport type {\n ServerFunctionDefinition,\n ServerFunctionHandlerContext,\n ServerFunctionRequired,\n} from './server-function';\n\n/**\n * A program is deliberately opaque to the core. It can be a Promise, a Task,\n * a TaskEither, an Effect value, or a synchronous application-defined value.\n */\nexport type ServerProgram<_Success = unknown, _Failure = unknown> = unknown;\n\nexport type ServerProgramAdapter<Program = unknown, Output = unknown> = {\n readonly run: (program: Program) => Output | Promise<Output>;\n};\n\n/** Useful when the selected program already is the value the registry needs. */\nexport const nativeServerProgramAdapter: ServerProgramAdapter = {\n run: (value) => value,\n};\n\n/** Short alias matching the terminology used in the design document. */\nexport const nativeAdapter = nativeServerProgramAdapter;\n\nexport type PortableServerFunctionHandlerContext<\n Contract extends ServerFunctionContract<any, any, any>,\n Pipes extends readonly ServerFunctionPipe[],\n Middlewares extends readonly AnyCraftMiddleware[],\n Schemas extends readonly CraftSchema[],\n Context extends MiddlewareContext = MergedMiddlewareContext<Middlewares>,\n> = Omit<\n ServerFunctionHandlerContext<Contract, Pipes, Middlewares, Schemas>,\n 'context'\n> & {\n /** Contexte cumulé de la chaîne, dans l'ordre déclaré. */\n readonly context: Context;\n};\n\nexport type PortableServerFunctionHandler<\n Contract extends ServerFunctionContract<any, any, any>,\n Pipes extends readonly ServerFunctionPipe[] = readonly ServerFunctionPipe[],\n Output = unknown,\n Middlewares extends readonly AnyCraftMiddleware[] = readonly [],\n Schemas extends readonly CraftSchema[] = readonly [Contract['input']],\n Context extends MiddlewareContext = MergedMiddlewareContext<Middlewares>,\n> = (\n context: PortableServerFunctionHandlerContext<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Context\n >,\n) => Output;\n\n/** Ce qu'une couche voit de l'input : la fusion des schémas déjà collectés. */\ntype LayerInput<Schemas extends readonly CraftSchema[]> =\n MergeSchemaOutputs<Schemas>;\n\n/** Une couche acceptable ici, plus le refus des clés déjà produites. */\ntype PipeLayer<\n Schemas extends readonly CraftSchema[],\n Context extends MiddlewareContext,\n Added extends MiddlewareContext,\n> = ServerLayer<LayerInput<Schemas>, Context, Added> &\n NoContextCollision<Context, Added>;\n\ntype Fold<\n Context extends MiddlewareContext,\n Added extends MiddlewareContext,\n> = OverwriteContext<Context, Added>;\n\nexport type PortableServerFunctionBuilder<\n Contract extends ServerFunctionContract<any, any, any>,\n Pipes extends readonly ServerFunctionPipe[],\n Middlewares extends readonly AnyCraftMiddleware[] = readonly [],\n Schemas extends readonly CraftSchema[] = readonly [Contract['input']],\n Context extends MiddlewareContext = Record<never, never>,\n> = {\n /**\n * Deux formes, distinguées par leur contrat et jamais mélangées :\n *\n * - un **pipe de contrat** (`requireServerPermission(...)`), qui ajoute une\n * déclaration lue par le registre avant toute exécution ;\n * - une ou plusieurs **couches de programme**, composées en oignon dans\n * l'ordre déclaré, chacune voyant le contexte cumulé par les précédentes.\n */\n readonly pipe: {\n <A extends MiddlewareContext>(\n a: PipeLayer<Schemas, Context, A>,\n ): PortableServerFunctionBuilder<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Fold<Context, A>\n >;\n <A extends MiddlewareContext, B extends MiddlewareContext>(\n a: PipeLayer<Schemas, Context, A>,\n b: PipeLayer<Schemas, Fold<Context, A>, B>,\n ): PortableServerFunctionBuilder<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Fold<Fold<Context, A>, B>\n >;\n <\n A extends MiddlewareContext,\n B extends MiddlewareContext,\n C extends MiddlewareContext,\n >(\n a: PipeLayer<Schemas, Context, A>,\n b: PipeLayer<Schemas, Fold<Context, A>, B>,\n c: PipeLayer<Schemas, Fold<Fold<Context, A>, B>, C>,\n ): PortableServerFunctionBuilder<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Fold<Fold<Fold<Context, A>, B>, C>\n >;\n <\n A extends MiddlewareContext,\n B extends MiddlewareContext,\n C extends MiddlewareContext,\n D extends MiddlewareContext,\n >(\n a: PipeLayer<Schemas, Context, A>,\n b: PipeLayer<Schemas, Fold<Context, A>, B>,\n c: PipeLayer<Schemas, Fold<Fold<Context, A>, B>, C>,\n d: PipeLayer<Schemas, Fold<Fold<Fold<Context, A>, B>, C>, D>,\n ): PortableServerFunctionBuilder<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Fold<Fold<Fold<Fold<Context, A>, B>, C>, D>\n >;\n <\n A extends MiddlewareContext,\n B extends MiddlewareContext,\n C extends MiddlewareContext,\n D extends MiddlewareContext,\n E extends MiddlewareContext,\n >(\n a: PipeLayer<Schemas, Context, A>,\n b: PipeLayer<Schemas, Fold<Context, A>, B>,\n c: PipeLayer<Schemas, Fold<Fold<Context, A>, B>, C>,\n d: PipeLayer<Schemas, Fold<Fold<Fold<Context, A>, B>, C>, D>,\n e: PipeLayer<Schemas, Fold<Fold<Fold<Fold<Context, A>, B>, C>, D>, E>,\n ): PortableServerFunctionBuilder<\n Contract,\n Pipes,\n Middlewares,\n Schemas,\n Fold<Fold<Fold<Fold<Fold<Context, A>, B>, C>, D>, E>\n >;\n /**\n * En dernier à dessein : une couche est un objet, jamais un pipe de\n * contrat, et laisser cette surcharge en tête ferait échouer une première\n * tentative de résolution — ce qui fige le type des callbacks contextuels\n * de `mapContext(...)` avant que le contexte cumulé soit connu.\n */\n <Pipe extends ServerFunctionPipe>(\n pipe: Pipe,\n ): PortableServerFunctionBuilder<\n Contract,\n readonly [...Pipes, Pipe],\n Middlewares,\n Schemas,\n Context\n >;\n };\n /**\n * Compatibilité : le moteur historique de middleware portables. Les nouveaux\n * exemples composent avec `.pipe(...)`, qui, lui, transmet le contexte typé.\n */\n readonly use: <\n Middleware extends PortableServerMiddleware<any, any, any, any, any, any>,\n >(\n middleware: Middleware,\n ) => PortableServerFunctionBuilder<\n Contract,\n Pipes,\n readonly [...Middlewares, Middleware],\n readonly [...Schemas, ...MiddlewareSchemasOf<Middleware>],\n OverwriteContext<Context, MiddlewareContextOf<Middleware>>\n >;\n readonly handler: <Output>(\n handler: PortableServerFunctionHandler<\n Contract,\n Pipes,\n Output,\n Middlewares,\n Schemas,\n Context\n >,\n ) => ServerFunctionDefinition<Contract, Pipes, Output, Middlewares>;\n};\n\nexport function portableServerFunction<\n const Id extends string,\n Schema extends CraftSchema,\n>(\n id: Id,\n input: Schema,\n): PortableServerFunctionBuilder<\n ServerFunctionContract<Schema, 'server', undefined, Id>,\n readonly []\n>;\nexport function portableServerFunction<\n const Id extends string,\n Schema extends CraftSchema,\n Exposure extends ServerFunctionExposure,\n OutputSchema extends CraftSchema | undefined = undefined,\n ClientContextSchema extends CraftSchema | undefined = undefined,\n>(\n id: Id,\n input: Schema,\n options: {\n readonly exposure: Exposure;\n readonly output?: OutputSchema;\n readonly clientContext?: ClientContextSchema;\n },\n): PortableServerFunctionBuilder<\n ServerFunctionContract<\n Schema,\n Exposure,\n OutputSchema,\n Id,\n ClientContextSchema\n >,\n readonly []\n>;\nexport function portableServerFunction<\n Schema extends CraftSchema,\n Exposure extends ServerFunctionExposure,\n OutputSchema extends CraftSchema | undefined,\n ClientContextSchema extends CraftSchema | undefined = CraftSchema | undefined,\n>(\n contract: ServerFunctionContract<\n Schema,\n Exposure,\n OutputSchema,\n string,\n ClientContextSchema\n >,\n): PortableServerFunctionBuilder<\n ServerFunctionContract<\n Schema,\n Exposure,\n OutputSchema,\n string,\n ClientContextSchema\n >,\n readonly []\n>;\nexport function portableServerFunction(\n contractOrId: string | ServerFunctionContract,\n input?: CraftSchema,\n options?: {\n readonly exposure?: ServerFunctionExposure;\n readonly output?: CraftSchema;\n readonly clientContext?: CraftSchema;\n },\n): PortableServerFunctionBuilder<any, readonly []> {\n const contract = (\n typeof contractOrId === 'string'\n ? serverFunctionContract({\n id: contractOrId,\n input: input as CraftSchema,\n exposure: options?.exposure ?? 'server',\n output: options?.output,\n clientContext: options?.clientContext,\n })\n : contractOrId\n ) as ServerFunctionContract;\n assertServerFunctionId(contract.id);\n\n return createPortableBuilder(\n contract,\n [] as readonly [],\n [] as readonly [],\n [] as readonly [],\n ) as never;\n}\n\n/** Une étape de la chaîne, dans l'ordre où elle a été déclarée. */\ntype PortableStep = AnyCraftMiddleware | AnyServerLayer;\n\nfunction createPortableBuilder<\n Contract extends ServerFunctionContract<any, any, any>,\n Pipes extends readonly ServerFunctionPipe[],\n Middlewares extends readonly AnyCraftMiddleware[],\n>(\n contract: Contract,\n pipes: Pipes,\n middlewares: Middlewares,\n steps: readonly PortableStep[],\n): PortableServerFunctionBuilder<Contract, Pipes, Middlewares> {\n return {\n pipe(...args: readonly unknown[]) {\n const nextPipes = [...pipes] as ServerFunctionPipe[];\n const nextSteps = [...steps];\n for (const argument of args) {\n if (isServerLayer(argument)) nextSteps.push(argument);\n else nextPipes.push(argument as ServerFunctionPipe);\n }\n return createPortableBuilder(\n contract,\n nextPipes as readonly ServerFunctionPipe[],\n middlewares,\n nextSteps,\n ) as never;\n },\n use(middleware: AnyCraftMiddleware) {\n return createPortableBuilder(\n contract,\n pipes,\n [...middlewares, middleware] as readonly [\n ...Middlewares,\n typeof middleware,\n ],\n [...steps, middleware as AnyCraftMiddleware],\n ) as never;\n },\n handler(handler: PortableServerFunctionHandler<Contract, Pipes, unknown>) {\n return createPortableDefinition(\n contract,\n pipes,\n middlewares,\n steps,\n handler as never,\n ) as never;\n },\n } as unknown as PortableServerFunctionBuilder<Contract, Pipes, Middlewares>;\n}\n\n/**\n * Aplatit les dépendances des middleware sans perdre l'ordre de déclaration,\n * et sans exécuter deux fois un middleware partagé par deux branches.\n */\nfunction expandSteps(steps: readonly PortableStep[]): readonly ServerChainStep[] {\n const seen = new Set<string>();\n const expanded: ServerChainStep[] = [];\n for (const step of steps) {\n if (isServerLayer(step)) {\n expanded.push(step as unknown as ServerChainStep);\n continue;\n }\n for (const middleware of flattenMiddlewares([step])) {\n if (seen.has(middleware.id)) continue;\n seen.add(middleware.id);\n expanded.push(middleware as unknown as ServerChainStep);\n }\n }\n return expanded;\n}\n\nfunction createPortableDefinition<\n Contract extends ServerFunctionContract<any, any, any>,\n Pipes extends readonly ServerFunctionPipe[],\n Middlewares extends readonly AnyCraftMiddleware[],\n Output,\n>(\n contract: Contract,\n pipes: Pipes,\n middlewares: Middlewares,\n steps: readonly PortableStep[],\n handler: PortableServerFunctionHandler<Contract, Pipes, Output, Middlewares>,\n): ServerFunctionDefinition<Contract, Pipes, Output, Middlewares> {\n const chain = expandSteps(steps);\n return {\n kind: 'server-function',\n programMode: 'portable',\n contract,\n pipes,\n middlewares,\n layers: steps.filter(isServerLayer),\n inputSchemas: collectMiddlewareSchemas(contract.input, middlewares),\n clientContextSchemas: collectMiddlewareClientContextSchemas(\n contract.clientContext as CraftSchema | undefined,\n middlewares,\n ),\n handler: handler as never,\n invoke(input, runtime, clientContext) {\n const resolve: ServerFunctionRequired = (token) => {\n if (!runtime?.resolve) {\n throw new Error(\n `Server function \"${contract.id}\" requires DI, but no server runtime resolver was provided.`,\n );\n }\n return runtime.resolve(token);\n };\n const call = (context: MiddlewareContext): Output =>\n handler({\n input: input as never,\n context: context as never,\n clientContext: (clientContext ?? {}) as never,\n required: resolve,\n pipes,\n } as never);\n\n if (chain.length === 0) return call({});\n return runServerChain(\n chain,\n { input, clientContext: clientContext ?? {} },\n call,\n resolve,\n ) as Output;\n },\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"preserved-resource.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/preserved-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW7D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,gBAAgB,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAoEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"preserved-resource.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/preserved-resource.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n signal as ngSignal,\n untracked as ngUntracked,\n type ResourceOptions,\n type Signal,\n} from './host/craft-compat';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport { craftResource } from './craft-resource';\nimport {\n CRAFT_SIGNAL,\n craftComputed,\n craftSignal,\n craftWatch,\n untracked,\n type CraftWritableSignal,\n} from './host/craft-signal';\n\nexport function preservedResource<T, R>(\n config: ResourceOptions<T, R>,\n): CraftResourceRef<T | undefined, R> {\n const original = craftResource(config);\n const raw = original as unknown as {\n __craftRawValue: Signal<T | undefined>;\n __craftRawStatus: Signal<string>;\n };\n const preserved = craftSignal<T | undefined>(config.defaultValue);\n const angularMirror = ngSignal<T | undefined>(config.defaultValue);\n const publish = (value: T | undefined): void => {\n preserved.set(value);\n ngUntracked(() => angularMirror.set(value));\n };\n const preserveWatch = craftWatch(() => {\n const status = raw.__craftRawStatus();\n if (status !== 'loading' && status !== 'reloading') {\n publish(status === 'error' ? undefined : raw.__craftRawValue());\n }\n });\n const value = (() => {\n angularMirror();\n return preserved();\n }) as CraftWritableSignal<T | undefined>;\n value.set = publish;\n value.update = (update) => publish(update(untracked(preserved)));\n Object.defineProperty(value, CRAFT_SIGNAL, {\n value: true,\n enumerable: false,\n });\n const state = craftComputed(() => value());\n const hasValue = (() =>\n original.hasValue() || value() !== undefined) as CraftResourceRef<\n T | undefined,\n R\n >['hasValue'];\n const destroy = () => {\n original.destroy();\n publish(config.defaultValue);\n preserveWatch.destroy();\n };\n const resourceRef = {\n value,\n // `resource.hasValue()` becomes false as soon as a reload starts, even\n // though `preserved` still exposes the last resolved value to consumers.\n // Reflect the public value here so guards such as `ifBlock(hasValue)` do\n // not hide preserved content during a reload.\n hasValue,\n snapshot: original.snapshot,\n status: original.status,\n // Internal channel only: not part of the CraftResourceRef surface, kept at\n // runtime for `craftUntilSettled` (see craft-resource.ts).\n error: (\n original as unknown as {\n error: Signal<Error | undefined>;\n }\n ).error,\n isLoading: original.isLoading,\n reload: original.reload.bind(original),\n destroy,\n update: original.update.bind(original),\n set: original.set.bind(original),\n restore: (\n original as unknown as { restore: (value: T | undefined) => void }\n ).restore.bind(original),\n asReadonly: () => resourceRef,\n paramSrc: config.params as Signal<R | undefined>,\n state,\n };\n return resourceRef as unknown as CraftResourceRef<T | undefined, R>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-method-runtime-context.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/primitive-method-runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,0BAA0B,GAClC,OAAO,GACP,OAAO,GACP,cAAc,GACd,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,MAAM,6BAA6B,CACvC,IAAI,SAAS,0BAA0B,GAAG,0BAA0B,IAClE,QAAQ,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,IAAI,OAAO,CAAC;IACf,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC;IACxD,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAC/E,MAAM,MAAM,gCAAgC,GAC1C,6BAA6B,CAAC,cAAc,CAAC,CAAC;AAChD,MAAM,MAAM,4BAA4B,GACtC,6BAA6B,CAAC,UAAU,CAAC,CAAC;AAC5C,MAAM,MAAM,+BAA+B,GACzC,6BAA6B,CAAC,aAAa,CAAC,CAAC;AAE/C,KAAK,yBAAyB,GAAG,QAAQ,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC;IACxD,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC;CACvD,CAAC,CAAC;AAOH,wBAAgB,mCAAmC,IAC/C,6BAA6B,GAC7B,SAAS,CAIZ;AAED,wBAAgB,+BAA+B,IAC3C,yBAAyB,GACzB,SAAS,CAEZ;AAED,wBAAgB,sCAAsC,IAClD,gCAAgC,GAChC,SAAS,CAEZ;AAED,wBAAgB,kCAAkC,IAC9C,4BAA4B,GAC5B,SAAS,CAEZ;AAED,wBAAgB,qCAAqC,IACjD,+BAA+B,GAC/B,SAAS,CAEZ;AAED,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,yBAAyB,EAClC,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GAC7C,QAAQ,CAaV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-method-runtime-context.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/primitive-method-runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAmCpD,MAAM,gCAAgC,GACpC,IAAI,cAAc,CAChB,kCAAkC,CACnC,CAAC;AAEJ,MAAM,UAAU,mCAAmC;IAGjD,OAAO,CACL,MAAM,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B;IAG7C,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sCAAsC;IAGpD,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kCAAkC;IAGhD,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qCAAqC;IAGnD,OAAO,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,IAAgC,EAChC,OAAkC,EAClC,eAA8C;IAE9C,OAAO;QACL,OAAO,EAAE,gCAAgC;QACzC,QAAQ,EAAE;YACR,IAAI;YACJ,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC7C,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,OAAsC,EAAE,EAAE,CACjD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,CAAC,OAAqC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YACxE,cAAc,EAAE,eAAe,CAAC,QAAQ,EAAE;SACH;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAU;IAEV,MAAM,OAAO,GAAG,mCAAmC,EAAE,CAAC;IACtD,OAAO,OAAO,EAAE,IAAI,KAAK,IAAI;QAC3B,CAAC,CAAE,OAA+C;QAClD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC","sourcesContent":["import {\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n} from './host/craft-compat';\nimport { rawReactiveFacade } from './reactive-read';\n\nexport type PrimitiveMethodRuntimeKind =\n | 'state'\n | 'query'\n | 'asyncProcess'\n | 'mutation'\n | 'queryParams';\n\nexport type PrimitiveMethodRuntimeContext<\n Kind extends PrimitiveMethodRuntimeKind = PrimitiveMethodRuntimeKind,\n> = Readonly<{\n kind: Kind;\n get(): unknown;\n set(value: unknown): unknown;\n update(updater: (current: unknown) => unknown): unknown;\n patch(updater: (current: unknown) => object): unknown;\n originalSource: string;\n}>;\n\nexport type QueryMethodRuntimeContext = PrimitiveMethodRuntimeContext<'query'>;\nexport type AsyncProcessMethodRuntimeContext =\n PrimitiveMethodRuntimeContext<'asyncProcess'>;\nexport type MutationMethodRuntimeContext =\n PrimitiveMethodRuntimeContext<'mutation'>;\nexport type QueryParamsMethodRuntimeContext =\n PrimitiveMethodRuntimeContext<'queryParams'>;\n\ntype PrimitiveInsertionContext = Readonly<{\n state: Signal<unknown>;\n set(value: unknown): unknown;\n update(updater: (current: unknown) => unknown): unknown;\n patch(updater: (current: unknown) => object): unknown;\n}>;\n\nconst PRIMITIVE_METHOD_RUNTIME_CONTEXT =\n new InjectionToken<PrimitiveMethodRuntimeContext>(\n 'PRIMITIVE_METHOD_RUNTIME_CONTEXT',\n );\n\nexport function injectPrimitiveMethodRuntimeContext():\n | PrimitiveMethodRuntimeContext\n | undefined {\n return (\n inject(PRIMITIVE_METHOD_RUNTIME_CONTEXT, { optional: true }) ?? undefined\n );\n}\n\nexport function injectQueryMethodRuntimeContext():\n | QueryMethodRuntimeContext\n | undefined {\n return injectRuntimeContextFor('query');\n}\n\nexport function injectAsyncProcessMethodRuntimeContext():\n | AsyncProcessMethodRuntimeContext\n | undefined {\n return injectRuntimeContextFor('asyncProcess');\n}\n\nexport function injectMutationMethodRuntimeContext():\n | MutationMethodRuntimeContext\n | undefined {\n return injectRuntimeContextFor('mutation');\n}\n\nexport function injectQueryParamsMethodRuntimeContext():\n | QueryParamsMethodRuntimeContext\n | undefined {\n return injectRuntimeContextFor('queryParams');\n}\n\nexport function ɵprovidePrimitiveMethodRuntimeContext(\n kind: PrimitiveMethodRuntimeKind,\n context: PrimitiveInsertionContext,\n originalFactory: (...args: never[]) => unknown,\n): Provider {\n return {\n provide: PRIMITIVE_METHOD_RUNTIME_CONTEXT,\n useValue: {\n kind,\n get: () => rawReactiveFacade(context.state)(),\n set: (value: unknown) => context.set(value),\n update: (updater: (current: unknown) => unknown) =>\n context.update(updater),\n patch: (updater: (current: unknown) => object) => context.patch(updater),\n originalSource: originalFactory.toString(),\n } satisfies PrimitiveMethodRuntimeContext,\n };\n}\n\nfunction injectRuntimeContextFor<Kind extends PrimitiveMethodRuntimeKind>(\n kind: Kind,\n): PrimitiveMethodRuntimeContext<Kind> | undefined {\n const context = injectPrimitiveMethodRuntimeContext();\n return context?.kind === kind\n ? (context as PrimitiveMethodRuntimeContext<Kind>)\n : undefined;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-resource-runtime-context.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/primitive-resource-runtime-context.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitive-resource-runtime-context.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/primitive-resource-runtime-context.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n inject,\n InjectionToken,\n type Provider,\n type Signal,\n} from './host/craft-compat';\nimport { ɵregisterCraftPrimitive } from './craft-primitive-registry';\n\nexport type PrimitiveResourceRuntimeKind =\n | 'query'\n | 'asyncProcess'\n | 'mutation'\n | 'queryParams';\n\nexport type PrimitiveResourceRuntimeContext<\n Kind extends PrimitiveResourceRuntimeKind = PrimitiveResourceRuntimeKind,\n> = Readonly<{\n kind: Kind;\n grouped: boolean;\n ids(): readonly string[];\n get(id?: string): unknown;\n set(value: unknown, id?: string): unknown;\n update(updater: (current: unknown) => unknown, id?: string): unknown;\n patch(updater: (current: unknown) => object, id?: string): unknown;\n /** Re-runs the loader from the params in force. */\n reload?(): boolean;\n /**\n * Puts back a value the resource had produced itself. Unlike `set`, which\n * marks the resource local and detaches it from its loader, a restored value\n * settles as resolved.\n */\n restore?(value: unknown, id?: string): unknown;\n status?(id?: string): string;\n error?(id?: string): unknown;\n}>;\n\nexport type PrimitiveResourceRuntimeObserver = (\n context: PrimitiveResourceRuntimeContext,\n) => void;\n\ntype WritableResourceTarget = Readonly<{\n state: Signal<unknown>;\n set(value: unknown): unknown;\n update(updater: (current: unknown) => unknown): unknown;\n reload?(): boolean;\n restore?(value: unknown): unknown;\n status?: Signal<string>;\n error?: Signal<unknown>;\n}>;\n\ntype ResourceByIdTarget = Readonly<{\n state: Signal<unknown>;\n set(value: unknown): unknown;\n update(updater: (current: unknown) => unknown): unknown;\n addById(id: string, options?: Readonly<{ defaultValue?: unknown }>): unknown;\n select?(id: string): WritableResourceTarget | undefined;\n}> &\n (() => Record<string, WritableResourceTarget | undefined>);\n\nconst PRIMITIVE_RESOURCE_RUNTIME_OBSERVER = new InjectionToken<\n readonly PrimitiveResourceRuntimeObserver[]\n>('PRIMITIVE_RESOURCE_RUNTIME_OBSERVER', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\nexport function providePrimitiveResourceRuntimeObserver(\n observer: PrimitiveResourceRuntimeObserver,\n): Provider {\n return {\n provide: PRIMITIVE_RESOURCE_RUNTIME_OBSERVER,\n useValue: observer,\n multi: true,\n };\n}\n\nexport function ɵobservePrimitiveResourceRuntimeContext(\n context: PrimitiveResourceRuntimeContext,\n name?: string,\n): void {\n for (const observer of inject(PRIMITIVE_RESOURCE_RUNTIME_OBSERVER)) {\n observer(context);\n }\n\n // The same handle, addressable: the observer sees every resource as it is\n // created, the registry lets tooling find one again by name afterwards.\n if (name !== undefined) {\n ɵregisterCraftPrimitive({\n kind: context.kind,\n name,\n read: () => context.get(),\n // A registry write puts a value BACK; it is not an application deciding\n // to override one, so it must not detach the resource from its loader.\n write: (value) =>\n context.restore ? context.restore(value) : context.set(value),\n reload: () => context.reload?.() ?? false,\n ...(context.status ? { status: () => context.status!() } : {}),\n ...(context.error ? { error: () => context.error!() } : {}),\n });\n }\n}\n\nexport function ɵcreatePrimitiveResourceRuntimeContext(\n kind: PrimitiveResourceRuntimeKind,\n target: WritableResourceTarget,\n): PrimitiveResourceRuntimeContext {\n return {\n kind,\n grouped: false,\n ids: () => [],\n reload: () => target.reload?.() ?? false,\n ...(target.status ? { status: () => target.status!() } : {}),\n ...(target.error ? { error: () => target.error!() } : {}),\n restore: (value, id) => {\n const resolved = rootTarget(target, id);\n return resolved.restore ? resolved.restore(value) : resolved.set(value);\n },\n get: (id) => rootTarget(target, id).state(),\n set: (value, id) => rootTarget(target, id).set(value),\n update: (updater, id) => rootTarget(target, id).update(updater),\n patch: (updater, id) =>\n rootTarget(target, id).update((current) =>\n patchResourceValue(current, updater(current)),\n ),\n };\n}\n\nexport function ɵcreatePrimitiveResourceByIdRuntimeContext(\n kind: PrimitiveResourceRuntimeKind,\n target: ResourceByIdTarget,\n): PrimitiveResourceRuntimeContext {\n return {\n kind,\n grouped: true,\n ids: () => Object.keys(target()),\n get: (id) =>\n id === undefined ? target.state() : selectedTarget(target, id).state(),\n set: (value, id) => {\n if (id === undefined) {\n return target.set(value);\n }\n const selected = target()[id];\n if (selected !== undefined) {\n return selected.set(value);\n }\n target.addById(id, { defaultValue: value });\n return value;\n },\n update: (updater, id) =>\n id === undefined\n ? target.update(updater)\n : selectedTarget(target, id).update(updater),\n patch: (updater, id) => {\n const patchTarget =\n id === undefined\n ? { state: target.state, update: target.update, set: target.set }\n : selectedTarget(target, id);\n return patchTarget.update((current) =>\n patchResourceValue(current, updater(current)),\n );\n },\n };\n}\n\nfunction patchResourceValue(current: unknown, patch: object): object {\n if (\n current === null ||\n typeof current !== 'object' ||\n Array.isArray(current)\n ) {\n throw new Error(\n 'Primitive value patch requires an object value; use update to replace arrays or primitives',\n );\n }\n return { ...current, ...patch };\n}\n\nfunction rootTarget(\n target: WritableResourceTarget,\n id: string | undefined,\n): WritableResourceTarget {\n if (id !== undefined) {\n throw new Error(\n 'This primitive value is not grouped; params.id is not supported',\n );\n }\n return target;\n}\n\nfunction selectedTarget(\n target: ResourceByIdTarget,\n id: string,\n): WritableResourceTarget {\n const selected = target.select?.(id) ?? target()[id];\n if (selected === undefined) {\n throw new Error(`Grouped primitive value \"${id}\" is not available`);\n }\n return selected;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query-params.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query-params.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n computed,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n runInInjectionContext,\n Signal,\n signal,\n WritableSignal,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport {\n InsertionsQueryParamsFactory,\n InsertionQueryParamsFactoryContext,\n QueryParamsMethods,\n} from './query.core';\nimport { MergeObjects } from './util/types/util.type';\nimport { FilterSource, IsEmptyObject } from './util/util.type';\nimport { Prettify } from './util/util.type';\nimport { isGenerator, runCraftGenerator } from './craft-generator-runtime';\nimport { injectFnWrapper } from './fn-wrapper';\nimport {\n AnyCraftException,\n craftException,\n isCraftException,\n} from './craft-exception';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport {\n createNamedPrimitiveGen,\n type CraftPrimitiveGen,\n type NamedCraftPrimitiveGen,\n} from './craft-primitive-gen';\nimport type {\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYieldedAndValues,\n} from './craft-service';\nimport {\n APP_SNAPSHOT_REGISTRY,\n INSERTION_SNAPSHOT_REGISTRY,\n InsertionSnapshotRegistry,\n triggerAndCollectInsertions,\n} from './take-app-snapshot';\nimport { ɵprovidePrimitiveMethodRuntimeContext } from './primitive-method-runtime-context';\nimport {\n ɵcreatePrimitiveResourceRuntimeContext,\n ɵobservePrimitiveResourceRuntimeContext,\n} from './primitive-resource-runtime-context';\nimport {\n createYieldableInsertionMethod,\n isNonYieldableInsertionMethod,\n yieldableInvocation,\n} from './yieldable';\nimport { CRAFT_HISTORY, CRAFT_LOCATION } from './craft-router-tokens';\nimport {\n parseSearchParams,\n serializeSearchParams,\n} from './host/craft-router-runtime';\nimport { craftWatch } from './host/craft-signal';\nimport {\n createYieldableReactiveFacade,\n createYieldableReactiveValue,\n deepYieldable,\n hasDeepYieldableInsertion,\n isYieldableReactiveValue,\n nameInsertedReactiveValue,\n type YieldableReactiveProperties,\n type YieldableReactiveValue,\n} from './reactive-read';\nimport type { YieldableInsertionMethods } from './yieldable';\n\nexport interface QueryParamsNavigationOptions {\n queryParamsHandling?: 'merge' | 'preserve' | '';\n onSameUrlNavigation?: 'reload' | 'ignore';\n replaceUrl?: boolean;\n skipLocationChange?: boolean;\n preserveFragment?: boolean;\n}\n\ntype ResolveGeneratorResult<Result> =\n Result extends Generator<any, infer Output, unknown> ? Output : Result;\n\ntype QueryParamsTrackedDependencies<\n QueryParamsType,\n InsertionsYielded = never,\n Insertions = never,\n> = ServiceDependencyMapFromYieldedAndValues<InsertionsYielded, Insertions>;\n\ntype AnyQueryParamsConfig = {\n codec: QueryParamsCodec<any, any>;\n fallbackValue: any;\n};\n\nexport type QueryParamsToState<QueryParamsConfigs> = {\n [K in keyof QueryParamsConfigs]: QueryParamsConfigs[K] extends {\n codec: { decode: (input: any) => infer Decoded };\n }\n ? Exclude<Decoded, AnyCraftException>\n : never;\n};\n\nexport type QueryParamDecodeErrorPayload = {\n key: string;\n value: unknown;\n error: unknown;\n};\n\nexport type QueryParamDecodeError<Key extends string = string> =\n import('./craft-exception').CraftExceptionResult<\n {\n _tag: 'QueryParamDecodeError';\n scope: 'parse';\n identifier: Key;\n },\n QueryParamDecodeErrorPayload & { key: Key }\n >;\n\nexport type QueryParamEncodeErrorPayload = {\n key: string;\n value: unknown;\n error: unknown;\n};\n\nexport type QueryParamEncodeError =\n import('./craft-exception').CraftExceptionResult<\n {\n _tag: 'QueryParamEncodeError';\n scope: 'serialize';\n },\n QueryParamEncodeErrorPayload\n >;\n\ntype QueryParamsParseExceptionsByKey<QueryParamsType> =\n QueryParamsType extends Record<string, AnyQueryParamsConfig>\n ? {\n [K in keyof QueryParamsType]: QueryParamDecodeError<K & string>;\n }\n : Record<string, never>;\n\ntype QueryParamsParseExceptionUnion<QueryParamsType> =\n QueryParamsParseExceptionsByKey<QueryParamsType>[keyof QueryParamsParseExceptionsByKey<QueryParamsType>];\n\nexport type QueryParamsExceptions<QueryParamsType> = {\n list: QueryParamsParseExceptionUnion<QueryParamsType>[];\n parse: Partial<QueryParamsParseExceptionsByKey<QueryParamsType>>;\n};\n\nexport type QueryParamsOutput<\n QueryParamsType,\n Insertions,\n QueryParamsState,\n Dependencies = QueryParamsTrackedDependencies<QueryParamsType>,\n> = YieldableReactiveValue<QueryParamsState> &\n YieldableReactiveProperties<\n MergeObjects<\n [\n {\n [K in keyof QueryParamsState]: Signal<QueryParamsState[K]>;\n },\n IsEmptyObject<Insertions> extends true\n ? {}\n : YieldableInsertionMethods<FilterSource<Insertions>>,\n {\n hasException: Signal<boolean>;\n exceptions: Signal<QueryParamsExceptions<QueryParamsType>>;\n },\n {\n _config: QueryParamsType;\n readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;\n },\n ]\n >\n >;\n\nfunction enrichQueryParamsParseException(\n exception: AnyCraftException,\n key: string,\n): AnyCraftException {\n return {\n ...exception,\n scope: 'parse',\n identifier: key,\n [exception._tag]: exception.payload,\n };\n}\n\nfunction createQueryParamDecodeError(\n key: string,\n value: unknown,\n error: unknown,\n): AnyCraftException {\n return craftException(\n {\n _tag: 'QueryParamDecodeError',\n scope: 'parse',\n identifier: key,\n },\n { key, value, error },\n );\n}\n\nfunction createQueryParamEncodeError(\n key: string,\n value: unknown,\n error: unknown,\n): AnyCraftException {\n return craftException(\n {\n _tag: 'QueryParamEncodeError',\n scope: 'serialize',\n },\n { key, value, error },\n );\n}\n\nconst QUERY_PARAM_INVALID_YIELD_ERROR_MESSAGE =\n 'queryParams generators can only yield craftService dependencies or exposed dependency helpers.';\nconst QUERY_PARAM_APP_START_ERROR_MESSAGE =\n 'queryParams generators do not support onAppStart(...).';\n\nfunction executeQueryParamsFactory<This, Args extends unknown[], Result>(\n injector: Injector,\n factory: (this: This, ...args: Args) => Result,\n thisArg: This,\n ...args: Args\n): ResolveGeneratorResult<Result> {\n return runInInjectionContext(injector, () => {\n const result = factory.apply(thisArg, args);\n\n if (!isGenerator(result)) {\n return result as ResolveGeneratorResult<Result>;\n }\n\n return runCraftGenerator({\n iterator: result,\n injector,\n hostScope: 'function',\n invalidYieldErrorMessage: QUERY_PARAM_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_PARAM_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_PARAM_APP_START_ERROR_MESSAGE,\n }).value as ResolveGeneratorResult<Result>;\n });\n}\n\nexport interface QueryParamsCodecConfig<\n T = unknown,\n Encoded = unknown,\n Codec extends QueryParamsCodec<Encoded, T> = QueryParamsCodec<Encoded, T>,\n> {\n codec: Codec;\n fallbackValue: NoInfer<T>;\n}\n\ntype QueryParamsCodec<Encoded, Decoded> = {\n decode(input: Encoded): Decoded | AnyCraftException;\n encode(value: Decoded): Encoded | AnyCraftException;\n};\n\nexport type QueryParamsConfig<\n T = unknown,\n Encoded = unknown,\n> = QueryParamsCodecConfig<T, Encoded>;\n\n/**\n * Creates a reactive query parameter manager that synchronizes state with URL query parameters.\n *\n * This function manages query parameter state by:\n * - Reading initial values from the URL or using default values\n * - Decoding URL values into typed values using the provided `codec`\n * - Encoding typed values back to URL values using the provided `codec`\n * - Providing reactive signals for each query parameter\n *\n * @remarks\n * **Important:** This function must be called within an injection context.\n * If called outside an injection context, it will only return an object containing the configuration under `_config`.\n *\n * @param name - The query params manager name. Used to key the returned record\n * (`const pagination = yield* queryParams('pagination', config)`) and as the\n * injector host tag (`queryParams:pagination`), so the primitive is precisely\n * locatable in snapshots and logs.\n * @param config - Configuration object containing:\n * - `state`: Record of query parameter configurations, each with `fallbackValue` and `codec`\n * - `queryParamsHandling` (optional): How to handle existing query params ('merge' | 'preserve' | '')\n * - `onSameUrlNavigation` (optional): Behavior on same URL navigation ('reload' | 'ignore')\n * - `replaceUrl` (optional): Whether to replace the URL in browser history\n * - `skipLocationChange` (optional): Whether to skip updating the browser's location\n * @param insertion1 - Optional single insertion factory to add custom methods, computed values or side effects to the query param manager.\n * The insertion receives a context with `state`, `config`, `set`, `update`, `patch` and `reset`.\n * To attach several insertions, compose them with `insertQueryParamsPipe`:\n * `queryParams('name', config, insertQueryParamsPipe(insertion1, insertion2))` —\n * each member then also sees the previous members' outputs on `context.insertions`.\n * Methods bound to a source using `afterRecomputation` (effectRef-like) are not exposed in the output.\n * @returns A single-use primitive generator resolving to a signal returning\n * the current query parameter state,\n * extended with:\n * - Individual signals for each query parameter (e.g., `pagination.page()`)\n * - Custom methods from insertions (excluding methods bound to sources)\n * - `_config`: The original configuration\n *\n * Consume it with `yield*` inside a generator host (craftService factory,\n * craftGen, …).\n *\n * @example\n * Basic usage\n * ```ts\n * const myQueryParams = yield* queryParams(\n * 'myQueryParams',\n * {\n * state: {\n * page: {\n * fallbackValue: 1,\n * codec: {\n * decode: (value) => parseInt(value, 10),\n * encode: (value) => String(value),\n * },\n * },\n * pageSize: {\n * fallbackValue: 10,\n * codec: {\n * decode: (value) => parseInt(value, 10),\n * encode: (value) => String(value),\n * },\n * },\n * },\n * },\n * ({ set, update, patch, reset }) => ({ set, update, patch, reset })\n * );\n *\n * // Access state\n * console.log(yield* myQueryParams()); // { page: 1, pageSize: 10 }\n * console.log(yield* myQueryParams.page()); // 1\n *\n * // Update state (also updates URL)\n * yield* myQueryParams.set({ page: 2, pageSize: 20 });\n * yield* myQueryParams.update(current => ({ ...current, page: current.page + 1 }));\n * yield* myQueryParams.patch({ pageSize: 50 });\n * yield* myQueryParams.reset();\n * ```\n *\n * @example\n * With custom methods via insertions\n * ```ts\n * const myQueryParams = yield* queryParams(\n * 'myQueryParams',\n * {\n * state: {\n * page: {\n * fallbackValue: 1,\n * codec: { decode: parseInt, encode: String },\n * },\n * },\n * },\n * ({ state, patch }) => ({\n * goTo: function* (newPage: number) {\n * const current = yield* state();\n * return yield* patch({ ...current, page: newPage });\n * },\n * })\n * );\n *\n * yield* myQueryParams.goTo(5); // Custom method from insertion\n * ```\n *\n * @example\n * Parse exceptions with `craftException`\n * ```ts\n * import { craftException, queryParams } from '@craft-ts/core';\n *\n * const mode = yield* queryParams('mode', {\n * state: {\n * mode: {\n * fallbackValue: 'success' as const,\n * codec: {\n * decode: (value: string) => {\n * if (value !== 'success') {\n * throw new Error(`Invalid mode: ${value}`);\n * }\n * return 'success' as const;\n * },\n * encode: (value) => String(value),\n * },\n * },\n * },\n * });\n *\n * console.log(yield* mode.mode()); // fallbackValue when parse exception occurs\n * console.log(yield* mode.hasException()); // true/false\n * console.log((yield* mode.exceptions()).parse.mode?.INVALID_MODE_FROM_URL);\n * ```\n */\nexport function queryParams<\n Name extends string,\n QueryParamsType extends Record<string, AnyQueryParamsConfig>,\n QueryParamsState = Prettify<QueryParamsToState<QueryParamsType>>,\n>(\n name: Name,\n config: { state: QueryParamsType } & QueryParamsNavigationOptions,\n): NamedCraftPrimitiveGen<\n Name,\n QueryParamsOutput<QueryParamsType, {}, QueryParamsState>\n>;\nexport function queryParams<\n Name extends string,\n QueryParamsType extends Record<string, AnyQueryParamsConfig>,\n Insertion1,\n Insertion1Yielded = never,\n QueryParamsState = Prettify<QueryParamsToState<QueryParamsType>>,\n>(\n name: Name,\n config: { state: QueryParamsType } & QueryParamsNavigationOptions,\n insertion1: InsertionsQueryParamsFactory<\n NoInfer<QueryParamsType>,\n Insertion1,\n {},\n Insertion1Yielded\n >,\n): NamedCraftPrimitiveGen<\n Name,\n QueryParamsOutput<\n QueryParamsType,\n Insertion1,\n QueryParamsState,\n QueryParamsTrackedDependencies<\n QueryParamsType,\n Insertion1Yielded,\n Insertion1\n >\n >\n>;\n\nexport function queryParams(\n name: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n config: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: any[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n return createNamedPrimitiveGen(\n name,\n createQueryParamsRef(name, config, ...insertions),\n );\n}\n\n/**\n *\n * If it is not called in an injection context, it returns the config under _config.\n */\nfunction createQueryParamsRef<\n QueryParamsType extends Record<string, AnyQueryParamsConfig>,\n QueryParamsState = Prettify<QueryParamsToState<QueryParamsType>>,\n>(\n name: string,\n config: { state: QueryParamsType } & QueryParamsNavigationOptions,\n ...insertions: any[]\n): QueryParamsOutput<QueryParamsType, {}, QueryParamsState> {\n try {\n assertInInjectionContext(queryParams);\n } catch (e) {\n return {\n _config: config,\n } as any;\n }\n\n const insertionSnapshotRegistry = new InsertionSnapshotRegistry();\n const injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `queryParams:${name}`,\n [\n {\n provide: INSERTION_SNAPSHOT_REGISTRY,\n useValue: insertionSnapshotRegistry,\n },\n ],\n );\n const history = inject(CRAFT_HISTORY);\n const location = inject(CRAFT_LOCATION);\n\n const { state: queryParamsConfig, ...options } = config;\n\n const decodeQueryParamsState = (rawParams: Record<string, string>) =>\n Object.entries(queryParamsConfig).reduce(\n (acc, [key, config]) => {\n const rawValue = rawParams[key];\n if (rawValue === undefined || rawValue === null) {\n acc[key] = config.fallbackValue;\n return acc;\n }\n try {\n const decoded = config.codec.decode(rawValue);\n acc[key] = isCraftException(decoded) ? config.fallbackValue : decoded;\n return acc;\n } catch {\n acc[key] = config.fallbackValue;\n return acc;\n }\n },\n {} as Record<string, unknown>,\n ) as QueryParamsToState<QueryParamsType>;\n\n // URL state is updated by the router watch; the public state is a separate\n // writable Craft signal so a local set is visible synchronously and is not\n // accidentally reset by a new object returned while parsing the URL.\n const queryParamsFromUrl = signal(parseSearchParams(location().search));\n const queryParamsState = signal(\n decodeQueryParamsState(queryParamsFromUrl()),\n ) as WritableSignal<QueryParamsToState<QueryParamsType>>;\n const locationWatch = craftWatch(() => {\n const rawParams = parseSearchParams(location().search);\n queryParamsFromUrl.set(rawParams);\n queryParamsState.set(decodeQueryParamsState(rawParams));\n });\n inject(DestroyRef).onDestroy(() => locationWatch.destroy());\n\n const parseExceptions = computed(() =>\n Object.entries(queryParamsConfig).reduce(\n (acc, [key, config]) => {\n const rawValue = queryParamsFromUrl()?.[key];\n if (rawValue === undefined || rawValue === null) {\n return acc;\n }\n\n try {\n const decoded = config.codec.decode(rawValue);\n if (isCraftException(decoded)) {\n acc[key] = enrichQueryParamsParseException(decoded, key);\n }\n return acc;\n } catch (error) {\n acc[key] = enrichQueryParamsParseException(\n createQueryParamDecodeError(key, rawValue, error),\n key,\n );\n return acc;\n }\n },\n {} as Record<string, AnyCraftException>,\n ),\n );\n\n const exceptions = computed(() => {\n const parse = parseExceptions();\n return {\n list: Object.values(parse),\n parse,\n };\n }) as Signal<QueryParamsExceptions<QueryParamsType>>;\n\n const hasException = computed(() => exceptions().list.length > 0);\n\n // Get initial values from the url or use the fallback values\n const getDefaultState = () =>\n Object.entries(queryParamsConfig).reduce(\n (acc, [key, config]) => {\n acc[key] = config.fallbackValue;\n return acc;\n },\n {} as Record<string, unknown>,\n ) as QueryParamsToState<QueryParamsType>;\n\n // Save the original set method before we override it\n const originalSet = queryParamsState.set.bind(queryParamsState);\n\n // Navigation helper\n const navigate = (\n newState: QueryParamsToState<QueryParamsType>,\n navOptions?: QueryParamsNavigationOptions,\n ) => {\n // Only include params that differ from their fallback values (SEO optimization)\n const serializedParams = Object.entries(queryParamsConfig).reduce(\n (acc, [key, config]) => {\n const currentValue = newState[key];\n // Skip if value equals fallback value\n if (currentValue !== config.fallbackValue) {\n try {\n const encoded = config.codec.encode(currentValue);\n if (isCraftException(encoded)) {\n throw createQueryParamEncodeError(key, currentValue, encoded);\n }\n acc[key] = encoded as string | string[];\n } catch (error) {\n throw createQueryParamEncodeError(key, currentValue, error);\n }\n }\n return acc;\n },\n {} as Record<string, string | string[]>,\n );\n\n // Update the local state only after all codecs have encoded successfully.\n originalSet(newState);\n\n const mergedOptions = { ...options, ...navOptions };\n\n queueMicrotask(() => {\n const current = history.get();\n let nextParams = serializedParams as Record<string, string>;\n if (mergedOptions.queryParamsHandling === 'preserve') {\n nextParams = parseSearchParams(current.search);\n } else if (mergedOptions.queryParamsHandling === 'merge') {\n nextParams = {\n ...parseSearchParams(current.search),\n ...nextParams,\n };\n }\n const search = serializeSearchParams(nextParams);\n const url = `${current.pathname}${search}${\n mergedOptions.preserveFragment === false ? '' : current.hash\n }`;\n if (mergedOptions.skipLocationChange) {\n history.skip(url, null);\n return;\n }\n if (mergedOptions.replaceUrl) {\n history.replace(url);\n return;\n }\n history.push(url);\n });\n };\n\n // Create individual property signals\n const props = Object.entries(queryParamsConfig).reduce(\n (acc, [key, config]) => {\n acc[key] = computed(() => queryParamsState()[key]);\n return acc;\n },\n {} as Record<string, Signal<unknown>>,\n );\n\n // Create methods\n const methods = {\n set: (\n params: QueryParamsToState<QueryParamsType>,\n navOptions?: QueryParamsNavigationOptions,\n ) => {\n navigate(params, navOptions);\n return params;\n },\n update: (\n updateFn: (\n currentParams: QueryParamsToState<QueryParamsType>,\n ) => QueryParamsToState<QueryParamsType>,\n navOptions?: QueryParamsNavigationOptions,\n ) => {\n const newState = updateFn(queryParamsState());\n navigate(newState, navOptions);\n return newState;\n },\n patch: (\n paramsOrPatchFn:\n | Partial<QueryParamsToState<QueryParamsType>>\n | ((\n currentParams: QueryParamsToState<QueryParamsType>,\n ) => Partial<QueryParamsToState<QueryParamsType>>),\n navOptions?: QueryParamsNavigationOptions,\n ) => {\n const params =\n typeof paramsOrPatchFn === 'function'\n ? paramsOrPatchFn(queryParamsState())\n : paramsOrPatchFn;\n const newState = { ...queryParamsState(), ...params };\n navigate(newState, navOptions);\n return newState;\n },\n reset: (navOptions?: QueryParamsNavigationOptions) => {\n const defaultState = getDefaultState();\n navigate(defaultState, navOptions);\n },\n };\n\n const insertionMethods = {\n set: (\n params: QueryParamsToState<QueryParamsType>,\n navOptions?: QueryParamsNavigationOptions,\n ) =>\n yieldableInvocation(methods.set(params, navOptions)),\n update: (\n updateFn: (\n currentParams: QueryParamsToState<QueryParamsType>,\n ) => QueryParamsToState<QueryParamsType>,\n navOptions?: QueryParamsNavigationOptions,\n ) =>\n yieldableInvocation(methods.update(updateFn, navOptions)),\n patch: (\n paramsOrPatchFn:\n | Partial<QueryParamsToState<QueryParamsType>>\n | ((\n currentParams: QueryParamsToState<QueryParamsType>,\n ) => Partial<QueryParamsToState<QueryParamsType>>),\n navOptions?: QueryParamsNavigationOptions,\n ) =>\n yieldableInvocation(methods.patch(paramsOrPatchFn, navOptions)),\n reset: (navOptions?: QueryParamsNavigationOptions) =>\n yieldableInvocation(methods.reset(navOptions)),\n } as unknown as QueryParamsMethods<QueryParamsToState<QueryParamsType>>;\n\n runInInjectionContext(injector, () =>\n ɵobservePrimitiveResourceRuntimeContext(\n ɵcreatePrimitiveResourceRuntimeContext('queryParams', {\n state: queryParamsState.asReadonly(),\n set: (value) =>\n methods.set(value as QueryParamsToState<QueryParamsType>),\n update: (updater) =>\n methods.update(\n (current) =>\n updater(current) as QueryParamsToState<QueryParamsType>,\n ),\n }),\n name,\n ),\n );\n\n // Process insertions\n const readonlyQueryParamsState = queryParamsState.asReadonly();\n const publicStateReader = createYieldableReactiveValue(\n readonlyQueryParamsState,\n 'state',\n { primitive: 'queryParams', path: `${name}.state` },\n );\n const publicHasException = createYieldableReactiveValue(\n hasException,\n 'hasException',\n { primitive: 'queryParams', path: `${name}.hasException` },\n );\n const publicExceptions = createYieldableReactiveValue(\n exceptions,\n 'exceptions',\n { primitive: 'queryParams', path: `${name}.exceptions` },\n );\n const insertionResults =\n (insertions as InsertionsQueryParamsFactory<QueryParamsType, {}>[])?.reduce(\n (acc, insert) => {\n const newInsertions = executeQueryParamsFactory(\n injector,\n insert,\n undefined,\n {\n state: publicStateReader,\n config: queryParamsConfig,\n hasException: publicHasException,\n exceptions: publicExceptions,\n ...insertionMethods,\n insertions: acc as {},\n } as InsertionQueryParamsFactoryContext<QueryParamsType, {}>,\n );\n const wrappedInsertions = Object.entries(newInsertions).reduce(\n (wrappedAcc, [key, value]) => {\n if (\n typeof value !== 'function' ||\n isSignal(value) ||\n isNonYieldableInsertionMethod(value)\n ) {\n wrappedAcc[key] = nameInsertedReactiveValue(\n value,\n key,\n 'queryParams',\n `${name}.${key}`,\n );\n return wrappedAcc;\n }\n if (isYieldableReactiveValue(value)) {\n wrappedAcc[key] = nameInsertedReactiveValue(\n value,\n key,\n 'queryParams',\n `${name}.${key}`,\n );\n return wrappedAcc;\n }\n const methodInjector = ɵcreateHostTaggedInjector(\n injector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n 'queryParams',\n {\n state: queryParamsState.asReadonly(),\n set: (next) =>\n methods.set(next as QueryParamsToState<QueryParamsType>),\n update: (updater) =>\n methods.update(\n (current) =>\n updater(\n current,\n ) as QueryParamsToState<QueryParamsType>,\n ),\n patch: (patchFn) =>\n methods.patch(\n (current) =>\n patchFn(current) as Partial<\n QueryParamsToState<QueryParamsType>\n >,\n ),\n },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n wrappedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage: QUERY_PARAM_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_PARAM_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n QUERY_PARAM_APP_START_ERROR_MESSAGE,\n });\n return wrappedAcc;\n },\n {} as Record<string, unknown>,\n );\n return {\n ...acc,\n ...wrappedInsertions,\n };\n },\n {} as Record<string, unknown>,\n ) || {};\n\n const queryParamsCallable = readonlyQueryParamsState;\n Object.defineProperty(queryParamsCallable, 'name', {\n configurable: true,\n writable: true,\n value: undefined,\n });\n const queryParamsOutput = Object.assign(\n queryParamsCallable,\n props,\n insertionResults,\n { hasException, exceptions, _config: config },\n ) as unknown as QueryParamsOutput<QueryParamsType, {}, QueryParamsState>;\n\n const snapshotRegistry = injector.get(APP_SNAPSHOT_REGISTRY, null);\n const hostTagList: readonly string[] =\n injector.get(ɵHOST_TAG_LIST, null) ?? [];\n\n const destroyRefParam = injector.get(DestroyRef, null);\n\n if (snapshotRegistry && destroyRefParam) {\n snapshotRegistry.triggerSnapshot$\n .pipe(takeUntilDestroyed(destroyRefParam))\n .subscribe(() => {\n const insertionSnapshots = triggerAndCollectInsertions(\n insertionSnapshotRegistry,\n );\n let stateSnapshot: unknown;\n try {\n stateSnapshot = {\n value: queryParamsState(),\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n } catch (error) {\n stateSnapshot = {\n error: error instanceof Error ? error.message : String(error),\n };\n }\n snapshotRegistry.allSnapShot$.next({\n source: 'queryParams',\n from: hostTagList,\n state: stateSnapshot,\n });\n });\n }\n\n const publicQueryParams = createYieldableReactiveFacade(queryParamsOutput, {\n name,\n primitive: 'queryParams',\n path: name,\n });\n return (hasDeepYieldableInsertion(insertions)\n ? deepYieldable(publicQueryParams)\n : publicQueryParams) as QueryParamsOutput<QueryParamsType, {}, QueryParamsState>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.core.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query.core.ts"],"names":[],"mappings":"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"}