@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":"make-form-tree-insert.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/make-form-tree-insert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,CAAC,MAAM,iBAAiB,EAAE,OAAO,MAAM,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAElE,wBAAgB,YAAY,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAEjD;AAED,KAAK,aAAa,CAAC,QAAQ,SAAS,MAAM,IAAI,SAAS,QAAQ,MAAM,CAAC;AACtE,KAAK,OAAO,CAAC,QAAQ,SAAS,MAAM,IAAI,GAAG,QAAQ,MAAM,CAAC;AAE1D,KAAK,wBAAwB,CAC3B,QAAQ,SAAS,MAAM,EACvB,SAAS,EACT,gBAAgB,IACd;KACD,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAC9B,WAAW,SAAS,SAAS,EAC7B,cAAc,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAC1D,yBAAyB,GAAG,EAAE,OACzB,qBAAqB,CAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,yBAAyB,CAC1B;CACF,GAAG;KACD,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC;CAC1E,CAAC;AAcF,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,QAAQ,SAAS,MAAM,EAC7B,SAAS,EACT,UAAU,EACV,iBAAiB,GAAG,KAAK,EAEzB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,EAClC,UAAU,EAAE,qBAAqB,CAC/B,SAAS,EACT,OAAO,EACP,UAAU,EACV,EAAE,EACF,iBAAiB,CAClB,GACA,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-form-tree-insert.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/make-form-tree-insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAiB5E,MAAM,UAAU,YAAY;IAC1B,OAAO,SAAuC,CAAC;AACjD,CAAC;AAwBD,MAAM,+CAA+C,GACnD,uGAAuG,CAAC;AAC1G,MAAM,2CAA2C,GAC/C,+DAA+D,CAAC;AA0BlE,wEAAwE;AACxE,kBAAkB;AAClB,wEAAwE;AAExE,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,UAAiC;AACjC,8DAA8D;AAC9D,UAAqD;IAGrD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO;QACL,8DAA8D;QAC9D,aAAyD,EACzD,EAAE;YACF,MAAM,cAAc,GAAG,yBAAyB,CAC9C,MAAM,CAAC,QAAQ,CAAC,EAChB,YAAY,QAAQ,EAAE,CACvB,CAAC;YAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,CACxD,UAAU,CAAC;gBACT,GAAG,aAAa;gBAChB,UAAU,EAAE;oBACV,GAAI,aAAa,CAAC,UAAsC;iBAChD;aACX,CAAC,CACH,CAAC;YAEF,OAAO,CACL,WAAW,CAAC,MAAM,CAAC;gBACjB,CAAC,CAAC,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,CACzC,iBAAiB,CAAC;oBAChB,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,cAAc;oBACxB,SAAS,EAAE,UAAU;oBACrB,wBAAwB,EACtB,+CAA+C;oBACjD,4BAA4B,EAC1B,2CAA2C;oBAC7C,kCAAkC,EAChC,2CAA2C;iBAC9C,CAAC,CAAC,KAAK,CACT;gBACH,CAAC,CAAC,MAAM,CACgB,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,CAAC,SAAS,QAAQ,MAAM,CAAC,EAAE,OAAO;QAClC,CAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,SAAS;KAC/B,CAAC;AACJ,CAAC","sourcesContent":["import { inject, Injector, runInInjectionContext } from '../host/craft-compat';\nimport { ɵcreateHostTaggedInjector } from '../craft-service';\nimport { isGenerator, runCraftGenerator } from '../craft-generator-runtime';\nimport type {\n FormWithInsertions,\n InsertionFormFactoryContext,\n InsertionsFormFactory,\n} from './insert-form-internals';\n\ndeclare const formTreeNeedBrand: unique symbol;\n\n/**\n * Phantom-typed marker returned by `formTreeNeed<T>()`. Carries `T` only at\n * the type level so `makeFormTreeInsert` can extract the required parent shape\n * via inference on its branded argument, leaving the insertion-argument\n * generics free to flow contextual types in the usual way.\n */\nexport type FormTreeNeed<T> = { readonly [formTreeNeedBrand]: T };\n\nexport function formTreeNeed<T>(): FormTreeNeed<T> {\n return undefined as unknown as FormTreeNeed<T>;\n}\n\ntype InsertTreeKey<HostName extends string> = `insert${HostName}Tree`;\ntype TreeKey<HostName extends string> = `${HostName}Tree`;\n\ntype MakeFormTreeInsertReturn<\n HostName extends string,\n NeedShape,\n MergedInsertions,\n> = {\n [K in InsertTreeKey<HostName>]: <\n ParentState extends NeedShape,\n FormIdentifier extends string | number | unknown = unknown,\n PreviousInsertionsOutputs = {},\n >() => InsertionsFormFactory<\n ParentState,\n FormIdentifier,\n MergedInsertions,\n PreviousInsertionsOutputs\n >;\n} & {\n [K in TreeKey<HostName>]: FormWithInsertions<NeedShape, MergedInsertions>;\n};\n\nconst FORM_TREE_INSERTION_INVALID_YIELD_ERROR_MESSAGE =\n 'makeFormTreeInsert generators can only yield craftService dependencies or exposed dependency helpers.';\nconst FORM_TREE_INSERTION_APP_START_ERROR_MESSAGE =\n 'makeFormTreeInsert generators do not support onAppStart(...).';\n\n// =====================================================================\n// Public API\n// =====================================================================\n//\n// Single insertion slot only — to compose several insertions, use `craftPipe`\n// inside that slot: `makeFormTreeInsert('Host', needShape, (context) => craftPipe(context, m1, m2))`.\n\nexport function makeFormTreeInsert<\n const HostName extends string,\n NeedShape,\n Insertion1,\n Insertion1Yielded = never,\n>(\n hostName: HostName,\n needShape: FormTreeNeed<NeedShape>,\n insertion1: InsertionsFormFactory<\n NeedShape,\n unknown,\n Insertion1,\n {},\n Insertion1Yielded\n >,\n): MakeFormTreeInsertReturn<HostName, NeedShape, Insertion1>;\n\n// =====================================================================\n// Implementation\n// =====================================================================\n\nexport function makeFormTreeInsert(\n hostName: string,\n _needShape: FormTreeNeed<unknown>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n insertion1: InsertionsFormFactory<any, any, any, any>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n const factory = () => {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parentContext: InsertionFormFactoryContext<any, any, any>,\n ) => {\n const taggedInjector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `formTree:${hostName}`,\n );\n\n const result = runInInjectionContext(taggedInjector, () =>\n insertion1({\n ...parentContext,\n insertions: {\n ...(parentContext.insertions as Record<string, unknown>),\n } as never,\n }),\n );\n\n return (\n isGenerator(result)\n ? runInInjectionContext(taggedInjector, () =>\n runCraftGenerator({\n iterator: result,\n injector: taggedInjector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n FORM_TREE_INSERTION_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n FORM_TREE_INSERTION_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n FORM_TREE_INSERTION_APP_START_ERROR_MESSAGE,\n }).value,\n )\n : result\n ) as Record<string, unknown>;\n };\n };\n\n return {\n [`insert${hostName}Tree`]: factory,\n [`${hostName}Tree`]: undefined,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-form-field.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/target-form-field.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEpE,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,MAAM,EAAE,GACzC,CAAC,GACD,CAAC,SAAS,OAAO,GAAG,OAAO,GACzB,CAAC,GACD,KAAK,CAAC;AAEZ,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,IAClD,WAAW,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GAC5C,IAAI,SAAS,MAAM,GACjB,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GACpC,KAAK,GACP,WAAW,CAAC,CAAC,CAAC,SAAS,MAAM,GAC3B,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAC9C,KAAK,CAAC;AAKd,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,IAAI;KAC7D,CAAC,IAAI,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CACxD,GAAG,IAAI,EAAE,KAAK,EAAE,KACb,MAAM,CAAC,GACR,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,GAClF,KAAK;CACV,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,IACnE,CAAC,CAAC,QAAQ,CAAC,SAAS,KAAK,CAAC,QAAQ,CAAC,GAC/B,KAAK,GACL,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjE,KAAK,oBAAoB,CAAC,IAAI,EAAE,IAAI,SAAS,MAAM,IACjD,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACtC,IAAI,SAAS,MAAM,IAAI,GACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAC9C,WAAW,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GAC9C,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,GAChC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAC5C,KAAK,GACP,KAAK,GACP,IAAI,SAAS,MAAM,IAAI,GACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,GAC9C,WAAW,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GAC9C,IAAI,GACJ,WAAW,CAAC,CAAC,CAAC,GAChB,KAAK,GACP,KAAK,CAAC;AAEd,MAAM,MAAM,eAAe,CACzB,IAAI,EACJ,IAAI,SAAS,aAAa,CAAC,IAAI,CAAC,IAC9B,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-form-field.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/target-form-field.ts"],"names":[],"mappings":"","sourcesContent":["type Depth = [unknown, unknown, unknown, unknown, unknown, unknown];\n\ntype StepKey<K> = K extends `select${string}`\n ? K\n : K extends 'items' | 'forms'\n ? K\n : never;\n\ntype DescendInto<R, D extends ReadonlyArray<unknown>> =\n NonNullable<R> extends ReadonlyArray<infer Item>\n ? Item extends object\n ? FormFieldPath<Item, [...D, unknown]>\n : never\n : NonNullable<R> extends object\n ? FormFieldPath<NonNullable<R>, [...D, unknown]>\n : never;\n\n// Split out so the lookup below indexes by the mapped type's OWN keys.\n// Indexing with `StepKey<keyof Form & string>` is not provably a key of the\n// map when `Form` is still generic, which TS rejects (TS2536).\ntype FormFieldPathMap<Form, D extends ReadonlyArray<unknown>> = {\n [K in keyof Form & string as StepKey<K>]: Form[K] extends (\n ...args: never[]\n ) => infer R\n ? K | (DescendInto<R, D> extends infer Next extends string ? `${K}.${Next}` : never)\n : never;\n};\n\nexport type FormFieldPath<Form, D extends ReadonlyArray<unknown> = []> =\n D['length'] extends Depth['length']\n ? never\n : FormFieldPathMap<Form, D>[keyof FormFieldPathMap<Form, D>];\n\ntype ResolveFormFieldPath<Form, Path extends string> =\n Path extends `${infer Head}.${infer Rest}`\n ? Head extends keyof Form\n ? Form[Head] extends (...args: never[]) => infer R\n ? NonNullable<R> extends ReadonlyArray<infer Item>\n ? ResolveFormFieldPath<Item, Rest>\n : ResolveFormFieldPath<NonNullable<R>, Rest>\n : never\n : never\n : Path extends keyof Form\n ? Form[Path] extends (...args: never[]) => infer R\n ? NonNullable<R> extends ReadonlyArray<infer Item>\n ? Item\n : NonNullable<R>\n : never\n : never;\n\nexport type TargetFormField<\n Form,\n Path extends FormFieldPath<Form>,\n> = ResolveFormFieldPath<Form, Path>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAqB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,iBAAiB,EAEjB,oBAAoB,EACpB,aAAa,EACb,+BAA+B,EAEhC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAGL,cAAc,EACd,qBAAqB,EAErB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7C,MAAM,MAAM,kBAAkB,CAC5B,IAAI,EACJ,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB;IACF,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACZ,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,aAAa,GAAG,MAAM,EACnC,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB;IACF,KAAK,EAAE,IAAI,CAAC;CACb,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,aAAa,GAAG,OAAO,EACpC,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB;IACF,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzC,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAErC,KAAK,gBAAgB,CACnB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,IAAI,SAAS,oBAAoB,GAAG,oBAAoB,IACtD;IACF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,uBAAuB,CAC1B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,aAAa,GAAG,aAAa,EAC1C,IAAI,SAAS,oBAAoB,GAAG,oBAAoB,IACtD;IACF,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CACxE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CACzB,MAAM,EACN,IAAI,SAAS,MAAM,EACnB,UAAU,EACV,IAAI,SAAS,aAAa,GAAG,MAAM,EACnC,UAAU,GAAG,OAAO,EACpB,IAAI,SAAS,MAAM,GAAG,EAAE,IACtB,cAAc,CAAC,MAAM,CAAC,GACxB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG;IAC9C,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;IACnC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;CACpC,CAAC;AAEJ,KAAK,eAAe,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAEvD,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,qBAAqB,GACtB;IACE,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,KAAK,kBAAkB,CACrB,IAAI,SAAS,MAAM,EACnB,OAAO,GAAG,SAAS,IACjB,oBAAoB,CACtB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,EACD,OAAO,CACR,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC1E,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE/D,KAAK,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC;AAC/C,KAAK,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,IAAI,eAAe,CAAC;AAC9E,KAAK,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,IAC/D,eAAe,GACb,CACI;IACE,GAAG,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/C,CACJ,CAAC;AACN,KAAK,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,IAC/D,eAAe,GACb,CACI;IACE,GAAG,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC/C,CACJ,CAAC;AACN,KAAK,gBAAgB,CAAC,MAAM,SAAS,qBAAqB,IACxD,eAAe,GAAG;IAChB,SAAS,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAChD,CAAC;AACJ,KAAK,gBAAgB,CAAC,MAAM,SAAS,qBAAqB,IACxD,eAAe,GAAG;IAChB,SAAS,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAChD,CAAC;AACJ,KAAK,cAAc,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,IAC1D,eAAe,GAAG;IAChB,OAAO,EAAE,eAAe,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEJ,KAAK,mBAAmB,CAAC,IAAI,SAAS,MAAM,IAAI;IAC9C,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,2BAA2B,CAC9B,MAAM,EACN,IAAI,SAAS,MAAM,EACnB,UAAU,EACV,UAAU,GAAG,OAAO,IAClB,mBAAmB,CAAC,IAAI,CAAC,GAAG;IAC9B,QAAQ,EAAE,CACR,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE,KAChE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,yBAAyB,CAC5B,MAAM,EACN,IAAI,SAAS,MAAM,EACnB,UAAU,EACV,UAAU,GAAG,OAAO,IAClB,mBAAmB,CAAC,IAAI,CAAC,GAC3B,eAAe,GAAG;IAChB,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACxC,CAAC;AAEJ,KAAK,mBAAmB,CACtB,MAAM,EACN,IAAI,SAAS,MAAM,EACnB,UAAU,EACV,UAAU,GAAG,OAAO,IAElB,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GACjE,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEpE,KAAK,kBAAkB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAEnE,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC,CAAC;IAC9D,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC;CACvC,CAAC;AAaF,KAAK,4BAA4B,CAAC,YAAY,IAAI,YAAY,SAAS;IACrE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,gBAAgB,CAAC;CACpD,GACG,WAAW,CAAC,gBAAgB,CAAC,GAC7B,YAAY,CAAC;AAEjB,KAAK,gCAAgC,CAAC,YAAY,IAAI,YAAY,SAAS;IACzE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,UAAU,KAAK,OAAO,CAAC;CACnD,GACG,UAAU,GACV,OAAO,CAAC;AAEZ,KAAK,oCAAoC,CAAC,SAAS,IAAI,SAAS,SAAS;IACvE,UAAU,EAAE,kBAAkB,CAAC;QAAE,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;CAC/D,GACG,SAAS,GACT,KAAK,CAAC;AAEV,KAAK,8BAA8B,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACtE,IAAI,GACJ,CAAC,CAAC;AAEN,KAAK,qBAAqB,CACxB,MAAM,EACN,YAAY,SAAS,wBAAwB,EAC7C,UAAU,GAAG,OAAO,EACpB,SAAS,GAAG,4BAA4B,CAAC,YAAY,CAAC,EACtD,kBAAkB,GAAG,oCAAoC,CAAC,SAAS,CAAC,EACpE,sBAAsB,GAAG,+BAA+B,CAAC,kBAAkB,CAAC,IAC1E,qBAAqB,CAAC,MAAM,CAAC,GAAG;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,0BAA0B,EAAE,SAAS,CAAC;IACtC,cAAc,EAAE,CAAC,CAAC,SAAS,sBAAsB,EAC/C,KAAK,EAAE,SAAS,CAAC,EAAE,KAChB,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEF,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAClD,IAAI,GACJ,WAAW,CAAC,CAAC,CAAC,SAAS,iBAAiB,GACtC,IAAI,GACJ,WAAW,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GAC5C,IAAI,SAAS,iBAAiB,GAC5B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEd,KAAK,4BAA4B,CAC/B,iBAAiB,EACjB,eAAe,EACf,mBAAmB,IAEnB,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,IAAI,GAClD,sBAAsB,CAAC,eAAe,CAAC,SAAS,IAAI,GAClD,sBAAsB,CAAC,mBAAmB,CAAC,SAAS,IAAI,GACtD,IAAI,GACJ;IACE,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,KAAK,CAAC;CACnB,GACH;IACE,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;CACzD,GACH;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC/C,UAAU,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;CACzD,CAAC;AAER,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,6BAA6B,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAClD,KAAK,GACL,CAAC,SAAS,iBAAiB,GACzB,aACI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,8BAA8B,GAAG,KAAK,CAAC,GACrE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,GAAG,gBAAgB,GAAG,KAAK,CAAC,GACrD,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,GAAG,sBAAsB,GAAG,KAAK,CAAC,EAAE,GACtE,KAAK,CAAC;AAEZ,KAAK,oBAAoB,CACvB,MAAM,EACN,IAAI,SAAS,MAAM,EACnB,YAAY,SAAS,wBAAwB,EAC7C,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,GAAG,OAAO,IAClB,YAAY,CACd;IACE,eAAe,GAAG;QAChB,IAAI,EAAE,IAAI,CAAC;QACX,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,KAC7D,OAAO,CAAC;QACb,mBAAmB,CAAC,EAAE,CACpB,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,KAC7D,iBAAiB,CAAC;QACvB,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,KAC7D,eAAe,CAAC;QACrB,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,KAC7D,mBAAmB,CAAC;KAC1B;IACD,4BAA4B,CAC1B,iBAAiB,EACjB,eAAe,EACf,mBAAmB,CACpB,SAAS,IAAI,GACV,EAAE,GACF;QACE,WAAW,EAAE,yGAAyG,6BAA6B,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;KAC9O;CACN,CACF,CAAC;AAEF,KAAK,0BAA0B,CAC7B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,IACjB,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,GACvC,OAAO,CACH,kBAAkB,GAClB,8BAA8B,CAAC,iBAAiB,CAAC,GACjD,8BAA8B,CAAC,eAAe,CAAC,EACjD,SAAS,CACV,GACD,OAAO,CACH,8BAA8B,CAAC,iBAAiB,CAAC,GACjD,8BAA8B,CAAC,eAAe,CAAC,GAC/C,8BAA8B,CAAC,mBAAmB,CAAC,EACrD,SAAS,CACV,CAAC;AA2qBN,wBAAgB,SAAS,CAAC,MAAM,EAC9B,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAC/B,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAE1D;AAED,wBAAgB,MAAM,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7D,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAC5B,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAEpD;AAED,wBAAgB,IAAI,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACpE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GACzB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAShD;AAED,wBAAgB,IAAI,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EACpE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GACzB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAShD;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,qBAAqB,EAC7D,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAC/B,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAE5D;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,qBAAqB,EAC7D,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAC/B,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAE5D;AAED,wBAAgB,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/D,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAC7B,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAExD;AAED,wBAAgB,SAAS,CACvB,MAAM,EACN,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,UAAU,EACV,UAAU,GAAG,OAAO,EAEpB,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAChE,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAE/D;AAED,eAAO,MAAM,UAAU,kBAAY,CAAC;AAEpC,wBAAgB,cAAc,CAC5B,MAAM,EACN,YAAY,SAAS,wBAAwB,EAC7C,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,iBAAiB,GAAG,SAAS,EAC7B,eAAe,GAAG,SAAS,EAC3B,mBAAmB,GAAG,OAAO,EAC7B,UAAU,GAAG,gCAAgC,CAAC,YAAY,CAAC,EAE3D,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,oBAAoB,CAC1B,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,CACX,GACA,eAAe,CAChB,MAAM,EACN,IAAI,EACJ,0BAA0B,CACxB,oCAAoC,CAClC,4BAA4B,CAAC,YAAY,CAAC,CAC3C,EACD,iBAAiB,EACjB,eAAe,EACf,mBAAmB,CACpB,EACD,OAAO,EACP,UAAU,CACX,CAEA;AAED,eAAO,MAAM,eAAe,uBAAiB,CAAC;AAG9C,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/form/validator.ts"],"names":[],"mappings":"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","sourcesContent":["import { computed, effect, Signal, signal, untracked } from '../host/craft-compat';\nimport {\n AnyCraftException,\n CRAFT_EXCEPTION_SYMBOL,\n CraftExceptionResult,\n ExcludeByCode,\n ExtractCodeFromCraftResultUnion,\n isCraftException,\n} from '../craft-exception';\nimport {\n isYieldableReactiveValue,\n rawReactiveFacade,\n rawReactiveValue,\n type YieldableReactiveValue,\n} from '../reactive-read';\nimport { MergeObjects } from '../util/util.type';\nimport {\n CraftField,\n CraftFieldError,\n CraftValidator,\n CraftValidatorContext,\n CraftValidatorOutput,\n FieldAttributeMeta,\n} from './craft-field';\n\nexport const VALIDATOR_OUTPUT_SYMBOL = Symbol('VALIDATOR_OUTPUT_SYMBOL');\n\nexport type ValidatorType = 'sync' | 'async';\n\nexport type ValidatorUtilBrand<\n Name,\n Type extends ValidatorType = ValidatorType,\n Meta extends object = {},\n> = {\n __brand: Name;\n type: Type;\n} & Meta;\n\nexport type ValidatorSuccess<\n Name extends string,\n Type extends ValidatorType = 'sync',\n Meta extends object = {},\n> = {\n valid: true;\n} & ValidatorUtilBrand<Name, Type, Meta>;\n\nexport type ValidatorPending<\n Name extends string,\n Type extends ValidatorType = 'async',\n Meta extends object = {},\n> = {\n valid: false;\n} & ValidatorUtilBrand<Name, Type, Meta>;\n\ntype ValidatorRuntimeKind = 'signal';\n\ntype ValidatorRuntime<\n Name extends string = string,\n Type extends ValidatorType = ValidatorType,\n Kind extends ValidatorRuntimeKind = ValidatorRuntimeKind,\n> = {\n readonly name: Name;\n readonly type: Type;\n readonly kind: Kind;\n};\n\ntype ValidatorRuntimeCarrier<\n Name extends string = string,\n Type extends ValidatorType = ValidatorType,\n Kind extends ValidatorRuntimeKind = ValidatorRuntimeKind,\n> = {\n readonly [VALIDATOR_OUTPUT_SYMBOL]: ValidatorRuntime<Name, Type, Kind>;\n};\n\n/**\n * A Craft validator factory output.\n *\n * Calling the returned function from inside `CraftField.ɵregisterValidator` (which\n * `insertFormAttributes` does internally) yields a `CraftValidatorResult` that the\n * field aggregates into its `errors()` and native-constraint signals.\n */\nexport type ValidatorOutput<\n TValue,\n Name extends string,\n Exceptions,\n Type extends ValidatorType = 'sync',\n Identifier = unknown,\n Meta extends object = {},\n> = CraftValidator<TValue> &\n ValidatorRuntimeCarrier<Name, Type, 'signal'> & {\n /** @internal phantom marker for type extraction */\n readonly __exceptions?: Exceptions;\n /** @internal phantom marker for type extraction */\n readonly __meta?: Meta;\n /** @internal phantom marker for type extraction */\n readonly __identifier?: Identifier;\n };\n\ntype ValidatorOption<TValue> = TValue | (() => TValue);\n\ntype ValidatorConfig = {\n when?: ValidatorOption<boolean>;\n};\n\ntype ValueWithLengthOrSize =\n | {\n length: number;\n }\n | {\n size: number;\n };\n\ntype ValidatorException<\n Code extends string,\n Payload = undefined,\n> = CraftExceptionResult<\n {\n _tag: Code;\n },\n Payload\n>;\n\nexport type CRequiredException = ValidatorException<'required'>;\nexport type CEmailException = ValidatorException<'email'>;\nexport type CMinException = ValidatorException<'min', number>;\nexport type CMaxException = ValidatorException<'max', number>;\nexport type CMinLengthException = ValidatorException<'minLength', number>;\nexport type CMaxLengthException = ValidatorException<'maxLength', number>;\ntype CPatternException = ValidatorException<'pattern', RegExp>;\n\ntype CRequiredConfig<TValue> = ValidatorConfig;\ntype CEmailConfig<TValue extends string | null | undefined> = ValidatorConfig;\ntype CMinConfig<TValue extends number | string | null | undefined> =\n ValidatorConfig &\n (\n | {\n min: ValidatorOption<number | undefined>;\n minValue?: never;\n }\n | {\n min?: never;\n minValue: ValidatorOption<number | undefined>;\n }\n );\ntype CMaxConfig<TValue extends number | string | null | undefined> =\n ValidatorConfig &\n (\n | {\n max: ValidatorOption<number | undefined>;\n maxValue?: never;\n }\n | {\n max?: never;\n maxValue: ValidatorOption<number | undefined>;\n }\n );\ntype CMinLengthConfig<TValue extends ValueWithLengthOrSize> =\n ValidatorConfig & {\n minLength: ValidatorOption<number | undefined>;\n };\ntype CMaxLengthConfig<TValue extends ValueWithLengthOrSize> =\n ValidatorConfig & {\n maxLength: ValidatorOption<number | undefined>;\n };\ntype CPatternConfig<TValue extends string | null | undefined> =\n ValidatorConfig & {\n pattern: ValidatorOption<RegExp | undefined>;\n };\n\ntype CValidateBaseConfig<Name extends string> = {\n name: Name;\n type?: 'sync';\n};\n\ntype CValidateAdvancedSyncConfig<\n TValue,\n Name extends string,\n Exceptions,\n Identifier = unknown,\n> = CValidateBaseConfig<Name> & {\n validate: (\n context: CraftValidatorContext<TValue> & { identifier: Identifier },\n ) => Signal<Exceptions | undefined>;\n};\n\ntype CValidateSimpleSyncConfig<\n TValue,\n Name extends string,\n Exceptions,\n Identifier = unknown,\n> = CValidateBaseConfig<Name> &\n ValidatorConfig & {\n validWhen: ValidatorOption<boolean>;\n exception: ValidatorOption<Exceptions>;\n };\n\ntype CValidateSyncConfig<\n TValue,\n Name extends string,\n Exceptions,\n Identifier = unknown,\n> =\n | CValidateAdvancedSyncConfig<TValue, Name, Exceptions, Identifier>\n | CValidateSimpleSyncConfig<TValue, Name, Exceptions, Identifier>;\n\ntype AsyncReactiveValue<T> = Signal<T> | YieldableReactiveValue<T>;\n\ntype AnyAsyncCraftResourceRef = {\n kind: 'query' | 'mutation';\n exceptions: AsyncReactiveValue<{ list: AnyCraftException[] }>;\n hasException: AsyncReactiveValue<boolean>;\n resourceParamsSrc: AsyncReactiveValue<unknown>;\n call?: (value: any) => unknown;\n mutate?: (value: any) => unknown;\n select?: (identifier: any) => unknown;\n};\n\ntype AsyncValidatorRequest<TResourceRef extends AnyAsyncCraftResourceRef> =\n TResourceRef extends { call: (value: infer Args) => unknown }\n ? Args\n : TResourceRef extends { mutate: (value: infer Args) => unknown }\n ? Args\n : TResourceRef extends {\n resourceParamsSrc: AsyncReactiveValue<infer Params>;\n }\n ? Exclude<Params, undefined>\n : never;\n\ntype AsyncValidatorResourceTarget<TResourceRef> = TResourceRef extends {\n select: (...args: any[]) => infer SelectedResource;\n}\n ? NonNullable<SelectedResource>\n : TResourceRef;\n\ntype AsyncValidatorResourceIdentifier<TResourceRef> = TResourceRef extends {\n select: (identifier: infer Identifier) => unknown;\n}\n ? Identifier\n : unknown;\n\ntype AsyncValidatorResourceExceptionUnion<TResource> = TResource extends {\n exceptions: AsyncReactiveValue<{ list: (infer Exception)[] }>;\n}\n ? Exception\n : never;\n\ntype ExtractValidatorExceptionItems<T> = T extends readonly (infer Item)[]\n ? Item\n : T;\n\ntype AsyncValidatorContext<\n TValue,\n TResourceRef extends AnyAsyncCraftResourceRef,\n Identifier = unknown,\n TResource = AsyncValidatorResourceTarget<TResourceRef>,\n ResourceExceptions = AsyncValidatorResourceExceptionUnion<TResource>,\n ResourceExceptionCodes = ExtractCodeFromCraftResultUnion<ResourceExceptions>,\n> = CraftValidatorContext<TValue> & {\n identifier: Identifier;\n validateAsyncCraftResource: TResource;\n omitExceptions: <C extends ResourceExceptionCodes>(\n codes: readonly C[],\n ) => ExcludeByCode<ResourceExceptions, C>[];\n};\n\ntype IsValidAsyncExceptions<T> = [unknown] extends [T]\n ? true\n : NonNullable<T> extends AnyCraftException\n ? true\n : NonNullable<T> extends readonly (infer Item)[]\n ? Item extends AnyCraftException\n ? true\n : false\n : false;\n\ntype HasValidAsyncExceptionReturn<\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n> =\n IsValidAsyncExceptions<SuccessExceptions> extends true\n ? IsValidAsyncExceptions<ErrorExceptions> extends true\n ? IsValidAsyncExceptions<ExceptionExceptions> extends true\n ? true\n : {\n success: true;\n error: true;\n exceptions: false;\n }\n : {\n success: true;\n error: false;\n exceptions: IsValidAsyncExceptions<ExceptionExceptions>;\n }\n : {\n success: false;\n error: IsValidAsyncExceptions<ErrorExceptions>;\n exceptions: IsValidAsyncExceptions<ExceptionExceptions>;\n };\n\ntype ValidationDetails = {\n success: boolean;\n error: boolean;\n exceptions: boolean;\n};\n\ntype InvalidAsyncExceptionsMessage<T> = T extends true\n ? never\n : T extends ValidationDetails\n ? `Not valid ${\n | (T['success'] extends false ? 'exceptionsOnSuccess callback' : never)\n | (T['error'] extends false ? 'error callback' : never)\n | (T['exceptions'] extends false ? 'onException callback' : never)}`\n : never;\n\ntype CAsyncValidateConfig<\n TValue,\n Name extends string,\n TResourceRef extends AnyAsyncCraftResourceRef,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n Identifier = unknown,\n> = MergeObjects<\n [\n ValidatorConfig & {\n name: Name;\n isValidSuccess?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => boolean;\n exceptionsOnSuccess?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => SuccessExceptions;\n exception?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => ErrorExceptions;\n onException?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => ExceptionExceptions;\n },\n HasValidAsyncExceptionReturn<\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions\n > extends true\n ? {}\n : {\n typingError: `cAsyncValidate callbacks must only return Craft exceptions, arrays of Craft exceptions, or undefined. ${InvalidAsyncExceptionsMessage<HasValidAsyncExceptionReturn<SuccessExceptions, ErrorExceptions, ExceptionExceptions>>}`;\n },\n ]\n>;\n\ntype ToAsyncValidatorExceptions<\n ResourceExceptions,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n> = [unknown] extends [ExceptionExceptions]\n ? Exclude<\n | ResourceExceptions\n | ExtractValidatorExceptionItems<SuccessExceptions>\n | ExtractValidatorExceptionItems<ErrorExceptions>,\n undefined\n >\n : Exclude<\n | ExtractValidatorExceptionItems<SuccessExceptions>\n | ExtractValidatorExceptionItems<ErrorExceptions>\n | ExtractValidatorExceptionItems<ExceptionExceptions>,\n undefined\n >;\n\nconst SYNC_VALIDATOR_TYPE = 'sync' as const;\nconst ASYNC_VALIDATOR_TYPE = 'async' as const;\n\nfunction resolveValidatorOption<TValue>(\n option: ValidatorOption<TValue>,\n): TValue {\n if (typeof option === 'function') {\n return (option as () => TValue)();\n }\n\n return option;\n}\n\nfunction shouldValidate(when?: ValidatorOption<boolean>): boolean {\n return when === undefined ? true : resolveValidatorOption(when);\n}\n\nfunction brandException<\n Name extends string,\n Type extends ValidatorType,\n Code extends string,\n Payload,\n>(\n name: Name,\n type: Type,\n _tag: Code,\n payload: Payload,\n): AnyCraftException & ValidatorUtilBrand<Name, Type, {}> {\n return {\n _tag,\n [CRAFT_EXCEPTION_SYMBOL]: true,\n payload,\n [_tag]: payload,\n __brand: name,\n type,\n } as AnyCraftException & ValidatorUtilBrand<Name, Type, {}>;\n}\n\nfunction brandRawException<Name extends string, Type extends ValidatorType>(\n name: Name,\n type: Type,\n exception: AnyCraftException | AnyCraftException[],\n): CraftFieldError | CraftFieldError[] {\n if (Array.isArray(exception)) {\n return exception.map(\n (e) => ({ ...e, __brand: name, type }) as unknown as CraftFieldError,\n );\n }\n return { ...exception, __brand: name, type } as unknown as CraftFieldError;\n}\n\nfunction withRuntime<\n Name extends string,\n Type extends ValidatorType,\n TValidator extends CraftValidator<any>,\n>(\n validator: TValidator,\n runtime: ValidatorRuntime<Name, Type, 'signal'>,\n): TValidator & ValidatorRuntimeCarrier<Name, Type, 'signal'> {\n return Object.assign(validator, {\n [VALIDATOR_OUTPUT_SYMBOL]: runtime,\n });\n}\n\nfunction isEmptyValue(value: unknown): boolean {\n if (value === null || value === undefined) return true;\n if (typeof value === 'string') return value.length === 0;\n if (Array.isArray(value)) return value.length === 0;\n return false;\n}\n\nfunction asNumber(value: unknown): number | undefined {\n if (value === null || value === undefined || value === '') return undefined;\n const n = typeof value === 'number' ? value : Number(value);\n return Number.isNaN(n) ? undefined : n;\n}\n\nfunction lengthOf(value: unknown): number | undefined {\n if (value === null || value === undefined) return undefined;\n if (typeof value === 'string') return value.length;\n if (Array.isArray(value)) return value.length;\n if (\n typeof value === 'object' &&\n 'length' in value &&\n typeof (value as { length: unknown }).length === 'number'\n ) {\n return (value as { length: number }).length;\n }\n if (\n typeof value === 'object' &&\n 'size' in value &&\n typeof (value as { size: unknown }).size === 'number'\n ) {\n return (value as { size: number }).size;\n }\n return undefined;\n}\n\nfunction normalizeCraftExceptionOutput(\n value: unknown,\n):\n | { raw: AnyCraftException | AnyCraftException[]; list: AnyCraftException[] }\n | undefined {\n if (value === undefined) return undefined;\n if (Array.isArray(value)) {\n const list = value.filter(isCraftException);\n return list.length === 0 ? undefined : { raw: list, list };\n }\n if (!isCraftException(value)) return undefined;\n return { raw: value, list: [value] };\n}\n\nfunction getResourceExceptionList(value: unknown): AnyCraftException[] {\n if (\n typeof value !== 'object' ||\n value === null ||\n !('exceptions' in value) ||\n typeof (value as { exceptions?: unknown }).exceptions !== 'function'\n ) {\n return [];\n }\n const exceptions = (\n value as {\n exceptions: AsyncReactiveValue<{ list?: unknown[] }>;\n }\n ).exceptions;\n const list = readAsyncReactiveValue(exceptions)?.list;\n return Array.isArray(list) ? list.filter(isCraftException) : [];\n}\n\nfunction hasResourceExceptions(value: unknown): boolean {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'hasException' in value &&\n typeof (value as { hasException?: unknown }).hasException === 'function'\n ) {\n return !!readAsyncReactiveValue(\n (value as { hasException: AsyncReactiveValue<boolean> }).hasException,\n );\n }\n return getResourceExceptionList(value).length > 0;\n}\n\nfunction isResourceRefWithSelection(\n value: AnyAsyncCraftResourceRef,\n): value is AnyAsyncCraftResourceRef & {\n select: (identifier: any) => unknown;\n} {\n return 'select' in value && typeof value.select === 'function';\n}\n\nfunction readAsyncReactiveValue<T>(value: AsyncReactiveValue<T>): T {\n return isYieldableReactiveValue(value) ? rawReactiveValue(value)() : value();\n}\n\nfunction resolveAsyncValidatorResourceTarget<\n TResourceRef extends AnyAsyncCraftResourceRef,\n>(\n resourceRef: TResourceRef,\n identifier: AsyncValidatorResourceIdentifier<TResourceRef>,\n): AsyncValidatorResourceTarget<TResourceRef> | undefined {\n if (!isResourceRefWithSelection(resourceRef)) {\n return resourceRef as AsyncValidatorResourceTarget<TResourceRef>;\n }\n if (identifier === undefined || identifier === null) return undefined;\n return resourceRef.select(\n identifier as Parameters<typeof resourceRef.select>[0],\n ) as AsyncValidatorResourceTarget<TResourceRef> | undefined;\n}\n\n// =====================================================================\n// Built-in validators\n// =====================================================================\n\nfunction createRequiredValidator<TValue>({\n when,\n}: {\n when?: ValidatorOption<boolean>;\n}): ValidatorOutput<TValue, 'cRequired', CRequiredException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n return isEmptyValue(value())\n ? (brandException(\n 'cRequired',\n SYNC_VALIDATOR_TYPE,\n 'required',\n undefined,\n ) as CraftFieldError)\n : undefined;\n }),\n attribute: computed<FieldAttributeMeta | undefined>(() => {\n if (!shouldValidate(when)) return undefined;\n return { kind: 'native-constraint', target: 'required', value: true };\n }),\n });\n return withRuntime(validator, {\n name: 'cRequired',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cRequired', CRequiredException>;\n}\n\nconst EMAIL_REGEX = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/;\n\nfunction createEmailValidator<TValue extends string | null | undefined>({\n when,\n}: {\n when?: ValidatorOption<boolean>;\n}): ValidatorOutput<TValue, 'cEmail', CEmailException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const v = value();\n if (v === null || v === undefined || v === '') return undefined;\n if (typeof v !== 'string') return undefined;\n return EMAIL_REGEX.test(v)\n ? undefined\n : (brandException(\n 'cEmail',\n SYNC_VALIDATOR_TYPE,\n 'email',\n undefined,\n ) as CraftFieldError);\n }),\n });\n return withRuntime(validator, {\n name: 'cEmail',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cEmail', CEmailException>;\n}\n\nfunction createMinValidator<TValue extends number | string | null | undefined>({\n when,\n min: minValue,\n}: {\n when?: ValidatorOption<boolean>;\n min: ValidatorOption<number | undefined>;\n}): ValidatorOutput<TValue, 'cMin', CMinException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const m = resolveValidatorOption(minValue);\n if (m === undefined) return undefined;\n const n = asNumber(value());\n if (n === undefined) return undefined;\n return n < m\n ? (brandException(\n 'cMin',\n SYNC_VALIDATOR_TYPE,\n 'min',\n m,\n ) as CraftFieldError)\n : undefined;\n }),\n attribute: computed<FieldAttributeMeta | undefined>(() => {\n const m = resolveValidatorOption(minValue);\n return m !== undefined && shouldValidate(when)\n ? { kind: 'native-constraint', target: 'min', value: m }\n : undefined;\n }),\n });\n return withRuntime(validator, {\n name: 'cMin',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cMin', CMinException>;\n}\n\nfunction createMaxValidator<TValue extends number | string | null | undefined>({\n when,\n max: maxValue,\n}: {\n when?: ValidatorOption<boolean>;\n max: ValidatorOption<number | undefined>;\n}): ValidatorOutput<TValue, 'cMax', CMaxException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const m = resolveValidatorOption(maxValue);\n if (m === undefined) return undefined;\n const n = asNumber(value());\n if (n === undefined) return undefined;\n return n > m\n ? (brandException(\n 'cMax',\n SYNC_VALIDATOR_TYPE,\n 'max',\n m,\n ) as CraftFieldError)\n : undefined;\n }),\n attribute: computed<FieldAttributeMeta | undefined>(() => {\n const m = resolveValidatorOption(maxValue);\n return m !== undefined && shouldValidate(when)\n ? { kind: 'native-constraint', target: 'max', value: m }\n : undefined;\n }),\n });\n return withRuntime(validator, {\n name: 'cMax',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cMax', CMaxException>;\n}\n\nfunction createMinLengthValidator<TValue extends ValueWithLengthOrSize>({\n when,\n minLength,\n}: {\n when?: ValidatorOption<boolean>;\n minLength: ValidatorOption<number | undefined>;\n}): ValidatorOutput<TValue, 'cMinLength', CMinLengthException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const m = resolveValidatorOption(minLength);\n if (m === undefined) return undefined;\n const len = lengthOf(value());\n if (len === undefined) return undefined;\n return len < m\n ? (brandException(\n 'cMinLength',\n SYNC_VALIDATOR_TYPE,\n 'minLength',\n m,\n ) as CraftFieldError)\n : undefined;\n }),\n attribute: computed<FieldAttributeMeta | undefined>(() => {\n const m = resolveValidatorOption(minLength);\n return m !== undefined && shouldValidate(when)\n ? { kind: 'native-constraint', target: 'minLength', value: m }\n : undefined;\n }),\n });\n return withRuntime(validator, {\n name: 'cMinLength',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cMinLength', CMinLengthException>;\n}\n\nfunction createMaxLengthValidator<TValue extends ValueWithLengthOrSize>({\n when,\n maxLength,\n}: {\n when?: ValidatorOption<boolean>;\n maxLength: ValidatorOption<number | undefined>;\n}): ValidatorOutput<TValue, 'cMaxLength', CMaxLengthException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const m = resolveValidatorOption(maxLength);\n if (m === undefined) return undefined;\n const len = lengthOf(value());\n if (len === undefined) return undefined;\n return len > m\n ? (brandException(\n 'cMaxLength',\n SYNC_VALIDATOR_TYPE,\n 'maxLength',\n m,\n ) as CraftFieldError)\n : undefined;\n }),\n attribute: computed<FieldAttributeMeta | undefined>(() => {\n const m = resolveValidatorOption(maxLength);\n return m !== undefined && shouldValidate(when)\n ? { kind: 'native-constraint', target: 'maxLength', value: m }\n : undefined;\n }),\n });\n return withRuntime(validator, {\n name: 'cMaxLength',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cMaxLength', CMaxLengthException>;\n}\n\nfunction createPatternValidator<TValue extends string | null | undefined>({\n when,\n pattern,\n}: {\n when?: ValidatorOption<boolean>;\n pattern: ValidatorOption<RegExp | undefined>;\n}): ValidatorOutput<TValue, 'cPattern', CPatternException> {\n const validator: CraftValidator<TValue> = ({ value }) => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(when)) return undefined;\n const p = resolveValidatorOption(pattern);\n if (p === undefined) return undefined;\n const v = value();\n if (v === null || v === undefined || v === '') return undefined;\n if (typeof v !== 'string') return undefined;\n return p.test(v)\n ? undefined\n : (brandException(\n 'cPattern',\n SYNC_VALIDATOR_TYPE,\n 'pattern',\n p,\n ) as CraftFieldError);\n }),\n });\n return withRuntime(validator, {\n name: 'cPattern',\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<TValue, 'cPattern', CPatternException>;\n}\n\nfunction createCustomSyncValidator<\n TValue,\n Name extends string,\n Exceptions,\n Identifier = unknown,\n>(\n config: CValidateSyncConfig<TValue, Name, Exceptions, Identifier>,\n): ValidatorOutput<TValue, Name, Exceptions, 'sync', Identifier> {\n const { name } = config;\n\n if ('validate' in config) {\n const fn = config.validate;\n const validator: CraftValidator<TValue> = (context) => {\n const inner = fn({\n ...context,\n identifier: context.identifier as Identifier,\n });\n return {\n result: computed<CraftValidatorOutput>(() => {\n const result = inner();\n if (result === undefined) return undefined;\n const normalized = normalizeCraftExceptionOutput(result);\n if (!normalized) return undefined;\n return brandRawException(\n name,\n SYNC_VALIDATOR_TYPE,\n normalized.raw,\n ) as CraftFieldError | CraftFieldError[] | undefined;\n }),\n };\n };\n return withRuntime(validator, {\n name,\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<\n TValue,\n Name,\n Exceptions,\n 'sync',\n Identifier\n >;\n }\n\n const simpleConfig = config;\n const validator: CraftValidator<TValue> = () => ({\n result: computed<CraftValidatorOutput>(() => {\n if (!shouldValidate(simpleConfig.when)) return undefined;\n if (resolveValidatorOption(simpleConfig.validWhen)) return undefined;\n const exception = resolveValidatorOption(simpleConfig.exception);\n const normalized = normalizeCraftExceptionOutput(exception);\n if (!normalized) return undefined;\n return brandRawException(name, SYNC_VALIDATOR_TYPE, normalized.raw) as\n | CraftFieldError\n | CraftFieldError[]\n | undefined;\n }),\n });\n return withRuntime(validator, {\n name,\n type: SYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<\n TValue,\n Name,\n Exceptions,\n 'sync',\n Identifier\n >;\n}\n\nfunction createCustomAsyncValidator<\n TValue,\n TResourceRef extends AnyAsyncCraftResourceRef,\n Name extends string,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n Identifier = unknown,\n>(\n resourceRef: TResourceRef,\n config: CAsyncValidateConfig<\n TValue,\n Name,\n TResourceRef,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n Identifier\n >,\n): ValidatorOutput<\n TValue,\n Name,\n ToAsyncValidatorExceptions<\n AsyncValidatorResourceExceptionUnion<\n AsyncValidatorResourceTarget<TResourceRef>\n >,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions\n >,\n 'async',\n Identifier\n> {\n const { name } = config as { name: Name };\n const cfg = config as unknown as {\n name: Name;\n when?: ValidatorOption<boolean>;\n isValidSuccess?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => boolean;\n exceptionsOnSuccess?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => SuccessExceptions;\n exception?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => ErrorExceptions;\n onException?: (\n context: AsyncValidatorContext<TValue, TResourceRef, Identifier>,\n ) => ExceptionExceptions;\n };\n\n const validator: CraftValidator<TValue> = (context) => {\n const identifier =\n context.identifier as AsyncValidatorResourceIdentifier<TResourceRef>;\n const resourceTarget = computed(() =>\n resolveAsyncValidatorResourceTarget(resourceRef, identifier),\n );\n\n const lastTriggered = signal<\n AsyncValidatorRequest<TResourceRef> | undefined\n >(undefined);\n\n // Trigger the resource when the value changes.\n effect(() => {\n const v = context.value() as AsyncValidatorRequest<TResourceRef>;\n const target = rawReactiveFacade(\n untracked(() => resourceTarget()),\n ) as\n | {\n mutate?: (params: unknown) => void;\n call?: (params: unknown) => void;\n }\n | undefined;\n if (!target) return;\n if (!shouldValidate(cfg.when)) return;\n lastTriggered.set(v);\n if (typeof target.mutate === 'function') {\n target.mutate(v);\n } else if (typeof target.call === 'function') {\n target.call(v);\n }\n });\n\n const buildContext = (\n currentResource: AsyncValidatorResourceTarget<TResourceRef>,\n ): AsyncValidatorContext<TValue, TResourceRef, Identifier> => {\n const exceptions = getResourceExceptionList(currentResource);\n return {\n ...context,\n identifier: identifier as Identifier,\n validateAsyncCraftResource: currentResource,\n omitExceptions: ((codes: readonly string[]) =>\n exceptions.filter(\n (e) => !codes.includes(e._tag as string),\n )) as AsyncValidatorContext<\n TValue,\n TResourceRef,\n Identifier\n >['omitExceptions'],\n };\n };\n\n const result = computed<CraftValidatorOutput>(() => {\n const currentResource = resourceTarget();\n const r = rawReactiveFacade(currentResource) as\n | {\n isLoading: Signal<boolean>;\n status: Signal<string>;\n exceptions?: Signal<{ list: AnyCraftException[] }>;\n hasException?: Signal<boolean>;\n }\n | undefined;\n if (!r) return undefined;\n if (lastTriggered() === undefined) return undefined;\n if (r.isLoading()) return { pending: true };\n\n const status = r.status();\n const asyncCtx = buildContext(\n currentResource as AsyncValidatorResourceTarget<TResourceRef>,\n );\n\n if (hasResourceExceptions(r)) {\n const overridden = normalizeCraftExceptionOutput(\n cfg.onException?.(asyncCtx),\n );\n const fallback = normalizeCraftExceptionOutput(\n getResourceExceptionList(r),\n );\n const final = overridden ?? fallback;\n if (!final) return undefined;\n return brandRawException(name, ASYNC_VALIDATOR_TYPE, final.raw) as\n | CraftFieldError\n | CraftFieldError[];\n }\n\n if (status === 'exception') {\n const errorOutput = normalizeCraftExceptionOutput(\n cfg.exception?.(asyncCtx),\n );\n return errorOutput\n ? (brandRawException(name, ASYNC_VALIDATOR_TYPE, errorOutput.raw) as\n | CraftFieldError\n | CraftFieldError[])\n : undefined;\n }\n\n // Resolved\n const isValid = cfg.isValidSuccess?.(asyncCtx) ?? true;\n const onSuccess = normalizeCraftExceptionOutput(\n cfg.exceptionsOnSuccess?.(asyncCtx),\n );\n if (!isValid || onSuccess) {\n if (onSuccess) {\n return brandRawException(\n name,\n ASYNC_VALIDATOR_TYPE,\n onSuccess.raw,\n ) as CraftFieldError | CraftFieldError[];\n }\n return brandException(\n name,\n ASYNC_VALIDATOR_TYPE,\n 'invalid',\n undefined,\n ) as CraftFieldError;\n }\n return undefined;\n });\n\n return { result };\n };\n\n return withRuntime(validator, {\n name,\n type: ASYNC_VALIDATOR_TYPE,\n kind: 'signal',\n }) as unknown as ValidatorOutput<\n TValue,\n Name,\n ToAsyncValidatorExceptions<\n AsyncValidatorResourceExceptionUnion<\n AsyncValidatorResourceTarget<TResourceRef>\n >,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions\n >,\n 'async',\n Identifier\n >;\n}\n\n// =====================================================================\n// Public API\n// =====================================================================\n\nexport function cRequired<TValue>(\n config?: CRequiredConfig<TValue>,\n): ValidatorOutput<TValue, 'cRequired', CRequiredException> {\n return createRequiredValidator<TValue>(config ?? {});\n}\n\nexport function cEmail<TValue extends string | null | undefined>(\n config?: CEmailConfig<TValue>,\n): ValidatorOutput<TValue, 'cEmail', CEmailException> {\n return createEmailValidator<TValue>(config ?? {});\n}\n\nexport function cMin<TValue extends number | string | null | undefined>(\n config: CMinConfig<TValue>,\n): ValidatorOutput<TValue, 'cMin', CMinException> {\n return createMinValidator<TValue>({\n when: config.when,\n min:\n 'min' in config && config.min !== undefined\n ? config.min\n : (config as { minValue: ValidatorOption<number | undefined> })\n .minValue,\n });\n}\n\nexport function cMax<TValue extends number | string | null | undefined>(\n config: CMaxConfig<TValue>,\n): ValidatorOutput<TValue, 'cMax', CMaxException> {\n return createMaxValidator<TValue>({\n when: config.when,\n max:\n 'max' in config && config.max !== undefined\n ? config.max\n : (config as { maxValue: ValidatorOption<number | undefined> })\n .maxValue,\n });\n}\n\nexport function cMinLength<TValue extends ValueWithLengthOrSize>(\n config: CMinLengthConfig<TValue>,\n): ValidatorOutput<TValue, 'cMinLength', CMinLengthException> {\n return createMinLengthValidator<TValue>(config);\n}\n\nexport function cMaxLength<TValue extends ValueWithLengthOrSize>(\n config: CMaxLengthConfig<TValue>,\n): ValidatorOutput<TValue, 'cMaxLength', CMaxLengthException> {\n return createMaxLengthValidator<TValue>(config);\n}\n\nexport function cPattern<TValue extends string | null | undefined>(\n config: CPatternConfig<TValue>,\n): ValidatorOutput<TValue, 'cPattern', CPatternException> {\n return createPatternValidator<TValue>(config);\n}\n\nexport function cValidate<\n TValue,\n const Name extends string,\n Exceptions,\n Identifier = unknown,\n>(\n config: CValidateSyncConfig<TValue, Name, Exceptions, Identifier>,\n): ValidatorOutput<TValue, Name, Exceptions, 'sync', Identifier> {\n return createCustomSyncValidator(config);\n}\n\nexport const cValidator = cValidate;\n\nexport function cAsyncValidate<\n TValue,\n TResourceRef extends AnyAsyncCraftResourceRef,\n const Name extends string,\n SuccessExceptions = undefined,\n ErrorExceptions = undefined,\n ExceptionExceptions = unknown,\n Identifier = AsyncValidatorResourceIdentifier<TResourceRef>,\n>(\n resourceRef: TResourceRef,\n config: CAsyncValidateConfig<\n TValue,\n Name,\n TResourceRef,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions,\n Identifier\n >,\n): ValidatorOutput<\n TValue,\n Name,\n ToAsyncValidatorExceptions<\n AsyncValidatorResourceExceptionUnion<\n AsyncValidatorResourceTarget<TResourceRef>\n >,\n SuccessExceptions,\n ErrorExceptions,\n ExceptionExceptions\n >,\n 'async',\n Identifier\n> {\n return createCustomAsyncValidator(resourceRef, config);\n}\n\nexport const cAsyncValidator = cAsyncValidate;\n\n// Re-exports for backward compat\nexport type { CraftValidator, CraftValidatorContext, FieldAttributeMeta };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-event-to-source$.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/from-event-to-source$.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,KAAK,yBAAyB,CAC5B,CAAC,EACD,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1B,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,CAAC,EACD,IAAI,SAAS,MAAM,GAAG,MAAM,IAC1B,yBAAyB,CAAC,CAAC,EAAE,IAAI,CAAC,GACpC,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAChE,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,IAAI,EACf,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC1C,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB,GACA,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,wBAAgB,kBAAkB,CAChC,CAAC,EACD,aAAa,EACb,IAAI,SAAS,MAAM,GAAG,MAAM,EAE5B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,IAAI,EACf,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,aAAa,CAAC;CAC5C,GACA,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-event-to-source$.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/from-event-to-source$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAsO/B,MAAM,UAAU,kBAAkB,CAChC,MAAmB,EACnB,SAAiB,EACjB,OAGC;IAED,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,OAAO,CAAU,SAAS,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAE,EAAE;QAChC,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE;QACtD,OAAO;KACR,CAAuD,CAAC;IACzD,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAgC,CAAC;AACzE,CAAC","sourcesContent":["import { assertInInjectionContext, DestroyRef, inject } from './host/craft-compat';\nimport { source$ } from './source$';\nimport {\n createNamedPrimitiveGen,\n type NamedCraftPrimitiveGen,\n} from './craft-primitive-gen';\nimport type { ReadonlySource$ } from './source$';\n\ntype FromEventToSourceInstance<\n T,\n Name extends string = string,\n> = ReadonlySource$<T, Name> & {\n dispose: () => void;\n};\n\nexport type FromEventToSource$<\n T,\n Name extends string = string,\n> = FromEventToSourceInstance<T, Name> &\n NamedCraftPrimitiveGen<Name, FromEventToSourceInstance<T, Name>>;\n\n/**\n * Converts DOM events to a ReadonlySource$ stream with automatic cleanup on component destruction.\n *\n * This function bridges DOM events with craft-ts's source$ reactive system by:\n * - Converting native DOM events to source emissions\n * - Automatically removing event listeners on component destruction\n * - Supporting optional event payload transformation\n * - Providing manual disposal capability\n * - Returning a readonly source with `subscribe` and `value` properties\n *\n * @remarks\n * **Automatic Cleanup:**\n * - Event listeners are automatically removed when the injection context is destroyed\n * - Uses Angular's `DestroyRef` for lifecycle management\n * - Manual cleanup available via `dispose()` method\n * - Prevents memory leaks from dangling event listeners\n *\n * **Use Cases:**\n * - **User interactions**: Click, input, scroll, keyboard events\n * - **Window events**: Resize, scroll, focus, online/offline\n * - **Document events**: Visibility changes, custom events\n * - **Media events**: Video/audio play, pause, ended\n * - **Form events**: Submit, change, input\n * - **Custom events**: Application-specific DOM events\n *\n * **Event Transformation:**\n * - Without `computedValue`: Emits the raw event object\n * - With `computedValue`: Transforms event before emission\n * - Useful for extracting specific event properties\n * - Reduces payload size and improves type safety\n *\n * **Integration with Stores:**\n * - Use the readonly source in queries/mutations via `on$()`\n * - Trigger async operations on DOM events\n * - Coordinate multiple components via event sources\n *\n * **Injection Context:**\n * - Must be called within Angular injection context\n * - Typically called in component constructor or class fields\n * - Uses `assertInInjectionContext()` for safety\n *\n * @template T - The type of the event object\n * @template ComputedValue - The type after optional transformation\n *\n * @param target - The DOM element or event target to listen to.\n * Can be any EventTarget (HTMLElement, Window, Document, etc.)\n *\n * @param eventName - The name of the event to listen for.\n * Standard DOM event names: 'click', 'input', 'scroll', etc.\n *\n * @param options - Optional configuration:\n * - `event`: Event listener options (capture, passive, once, etc.)\n * - `computedValue`: Function to transform event before emission\n *\n * @returns A readonly source that emits on DOM events with:\n * - `subscribe()`: Subscribe to event emissions\n * - `value`: Signal containing the last emitted value\n * - `dispose()`: Method to manually remove event listener\n * - Automatic cleanup on component destruction\n *\n * @example\n * Basic click event source\n * ```ts\n * @Component({\n * selector: 'app-clicker',\n * template: '<button #btn>Click me</button>',\n * })\n * export class ClickerComponent {\n * @ViewChild('btn', { read: ElementRef }) button!: ElementRef<HTMLButtonElement>;\n *\n * click$ = fromEventToSource$<MouseEvent>(\n * this.button.nativeElement,\n * 'click'\n * );\n *\n * counter = craftUse(state(0, ({ update }) => ({\n * increment: on$(this.click$, () => update((v) => v + 1)),\n * })));\n * }\n * ```\n *\n * @example\n * Window scroll event with transformation\n * ```ts\n * @Component({\n * selector: 'app-infinite-scroll',\n * template: '...',\n * })\n * export class InfiniteScrollComponent {\n * scroll$ = fromEventToSource$(window, 'scroll', {\n * computedValue: () => ({\n * scrollY: window.scrollY,\n * scrollHeight: document.documentElement.scrollHeight,\n * clientHeight: window.innerHeight,\n * }),\n * event: { passive: true },\n * });\n *\n * // Access scroll position via signal\n * scrollPosition = this.scroll$.value;\n *\n * // Subscribe to scroll events\n * ngOnInit() {\n * this.scroll$.subscribe((data) => {\n * const nearBottom = data.scrollY + data.clientHeight >= data.scrollHeight - 100;\n * if (nearBottom) {\n * // Load more data\n * }\n * });\n * }\n * }\n * ```\n *\n * @example\n * Form input event for real-time search\n * ```ts\n * @Component({\n * selector: 'app-search',\n * template: '<input #searchInput type=\"text\" placeholder=\"Search...\" />',\n * })\n * export class SearchComponent {\n * @ViewChild('searchInput', { read: ElementRef }) input!: ElementRef<HTMLInputElement>;\n *\n * input$ = fromEventToSource$(this.input.nativeElement, 'input', {\n * computedValue: (event: Event) => {\n * const target = event.target as HTMLInputElement;\n * return target.value;\n * },\n * });\n *\n * // Current input value as signal\n * searchTerm = this.input$.value;\n *\n * // React to input changes\n * searchResults = craftUse(state([], ({ set }) => ({\n * search: on$(this.input$, async (term) => {\n * if (term.length < 3) {\n * set([]);\n * return;\n * }\n * const results = await fetchResults(term);\n * set(results);\n * }),\n * })));\n * }\n * ```\n *\n * @example\n * Window resize event\n * ```ts\n * @Component({\n * selector: 'app-responsive',\n * template: '...',\n * })\n * export class ResponsiveComponent {\n * resize$ = fromEventToSource$(window, 'resize', {\n * computedValue: () => ({\n * width: window.innerWidth,\n * height: window.innerHeight,\n * }),\n * });\n *\n * dimensions = this.resize$.value;\n * }\n * ```\n *\n * @example\n * Manual disposal for dynamic elements\n * ```ts\n * @Component({\n * selector: 'app-dynamic',\n * template: '...',\n * })\n * export class DynamicComponent {\n * private click$?: FromEventToSource$<MouseEvent>;\n *\n * attachListener(element: HTMLElement) {\n * // Remove previous listener if exists\n * this.click$?.dispose();\n *\n * // Attach to new element\n * this.click$ = fromEventToSource$<MouseEvent>(element, 'click');\n * }\n *\n * detachListener() {\n * // Manually remove listener before component destruction\n * this.click$?.dispose();\n * this.click$ = undefined;\n * }\n * }\n * ```\n *\n * @see {@link https://craft-ts.dev/utils/from-event-to-source$ | fromEventToSource$ documentation}\n */\nexport function fromEventToSource$<T, Name extends string = string>(\n target: EventTarget,\n eventName: Name,\n options?: {\n event?: boolean | AddEventListenerOptions;\n computedValue?: never;\n },\n): FromEventToSource$<T, Name>;\nexport function fromEventToSource$<\n T,\n ComputedValue,\n Name extends string = string,\n>(\n target: EventTarget,\n eventName: Name,\n options?: {\n event?: boolean | AddEventListenerOptions;\n computedValue: (event: T) => ComputedValue;\n },\n): FromEventToSource$<ComputedValue, Name>;\nexport function fromEventToSource$(\n target: EventTarget,\n eventName: string,\n options?: {\n event?: boolean | AddEventListenerOptions;\n computedValue?: (event: Event) => unknown;\n },\n): FromEventToSource$<unknown> {\n assertInInjectionContext(fromEventToSource$);\n\n const eventSource$ = source$<unknown>(eventName);\n\n const listener = (event: Event) => {\n if (options?.computedValue) {\n const computed = options.computedValue(event);\n eventSource$.emit(computed);\n return;\n }\n eventSource$.emit(event);\n };\n\n target.addEventListener(eventName, listener, options?.event);\n\n const destroyRef = inject(DestroyRef);\n\n const dispose = () => {\n target.removeEventListener(eventName, listener, options?.event);\n };\n\n destroyRef.onDestroy(() => {\n dispose();\n });\n\n const source = Object.assign(eventSource$.asReadonly(), {\n dispose,\n }) as ReadonlySource$<unknown> & { dispose: () => void };\n const generator = createNamedPrimitiveGen(eventName, source);\n\n return Object.assign(generator, source) as FromEventToSource$<unknown>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-persister-handler.service.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/global-persister-handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,gCAAgC,GAAG;IAC7C,aAAa,IAAI,IAAI,CAAC;CACvB,CAAC;AAEF,KAAK,qCAAqC,GAAG,eAAe,CAC1D,+BAA+B,EAC/B,WAAW,EACX,EAAE,EACF,gCAAgC,EAChC,uBAAuB,CACrB,+BAA+B,EAC/B,WAAW,EACX,gCAAgC,EAChC,OAAO,CACR,CACF,CAAC;AA0CF,eAAO,MAAM,6BAA6B,EAAE,qCAAqC,CAAC,+BAA+B,CACpD,CAAC;AAC9D,eAAO,MAAM,oCAAoC,EAAE,qCAAqC,CAAC,sCAAsC,CAC3D,CAAC;AACrE,eAAO,MAAM,0CAA0C,EAAE,qCAAqC,CAAC,4CAA4C,CACjE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-persister-handler.service.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/global-persister-handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAmB/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,6BAA6B,GACjC,YAAY,CACV;IACE,IAAI,EAAE,+BAA+B;IACrC,UAAU,EAAE,WAAW;CACxB,EACD,QAAQ,CAAC;IACP,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAE5C,OAAO;QACL,aAAa;YACX,SAAS,CAAC,aAAa,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,6BAA6B,GACxC,6BAA6B,CAAC,6BAA6B,CAAC;AAC9D,MAAM,CAAC,MAAM,oCAAoC,GAC/C,6BAA6B,CAAC,oCAAoC,CAAC;AACrE,MAAM,CAAC,MAAM,0CAA0C,GACrD,6BAA6B,CAAC,0CAA0C,CAAC","sourcesContent":["import {\n craftService,\n type CraftServiceApi,\n type ServiceTrackingMetadata,\n} from './craft-service';\nimport { StoragePersister } from './storage-persister.service';\n\nexport type GlobalPersisterHandlerServiceApi = {\n clearAllCache(): void;\n};\n\ntype GlobalPersisterHandlerServiceCraftApi = CraftServiceApi<\n 'GlobalPersisterHandlerService',\n 'toProvide',\n {},\n GlobalPersisterHandlerServiceApi,\n ServiceTrackingMetadata<\n 'GlobalPersisterHandlerService',\n 'toProvide',\n GlobalPersisterHandlerServiceApi,\n unknown\n >\n>;\n\n/**\n * Yields the global craft service responsible for clearing persisted `@craft-ts`\n * cache entries from the configured storage persister.\n *\n * This helper is provided at the application root and can follow the\n * `StoragePersister` selected by the current injector.\n * It removes every persisted entry from the selected backend, which makes it\n * useful for logout flows, account switches, or any full cache reset.\n *\n * @example\n * ```ts\n * import { GlobalPersisterHandlerService } from '@craft-ts/core';\n *\n * export class AppComponent {\n * // Consume GlobalPersisterHandlerService inside a craft generator.\n *\n * logout() {\n * // Clear all @craft-ts cached data from the configured backend.\n * this.persisterHandler.clearAllCache();\n * }\n * }\n * ```\n */\nconst globalPersisterHandlerService: GlobalPersisterHandlerServiceCraftApi =\n craftService(\n {\n name: 'GlobalPersisterHandlerService',\n providedIn: 'toProvide',\n },\n function* () {\n const persister = yield* StoragePersister();\n\n return {\n clearAllCache(): void {\n persister.clearAllCache();\n },\n };\n },\n );\n\nexport const GlobalPersisterHandlerService: GlobalPersisterHandlerServiceCraftApi['GlobalPersisterHandlerService'] =\n globalPersisterHandlerService.GlobalPersisterHandlerService;\nexport const provideGlobalPersisterHandlerService: GlobalPersisterHandlerServiceCraftApi['provideGlobalPersisterHandlerService'] =\n globalPersisterHandlerService.provideGlobalPersisterHandlerService;\nexport const GLOBAL_PERSISTER_HANDLER_SERVICE_META_DATA: GlobalPersisterHandlerServiceCraftApi['GLOBAL_PERSISTER_HANDLER_SERVICE_META_DATA'] =\n globalPersisterHandlerService.GLOBAL_PERSISTER_HANDLER_SERVICE_META_DATA;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-compat.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-compat.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-compat.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-compat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiC,MAAM,MAAM,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,4BAA4B,GAK7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,IAAI,cAAc,GAG5B,MAAM,gBAAgB,CAAC;AAsIxB,MAAM,oBAAoB,GAAe,EAAE,CAAC;AAE5C,MAAM,OAAO,cAAc;IAChB,SAAS,CAAS;IAClB,QAAQ,CAAW;IAC5B,YACE,WAAmB,EACnB,OAIC;QAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IACE,CAAC,OAAO,CAAC,KAAK;gBACd,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,EACnE,CAAC;gBACD,oBAAoB,CAAC,IAAI,CAAC;oBACxB,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,EAAE;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAMD,MAAM,eAAe,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEnE,SAAS,kBAAkB,CAAC,GAAe;IACzC,IAAI,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,UAAU;IACrB,SAAS,CAAC,QAAoB;QAC5B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,EAAE,CAAC;YACX,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAe;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,QAAQ,EAAE,CAAC;IACb,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,cAAc,CAAgB,UAAU,CAAC,CAAC;AACrE,MAAM,0BAA0B,GAAG,IAAI,cAAc,CACnD,qBAAqB,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;IACpD,IAAI,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAC7B,MAAM,CAAC,OAIN;QACC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACzD,OAAO,yBAAyB,CAC9B,OAAO,CAAC,SAAS,EACjB,MAAkC,EAClC,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAW,UAAU,EAAE;IAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAS,WAAW,EAAE;IAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB,EACjB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACxB,KAAK,GAAG,KAAK,CAAC;IACb,WAAW,CAAgB;IAEpC,YACE,YAAwC,EACxC,MAAsC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE;QAEpE,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpE,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,MAAM,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACvB,WAAW,CAAC,KAAc;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF;AAED,IAAI,YAAiC,CAAC;AAEtC,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,GAAI,UAAsC,CAAC,SAAS,CAAC;IACpE,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GACf,UACD,CAAC,OAAO,CAAC;IACV,OAAO,CACL,OAAO,WAAW,KAAK,WAAW;QAClC,WAAW,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,UAAU;IACrB,aAAa,CAAI;IACjB,YAAY,aAAgB;QAC1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACpB,aAAa,CAAC,IAAY;QACxB,OAAO,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,CAAC,EAAU,EAAE,IAAY,EAAE,KAAc;QACjD,EAA8B,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IACD,MAAM,CACJ,MAAmB,EACnB,KAAa,EACb,OAAsB;QAEtB,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACN,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3D,IAAI,CAAC,KAAQ;QACX,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAA0D;QAGlE,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO;YACL,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,CACL,KAAK,KAAK,QAAQ;QAClB,KAAK,KAAK,mBAAmB;QAC7B,KAAK,KAAK,cAAc,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,UAAU,CAAC;AAC9B,CAAC;AAOD,IAAI,cAA+C,CAAC;AAEpD,MAAM,UAAU,uBAAuB,CACrC,QAAyC;IAEzC,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAeD,MAAM,UAAU,MAAM,CACpB,KAAuB,EACvB,OAAoD;IAEpD,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,KAAe,EAAE,OAAO,CAAM,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,QAAa,CAAC;IACvB,CAAC;IACD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAiB,CAAC;QAC3B,CAAC;QACD,MAAM,QAAQ,GAAI,QAAyD;aACxE,WAAW,CAAC;QACf,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAa,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAe,CAAa,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAM,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAmC;IAEnC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAA2C,EAC3C,EAAW;IAEX,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAID,IAAI,kBAAuD,CAAC;AAE5D,MAAM,UAAU,2BAA2B,CACzC,MAA2C;IAE3C,kBAAkB,GAAG,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAA2C;IAE3C,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,4BAA4B,CAAC,QAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAC7D,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA6B;IASrD,MAAM,SAAS,GAQV,EAAE,CAAC;IACR,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,QAAQ,KAAK,IAAI;YACjB,YAAY,IAAI,QAAQ;YACxB,KAAK,CAAC,OAAO,CAAE,QAAuC,CAAC,UAAU,CAAC,EAClE,CAAC;YACD,SAAS,CAAC,IAAI,CACZ,GAAG,gBAAgB,CAAE,QAAsC,CAAC,UAAU,CAAC,CACxE,CAAC;YACF,SAAS;QACX,CAAC;QACD,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,QAAQ,KAAK,IAAI;YACjB,SAAS,IAAI,QAAQ,EACrB,CAAC;YACD,SAAS,CAAC,IAAI,CACZ,QAQC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAA6B;IAE7B,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC;QACtC,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;YACtC,OAAO;gBACL,KAAK;gBACL,KAAK;gBACL,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;aACjD,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC/B,OAAO;gBACL,KAAK;gBACL,KAAK;gBACL,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAK,IAA0B,EAAE,CAAC;aACxD,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO;YACL,KAAK;YACL,KAAK;YACL,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAChB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC,CAAC,CAC3D;SACJ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAA6B,EAC7B,MAAgC,EAChC,UAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC;QACpC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QAC7D,EAAE,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QACzE;YACE,KAAK,EAAE,qBAAqB;YAC5B,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CACvB,IAAI,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CACjB;SACJ;QACD,GAAG,gBAAgB,CAAC,SAAS,CAAC;KAC/B,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAEhD,KACD,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAiB;IACrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,cAAc,CAAS,gBAAgB,EAAE;IAC1E,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAChD,iBAAiB,EACjB;IACE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACd,KAAK;YACH,uCAAuC;QACzC,CAAC;KACF,CAAC;CACH,CACF,CAAC;AAEF,MAAM,UAAU,MAAM,CACpB,OAAU,EACV,OAA4D;IAE5D,OAAO,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAgB,EAChB,OAAkC;IAElC,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC;AAmBD,MAAM,UAAU,YAAY,CAC1B,eAWK,EACL,OAA4D;IAE5D,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,iBAAiB,CAAC;YACvB,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,eAAe;YAC5B,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,SAAS,EAAE,OAAO,EAAE,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAgD,CAAC;IACrD,OAAO,iBAAiB,CAAC;QACvB,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,WAAW,EAAE,GAAG,EAAE;YAChB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5D,QAAQ,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,SAAS,EAAE,eAAe,CAAC,SAAS;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA0B,EAC1B,OAA6B;IAE7B,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,EAAgD,EAChD,OAA6B;IAE7B,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,QAAQ,GAAsB,EAAE,CAAC;YACvC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;gBACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,EAAW;IACtC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,EAAW;IAClC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAQ,KAA2B,CAAC,GAAG,KAAK,UAAU,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAuB;IAEvB,MAAM,GAAG,GAAG,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,IAAI,UAAU,CAAI,CAAC,UAAU,EAAE,EAAE;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,EAAE;YACV,OAAO,EAAE,EAAE,CAAC;YACZ,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAMD,MAAM,UAAU,YAAY,CAC1B,MAAiB,EACjB,OAA6B;IAE7B,OAAO,IAAI,UAAU,CAAI,CAAC,UAAU,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,IAAI,OAAiC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,OAAO,GAAG,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE;oBACnC,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBACvB,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;YACD,OAAO,GAAG,EAAE;gBACV,OAAO,EAAE,EAAE,CAAC;gBACZ,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,OAAO,EAAE,QAAQ;YACtB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { Observable, type MonoTypeOperatorFunction } from 'rxjs';\nimport {\n createCraftInjector,\n getCurrentCraftInjector,\n isCraftInjector,\n ɵcreateCraftInjectorFromHost,\n type CraftInjector,\n type CraftInjectToken,\n type CraftProvider,\n type CraftToken,\n} from './craft-injector';\nimport {\n craftBatch,\n craftComputed,\n craftLinkedSignal,\n craftSignal,\n craftWatch,\n isCraftSignal,\n untracked as craftUntracked,\n type CraftSignal,\n type CraftWritableSignal,\n} from './craft-signal';\n\nexport type Signal<T> = (() => T) & CraftSignal<T>;\nexport type WritableSignal<T> = Signal<T> & CraftWritableSignal<T>;\nexport type Type<T> = new (...args: any[]) => T;\nexport type AbstractType<T> = abstract new (...args: any[]) => T;\nexport type ValueEqualityFn<T> = (a: T, b: T) => boolean;\n\n/** Narrow injector shape for option bags that leak into the public type graph. */\nexport type InjectorHandle = {\n get(token: unknown, notFoundValue?: unknown, flags?: unknown): unknown;\n};\n\nexport interface Injector {\n get<T>(token: ProviderToken<T>): T;\n get<T>(token: ProviderToken<T>, notFoundValue: null): T | null;\n get<T>(token: ProviderToken<T>, notFoundValue: T): T;\n get<T>(\n token: ProviderToken<T>,\n notFoundValue?: T | null,\n flags?: object,\n ): T | null;\n}\nexport interface EnvironmentInjector extends Injector {\n destroy(): void;\n readonly destroyed: boolean;\n}\nexport type EnvironmentProviders = {\n ɵbrand: 'EnvironmentProviders';\n};\nexport type ValueProvider = {\n provide: object;\n useValue: unknown;\n multi?: boolean;\n};\nexport type FactoryProvider = {\n provide: object;\n useFactory: (...args: any[]) => unknown;\n deps?: unknown[];\n multi?: boolean;\n};\nexport type ClassProvider = {\n provide: object;\n useClass: Type<unknown>;\n deps?: unknown[];\n multi?: boolean;\n};\nexport type ExistingProvider = {\n provide: object;\n useExisting: object;\n multi?: boolean;\n};\nexport type TypeProvider = Type<unknown>;\nexport type AngularStyleProvider =\n | TypeProvider\n | ValueProvider\n | FactoryProvider\n | ClassProvider\n | ExistingProvider\n | EnvironmentProviders\n | any[];\nexport type Provider = AngularStyleProvider;\nexport type ApplicationConfig = {\n providers: Array<Provider | EnvironmentProviders>;\n};\n\nexport type ResourceStatus =\n | 'idle'\n | 'error'\n | 'loading'\n | 'reloading'\n | 'resolved'\n | 'local';\nexport type ResourceSnapshot<T> = {\n value: T;\n status: ResourceStatus;\n};\nexport type ResourceRef<T = unknown> = {\n value: Signal<T | undefined>;\n status: Signal<ResourceStatus>;\n isLoading: Signal<boolean>;\n hasValue(): boolean;\n reload(): boolean;\n destroy(): void;\n set(value: T): void;\n update(updateFn: (value: T) => T): void;\n asReadonly(): ResourceRef<T>;\n};\nexport type ResourceLoaderParams<P> = {\n params: NoInfer<P>;\n abortSignal: AbortSignal;\n previous: {\n status: ResourceStatus;\n value?: unknown;\n };\n};\nexport type ResourceOptions<T, P> = {\n params?: () => P;\n loader?: (params: ResourceLoaderParams<P>) => Promise<T> | T;\n stream?: ResourceStreamingLoader<T, P>;\n defaultValue?: T;\n injector?: InjectorHandle;\n equal?: ValueEqualityFn<T>;\n};\nexport type ResourceStreamItem<T> = { value: T } | { error: Error };\nexport type ResourceStreamingLoader<T, P> = (\n params: ResourceLoaderParams<P>,\n) =>\n | Promise<Signal<ResourceStreamItem<T> | { value: T } | undefined>>\n | Observable<{ value: T } | ResourceStreamItem<T>>\n | Signal<{ value: T } | ResourceStreamItem<T> | undefined>;\nexport type InputSignal<T> = Signal<T>;\nexport type InputSignalWithTransform<T, TransformT = unknown> = Signal<T> & {\n readonly transform?: (value: TransformT) => T;\n};\nexport type CreateComputedOptions<T> = {\n equal?: ValueEqualityFn<T>;\n debugName?: string;\n};\nexport type CreateEffectOptions = {\n injector?: InjectorHandle | object;\n manualCleanup?: boolean;\n debugName?: string;\n};\n\nexport type ProviderToken<T> =\n | InjectionToken<T>\n | CraftToken<T>\n | Type<T>\n | AbstractType<T>\n | CraftInjectToken<T>;\nexport type EffectCleanupRegisterFn = (cleanup: () => void) => void;\nexport type EffectRef = { destroy(): void };\n\nconst rootDefaultProviders: Provider[] = [];\n\nexport class InjectionToken<T> {\n readonly debugName: string;\n readonly ɵfactory?: () => T;\n constructor(\n description: string,\n options?: {\n providedIn?: 'root' | 'platform' | 'any' | null;\n factory?: () => T;\n multi?: boolean;\n },\n ) {\n this.debugName = description;\n if (options?.factory) {\n this.ɵfactory = options.factory;\n if (\n !options.multi &&\n (options.providedIn === 'root' || options.providedIn === undefined)\n ) {\n rootDefaultProviders.push({\n provide: this,\n useFactory: () => this.ɵfactory!(),\n });\n }\n }\n }\n}\n\nexport function getCraftRootDefaultProviders(): Provider[] {\n return rootDefaultProviders;\n}\n\ntype DestroyRefState = {\n callbacks: Array<() => void>;\n closed: boolean;\n};\nconst destroyRefState = new WeakMap<DestroyRef, DestroyRefState>();\n\nfunction getDestroyRefState(ref: DestroyRef): DestroyRefState {\n let state = destroyRefState.get(ref);\n if (!state) {\n state = { callbacks: [], closed: false };\n destroyRefState.set(ref, state);\n }\n return state;\n}\n\nexport class DestroyRef {\n onDestroy(callback: () => void): () => void {\n const state = getDestroyRefState(this);\n if (state.closed) {\n callback();\n return () => undefined;\n }\n state.callbacks.push(callback);\n return () => {\n const index = state.callbacks.indexOf(callback);\n if (index >= 0) {\n state.callbacks.splice(index, 1);\n }\n };\n }\n}\n\nexport function ɵdestroyCraftDestroyRef(ref: DestroyRef): void {\n const state = getDestroyRefState(ref);\n if (state.closed) {\n return;\n }\n state.closed = true;\n for (const callback of [...state.callbacks]) {\n callback();\n }\n state.callbacks.length = 0;\n}\n\nconst INJECTOR_TOKEN = new InjectionToken<CraftInjector>('Injector');\nconst ENVIRONMENT_INJECTOR_TOKEN = new InjectionToken<CraftInjector>(\n 'EnvironmentInjector',\n);\n\nexport const Injector = Object.assign(INJECTOR_TOKEN, {\n NULL: createCraftInjector([]),\n create(options: {\n providers: readonly unknown[];\n parent?: Injector | CraftInjector | object | null;\n name?: string;\n }): CraftInjector {\n const parent = options.parent ?? createCraftInjector([]);\n return createEnvironmentInjector(\n options.providers,\n parent as CraftInjector | Injector,\n options.name,\n );\n },\n});\n\nexport const EnvironmentInjector = ENVIRONMENT_INJECTOR_TOKEN;\n\nexport const DOCUMENT = new InjectionToken<Document>('DOCUMENT', {\n factory: () => globalThis.document,\n});\n\nexport const LOCALE_ID = new InjectionToken<string>('LOCALE_ID', {\n factory: () => 'en-US',\n});\n\nexport const APP_INITIALIZER = new InjectionToken<Array<() => unknown>>(\n 'APP_INITIALIZER',\n { factory: () => [], multi: true },\n);\n\n/**\n * Pure-Craft equivalent of Angular's initialization status.\n *\n * Initializers are invoked synchronously when the status is first resolved;\n * the promise only represents completion of any asynchronous results they\n * return. That keeps startup side effects observable immediately while still\n * giving hosts one completion point to await.\n */\nexport class ApplicationInitStatus {\n private _done = false;\n readonly donePromise: Promise<void>;\n\n constructor(\n initializers: readonly (() => unknown)[],\n run: <T>(initializer: () => T) => T = (initializer) => initializer(),\n ) {\n this.donePromise = new Promise<void>((resolve, reject) => {\n try {\n const results = initializers.map((initializer) => run(initializer));\n void Promise.all(results).then(() => {\n this._done = true;\n resolve();\n }, reject);\n } catch (error) {\n reject(error);\n }\n });\n }\n\n get done(): boolean {\n return this._done;\n }\n}\n\nexport class ErrorHandler {\n handleError(error: unknown): void {\n console.error(error);\n }\n}\n\nlet craftDevMode: boolean | undefined;\n\nexport function ɵsetCraftDevMode(isDev: boolean | undefined): void {\n craftDevMode = isDev;\n}\n\nexport function isDevMode(): boolean {\n if (craftDevMode !== undefined) {\n return craftDevMode;\n }\n const ngDevMode = (globalThis as { ngDevMode?: boolean }).ngDevMode;\n if (typeof ngDevMode === 'boolean') {\n return ngDevMode;\n }\n const nodeProcess = (\n globalThis as { process?: { env?: { NODE_ENV?: string } } }\n ).process;\n return (\n typeof nodeProcess === 'undefined' ||\n nodeProcess.env?.NODE_ENV !== 'production'\n );\n}\n\nexport class ElementRef<T = HTMLElement> {\n nativeElement: T;\n constructor(nativeElement: T) {\n this.nativeElement = nativeElement;\n }\n}\n\nexport class Renderer2 {\n createElement(name: string): Element {\n return globalThis.document.createElement(name);\n }\n setProperty(el: object, name: string, value: unknown): void {\n (el as Record<string, unknown>)[name] = value;\n }\n listen(\n target: EventTarget,\n event: string,\n handler: EventListener,\n ): () => void {\n target.addEventListener(event, handler);\n return () => target.removeEventListener(event, handler);\n }\n}\n\nexport class EventEmitter<T> {\n private readonly listeners = new Set<(value: T) => void>();\n emit(value: T): void {\n for (const listener of this.listeners) {\n listener(value);\n }\n }\n subscribe(next: ((value: T) => void) | { next?: (value: T) => void }): {\n unsubscribe(): void;\n } {\n const listener =\n typeof next === 'function' ? next : (next.next ?? (() => undefined));\n this.listeners.add(listener);\n return {\n unsubscribe: () => {\n this.listeners.delete(listener);\n },\n };\n }\n}\n\nfunction isInjectorToken(token: unknown): boolean {\n return (\n token === Injector ||\n token === EnvironmentInjector ||\n token === INJECTOR_TOKEN\n );\n}\n\nfunction isDestroyRefToken(token: unknown): boolean {\n return token === DestroyRef;\n}\n\ntype CraftInjectFallback = (\n token: object,\n options?: { optional?: boolean; skipSelf?: boolean },\n) => unknown;\n\nlet injectFallback: CraftInjectFallback | undefined;\n\nexport function ɵsetCraftInjectFallback(\n fallback: CraftInjectFallback | undefined,\n): void {\n injectFallback = fallback;\n}\n\nexport function inject<T>(token: InjectionToken<T>): T;\nexport function inject<T>(token: CraftToken<T>): T;\nexport function inject<T>(token: Type<T>): T;\nexport function inject<T>(token: AbstractType<T>): T;\nexport function inject<T>(token: ProviderToken<T>): T;\nexport function inject<T>(\n token: ProviderToken<T>,\n options: { optional?: false; skipSelf?: boolean },\n): T;\nexport function inject<T>(\n token: ProviderToken<T>,\n options: { optional: true; skipSelf?: boolean },\n): T | null;\nexport function inject<T>(\n token: ProviderToken<T>,\n options?: { optional?: boolean; skipSelf?: boolean },\n): T | null {\n let injector: CraftInjector;\n try {\n injector = getCurrentCraftInjector();\n } catch (error) {\n if (injectFallback) {\n return injectFallback(token as object, options) as T;\n }\n throw error;\n }\n if (options?.skipSelf) {\n const parent = injector.ɵparent;\n if (!parent) {\n if (options.optional) {\n return null;\n }\n throw new Error(`No provider for Craft token \"${String(token)}\".`);\n }\n injector = parent;\n }\n if (isInjectorToken(token)) {\n return injector as T;\n }\n if (isDestroyRefToken(token)) {\n const fromInjector = injector.getOptional(DestroyRef);\n if (fromInjector) {\n return fromInjector as T;\n }\n const attached = (injector as CraftInjector & { ɵdestroyRef?: DestroyRef })\n .ɵdestroyRef;\n if (attached) {\n return attached as T;\n }\n if (options?.optional) {\n return null;\n }\n throw new Error('No provider for Craft token \"DestroyRef\".');\n }\n if (options?.optional) {\n return injector.getOptional(token as object) as T | null;\n }\n return injector.get(token as object) as T;\n}\n\nexport function assertInInjectionContext(\n _fn?: (...args: never[]) => unknown,\n): void {\n inject(Injector);\n}\n\nexport function runInInjectionContext<T>(\n injector: Injector | CraftInjector | object,\n fn: () => T,\n): T {\n return asCraftInjector(injector).run(fn);\n}\n\ntype CraftHostInjectorRunner = <T>(host: object, fn: () => T) => T;\n\nlet hostInjectorRunner: CraftHostInjectorRunner | undefined;\n\nexport function ɵsetCraftHostInjectorRunner(\n runner: CraftHostInjectorRunner | undefined,\n): void {\n hostInjectorRunner = runner;\n}\n\nexport function asCraftInjector(\n injector: Injector | CraftInjector | object,\n): CraftInjector {\n if (isCraftInjector(injector)) {\n return injector;\n }\n return ɵcreateCraftInjectorFromHost(injector as object, (fn) =>\n hostInjectorRunner ? hostInjectorRunner(injector as object, fn) : fn(),\n );\n}\n\nexport function ɵcraftInjectorFromHost(hostInjector: object): CraftInjector {\n return asCraftInjector(hostInjector);\n}\n\nfunction flattenProviders(providers: readonly unknown[]): Array<{\n provide: object;\n useValue?: unknown;\n useFactory?: (...args: any[]) => unknown;\n useExisting?: object;\n useClass?: Type<unknown>;\n deps?: unknown[];\n multi?: boolean;\n}> {\n const flattened: Array<{\n provide: object;\n useValue?: unknown;\n useFactory?: (...args: any[]) => unknown;\n useExisting?: object;\n useClass?: Type<unknown>;\n deps?: unknown[];\n multi?: boolean;\n }> = [];\n for (const provider of providers) {\n if (Array.isArray(provider)) {\n flattened.push(...flattenProviders(provider));\n continue;\n }\n if (\n typeof provider === 'object' &&\n provider !== null &&\n 'ɵproviders' in provider &&\n Array.isArray((provider as { ɵproviders?: unknown[] }).ɵproviders)\n ) {\n flattened.push(\n ...flattenProviders((provider as { ɵproviders: unknown[] }).ɵproviders),\n );\n continue;\n }\n if (\n typeof provider === 'object' &&\n provider !== null &&\n 'provide' in provider\n ) {\n flattened.push(\n provider as {\n provide: object;\n useValue?: unknown;\n useFactory?: (...args: any[]) => unknown;\n useExisting?: object;\n useClass?: Type<unknown>;\n deps?: unknown[];\n multi?: boolean;\n },\n );\n }\n }\n return flattened;\n}\n\nexport function toCraftProviders(\n providers: readonly unknown[],\n): CraftProvider[] {\n return flattenProviders(providers).map((provider) => {\n const token = provider.provide;\n const multi = provider.multi === true;\n if ('useValue' in provider) {\n return { token, useValue: provider.useValue, multi };\n }\n if (provider.useExisting) {\n const existing = provider.useExisting;\n return {\n token,\n multi,\n useFactory: (injector) => injector.get(existing),\n };\n }\n if (provider.useClass) {\n const type = provider.useClass;\n return {\n token,\n multi,\n useFactory: (injector) =>\n injector.run(() => new (type as new () => unknown)()),\n };\n }\n const factory = provider.useFactory ?? (() => undefined);\n const deps = provider.deps ?? [];\n return {\n token,\n multi,\n useFactory: (injector) =>\n injector.run(() =>\n factory(...deps.map((dep) => injector.get(dep as object))),\n ),\n };\n });\n}\n\nexport function createEnvironmentInjector(\n providers: readonly unknown[],\n parent: Injector | CraftInjector,\n _debugName?: string,\n): EnvironmentInjector & CraftInjector {\n const destroyRef = new DestroyRef();\n const parentCraft = asCraftInjector(parent);\n const child = parentCraft.createChild([\n { token: DestroyRef, useValue: destroyRef },\n { token: INJECTOR_TOKEN, useFactory: (injector) => injector },\n { token: ENVIRONMENT_INJECTOR_TOKEN, useFactory: (injector) => injector },\n {\n token: ApplicationInitStatus,\n useFactory: (injector) =>\n new ApplicationInitStatus(injector.get(APP_INITIALIZER, []), (fn) =>\n injector.run(fn),\n ),\n },\n ...toCraftProviders(providers),\n ]);\n Object.assign(child, { ɵdestroyRef: destroyRef });\n (\n child as CraftInjector & { ɵonDestroy?: (callback: () => void) => void }\n ).ɵonDestroy?.(() => ɵdestroyCraftDestroyRef(destroyRef));\n return child;\n}\n\nexport function provideAppInitializer(fn: () => unknown): Provider {\n return { provide: APP_INITIALIZER, useValue: fn, multi: true };\n}\n\nexport const ɵINJECTOR_SCOPE = new InjectionToken<string>('INJECTOR_SCOPE', {\n factory: () => 'root',\n});\n\nexport const ɵEffectScheduler = new InjectionToken<{ flush(): void }>(\n 'EffectScheduler',\n {\n factory: () => ({\n flush(): void {\n // alien-signals flushes synchronously.\n },\n }),\n },\n);\n\nexport function signal<T>(\n initial: T,\n options?: { equal?: ValueEqualityFn<T>; debugName?: string },\n): CraftWritableSignal<T> {\n return craftSignal(initial, options);\n}\n\nexport function computed<T>(\n compute: () => T,\n options?: CreateComputedOptions<T>,\n): CraftSignal<T> {\n return options ? craftComputed(compute, options) : craftComputed(compute);\n}\n\ntype LinkedPrevious<Source, T> = {\n source: Source;\n value: T;\n};\n\nexport function linkedSignal<T>(source: () => T): CraftWritableSignal<T>;\nexport function linkedSignal<T>(\n source: () => T,\n options: { equal?: ValueEqualityFn<T>; debugName?: string },\n): CraftWritableSignal<T>;\nexport function linkedSignal<Source, T>(options: {\n source: () => Source;\n computation: (source: Source, previous?: LinkedPrevious<Source, T>) => T;\n equal?: ValueEqualityFn<T>;\n debugName?: string;\n injector?: InjectorHandle;\n}): CraftWritableSignal<T>;\nexport function linkedSignal<T>(\n sourceOrOptions:\n | (() => T)\n | {\n source: () => unknown;\n computation: (\n source: unknown,\n previous?: LinkedPrevious<unknown, T>,\n ) => T;\n equal?: ValueEqualityFn<T>;\n debugName?: string;\n injector?: InjectorHandle;\n },\n options?: { equal?: ValueEqualityFn<T>; debugName?: string },\n): CraftWritableSignal<T> {\n if (typeof sourceOrOptions === 'function') {\n return craftLinkedSignal({\n source: sourceOrOptions,\n computation: sourceOrOptions,\n equal: options?.equal,\n debugName: options?.debugName,\n });\n }\n let previous: LinkedPrevious<unknown, T> | undefined;\n return craftLinkedSignal({\n source: sourceOrOptions.source,\n computation: () => {\n const source = sourceOrOptions.source();\n const value = sourceOrOptions.computation(source, previous);\n previous = { source, value };\n return value;\n },\n equal: sourceOrOptions.equal,\n debugName: sourceOrOptions.debugName,\n });\n}\n\nfunction bindWatchToDestroyRef(\n watch: { destroy(): void },\n options?: CreateEffectOptions,\n): void {\n if (options?.manualCleanup) {\n return;\n }\n let destroyRef: DestroyRef | null = null;\n try {\n destroyRef = inject(DestroyRef, { optional: true });\n } catch {\n destroyRef = null;\n }\n destroyRef?.onDestroy(() => watch.destroy());\n}\n\nexport function effect(\n fn: (onCleanup: EffectCleanupRegisterFn) => void,\n options?: CreateEffectOptions,\n): EffectRef {\n const run = () => {\n const watch = craftWatch(() => {\n const cleanups: Array<() => void> = [];\n fn((cleanup) => {\n cleanups.push(cleanup);\n });\n return () => {\n for (const cleanup of cleanups) {\n cleanup();\n }\n };\n }, options);\n bindWatchToDestroyRef(watch, options);\n return watch;\n };\n const injector = options?.injector;\n return injector ? asCraftInjector(injector).run(run) : run();\n}\n\nexport function untracked<T>(fn: () => T): T {\n return craftUntracked(fn);\n}\n\nexport function batch<T>(fn: () => T): T {\n return craftBatch(fn);\n}\n\nfunction isAngularSignalLike(value: unknown): boolean {\n if (typeof value !== 'function') {\n return false;\n }\n const symbols = Object.getOwnPropertySymbols(value);\n if (symbols.some((symbol) => symbol.description === 'SIGNAL')) {\n return true;\n }\n return 'set' in value || 'update' in value;\n}\n\nexport function isSignal(value: unknown): value is Signal<unknown> {\n return isCraftSignal(value) || isAngularSignalLike(value);\n}\n\nexport function isWritableSignal(\n value: unknown,\n): value is WritableSignal<unknown> {\n return (\n isSignal(value) && typeof (value as { set?: unknown }).set === 'function'\n );\n}\n\nexport function takeUntilDestroyed<T>(\n destroyRef?: DestroyRef,\n): MonoTypeOperatorFunction<T> {\n const ref = destroyRef ?? inject(DestroyRef, { optional: true });\n return (source) =>\n new Observable<T>((subscriber) => {\n const subscription = source.subscribe(subscriber);\n const release = ref?.onDestroy(() => subscription.unsubscribe());\n return () => {\n release?.();\n subscription.unsubscribe();\n };\n });\n}\n\nexport type ToObservableOptions = {\n injector?: InjectorHandle;\n};\n\nexport function toObservable<T>(\n source: Signal<T>,\n options?: ToObservableOptions,\n): Observable<T> {\n return new Observable<T>((subscriber) => {\n const start = () => {\n const watch = craftWatch(() => {\n subscriber.next(source());\n });\n let release: (() => void) | undefined;\n try {\n const destroyRef = inject(DestroyRef, { optional: true });\n release = destroyRef?.onDestroy(() => {\n watch.destroy();\n if (!subscriber.closed) {\n subscriber.complete();\n }\n });\n } catch {\n release = undefined;\n }\n return () => {\n release?.();\n watch.destroy();\n };\n };\n return options?.injector\n ? asCraftInjector(options.injector).run(start)\n : start();\n });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-dom.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-dom.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,cAAc,IAAI,gBAAgB,CAAC;IACnC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,MAAM,CACJ,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,GACrB,MAAM,IAAI,CAAC;CACf;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAsB3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-dom.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-dom.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,OAAO;QACL,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;QACnD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;QACrD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACvD,cAAc,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,sBAAsB,EAAE;QACvD,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;QACzD,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAC3E,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;QACzD,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;QACzE,eAAe,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;QACjE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnC,OAA8C,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAChE,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["export interface CraftDomAdapter {\n createElement(tag: string): Element;\n createText(value: string): Text;\n createComment(value: string): Comment;\n createFragment(): DocumentFragment;\n appendChild(parent: Node, child: Node): void;\n insertBefore(parent: Node, child: Node, before: Node | null): void;\n removeChild(parent: Node, child: Node): void;\n setAttribute(el: Element, name: string, value: string): void;\n removeAttribute(el: Element, name: string): void;\n setProperty(el: Element, name: string, value: unknown): void;\n setValue(node: Text, value: string): void;\n listen(\n target: EventTarget,\n event: string,\n handler: EventListener,\n ): () => void;\n}\n\nexport function createBrowserDomAdapter(document: Document): CraftDomAdapter {\n return {\n createElement: (tag) => document.createElement(tag),\n createText: (value) => document.createTextNode(value),\n createComment: (value) => document.createComment(value),\n createFragment: () => document.createDocumentFragment(),\n appendChild: (parent, child) => parent.appendChild(child),\n insertBefore: (parent, child, before) => parent.insertBefore(child, before),\n removeChild: (parent, child) => parent.removeChild(child),\n setAttribute: (element, name, value) => element.setAttribute(name, value),\n removeAttribute: (element, name) => element.removeAttribute(name),\n setProperty: (element, name, value) => {\n (element as unknown as Record<string, unknown>)[name] = value;\n },\n setValue: (node, value) => {\n node.nodeValue = value;\n },\n listen: (target, event, handler) => {\n target.addEventListener(event, handler);\n return () => target.removeEventListener(event, handler);\n },\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-http.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAIF,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACnD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAoD/B;AAcD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,GACnC,yBAAyB,GAAG,SAAS,CAMvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-http.ts"],"names":[],"mappings":"AAqBA,MAAM,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAyB;IAEzB,MAAM,UAAU,GACd,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAC3D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC5B,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,SAAS,GACb,OAAO,CAAC,OAAO,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAClD;YACE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;YACvE,MAAM,EAAE,UAAU,EAAE,MAAM;SAC3B,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAyB;YACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAM;SACpC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,4BAA4B,EAAE;YAC1D,KAAK,EAAE;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;aACG;SACtC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAoC;IAEpC,OACE,QAGD,CAAC,4BAA4B,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAW,EACX,MAAkC;IAElC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEpD,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,EAAE,CAAC;AACtD,CAAC","sourcesContent":["export type CraftHttpRequest = {\n url: string;\n method: string;\n headers?: Readonly<Record<string, string>>;\n params?: Readonly<Record<string, string | number | boolean | undefined>>;\n body?: unknown;\n signal?: AbortSignal;\n timeout?: number;\n};\n\nexport type CraftHttpResponse<T> = {\n status: number;\n body: T;\n};\n\ntype CraftHttpResponseMetadata = {\n headers: Headers;\n statusText: string;\n url: string;\n};\n\nconst CRAFT_HTTP_RESPONSE_METADATA = Symbol('craft-http-response-metadata');\n\nexport async function craftFetchTransport<T = unknown>(\n request: CraftHttpRequest,\n): Promise<CraftHttpResponse<T>> {\n const controller =\n request.timeout === undefined && request.signal === undefined\n ? undefined\n : new AbortController();\n const abortFromRequest = () => controller?.abort(request.signal?.reason);\n request.signal?.addEventListener('abort', abortFromRequest, { once: true });\n if (request.signal?.aborted) {\n abortFromRequest();\n }\n\n const timeoutId =\n request.timeout === undefined\n ? undefined\n : setTimeout(() => controller?.abort(), request.timeout);\n const headers = new Headers(request.headers);\n if (request.body !== undefined && !headers.has('content-type')) {\n headers.set('content-type', 'application/json');\n }\n\n try {\n const response = await fetch(\n appendCraftHttpParams(request.url, request.params),\n {\n method: request.method,\n headers,\n body:\n request.body === undefined ? undefined : JSON.stringify(request.body),\n signal: controller?.signal,\n },\n );\n const text = await response.text();\n const result: CraftHttpResponse<T> = {\n status: response.status,\n body: parseCraftHttpBody(text) as T,\n };\n\n Object.defineProperty(result, CRAFT_HTTP_RESPONSE_METADATA, {\n value: {\n headers: response.headers,\n statusText: response.statusText,\n url: response.url || request.url,\n } satisfies CraftHttpResponseMetadata,\n });\n\n return result;\n } finally {\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n request.signal?.removeEventListener('abort', abortFromRequest);\n }\n}\n\nfunction parseCraftHttpBody(text: string): unknown {\n if (text === '') {\n return null;\n }\n\n try {\n return JSON.parse(text);\n } catch {\n return text;\n }\n}\n\nexport function ɵgetCraftHttpResponseMetadata(\n response: CraftHttpResponse<unknown>,\n): CraftHttpResponseMetadata | undefined {\n return (\n response as CraftHttpResponse<unknown> & {\n [CRAFT_HTTP_RESPONSE_METADATA]?: CraftHttpResponseMetadata;\n }\n )[CRAFT_HTTP_RESPONSE_METADATA];\n}\n\nfunction appendCraftHttpParams(\n url: string,\n params: CraftHttpRequest['params'],\n): string {\n if (params === undefined) {\n return url;\n }\n\n const query = new URLSearchParams();\n for (const [name, value] of Object.entries(params)) {\n if (value !== undefined) {\n query.append(name, String(value));\n }\n }\n\n const serialized = query.toString();\n if (!serialized) {\n return url;\n }\n\n const hashIndex = url.indexOf('#');\n const hash = hashIndex === -1 ? '' : url.slice(hashIndex);\n const baseUrl = hashIndex === -1 ? url : url.slice(0, hashIndex);\n const separator = baseUrl.includes('?') ? '&' : '?';\n\n return `${baseUrl}${separator}${serialized}${hash}`;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-injector-host.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-injector-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-injector-host.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-injector-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { ɵcraftInjectorFromHost } from './craft-compat';\nexport type { CraftInjector } from './craft-injector';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-injector.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-injector.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IACjC;IAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/D;IACE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B,UAAU,CAAC,CAAC,CAAC,GACb,CAAC,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GACtC;IACE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEN,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;IAClE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC;IACxD,GAAG,CAAC,CAAC,EACH,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC1B,aAAa,EAAE,CAAC,GAAG,IAAI,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,CAAC,GAAG,IAAI,CAAC;IACZ,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,WAAW,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC;AAuBD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAkB3D,eAAO,MAAM,UAAU,eAAmC,CAAC;AAE3D,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAE9D;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,aAAa,EAAE,GAClC,aAAa,CAEf;AAED,wBAAgB,uBAAuB,IAAI,aAAa,CAUvD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAQtE;AAyKD,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,sBAAsB,GACvC,aAAa,CAkFf;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAEN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-injector.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-injector.ts"],"names":[],"mappings":"AA+DA,MAAM,WAAW,GACf,UACD,CAAC,OAAO,CAAC;AACV,MAAM,iBAAiB,GAAG,WAAW,EAAE,QAAQ,EAAE,IAAI;IACnD,CAAC,CACG,WAAW,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,CAGlD,EAAE,iBAAiB;IACtB,CAAC,CAAC,SAAS,CAAC;AACd,MAAM,eAAe,GAAG,iBAAiB;IACvC,CAAC,CAAC,IAAI,iBAAiB,EAAiB;IACxC,CAAC,CAAC,IAAI,CAAC;AACT,MAAM,oBAAoB,GAAoB,EAAE,CAAC;AACjD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAyB,CAAC;AAC3D,MAAM,UAAU,GAAG,IAAI,OAAO,EAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAE3D,MAAM,UAAU,UAAU,CAAI,SAAiB;IAC7C,OAAO,EAAE,SAAS,EAAmB,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAAmC;IAEnC,OAAO,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GACZ,eAAe,EAAE,QAAQ,EAAE;QAC3B,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAuB,CAAC,GAAG,KAAK,UAAU;QAClD,OAAQ,KAAuB,CAAC,GAAG,KAAK,UAAU;QAClD,OAAQ,KAAuB,CAAC,WAAW,KAAK,UAAU,CAC3D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,KAAK,GAAG,KAA6C,CAAC;IAC5D,OAAO,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAI,KAA0B,CAAC,QAAQ,CAAC;IACrD,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CACnB,OAAoC,EACpC,KAAa;IAEb,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5D,CAAC;AAED,SAAS,yBAAyB,CAChC,SAAmC,EACnC,MAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,cAAc,GAAG,CAAC,KAAa,EAA+B,EAAE;QACpE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,UAAU;YAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAsB,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAkB;QACnC,GAAG,CAAI,KAA6B,EAAE,aAAiB;YACrD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,OAAO,aAAkB,CAAC;YAC5B,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,YAAY,GAAG,MAAM;wBACzB,CAAC,CAAC,CAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAsB,IAAI,EAAE,CAAC;wBACzD,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO;wBACL,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,GAAI,KAAmB;qBACnB,CAAC;gBACT,CAAC;gBACD,OAAO,KAAU,CAAC;YACpB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,aAAkB,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC5B,OAAO,QAAa,CAAC;oBACvB,CAAC;oBACD,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO,QAAa,CAAC;YACvB,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,aAAkB,CAAC;YAC5B,CAAC;YACD,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,WAAW,CAAI,KAA6B;YAC1C,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,OAAO,aAAkB,CAAC;YAC5B,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,YAAY,GAAG,MAAM;wBACzB,CAAC,CAAC,CAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAsB,IAAI,EAAE,CAAC;wBACzD,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO;wBACL,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,GAAI,KAAmB;qBACnB,CAAC;gBACT,CAAC;gBACD,OAAO,KAAU,CAAC;YACpB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAAc,CAAC;QAC1D,CAAC;QACD,GAAG,CAAI,EAAW;YAChB,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,oBAAoB,CAAC,GAAG,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,WAAW,CAAC,cAAwC;YAClD,MAAM,KAAK,GAAG,yBAAyB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;gBACxC,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,YAAY,EAAE;QACjD,KAAK,EAAE,CAAC,QAAoB,EAAE,EAAE;YAC9B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,YAAoB,EACpB,gBAAwC;IAExC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,YAIZ,CAAC;IACF,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,cAAc,GAAG,CAAC,KAAa,EAA+B,EAAE;QACpE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,UAAU;YAAE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,aAAa,GAAkB;QACnC,GAAG,CAAI,KAA6B,EAAE,aAAiB;YACrD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzB,OAAO,KAAU,CAAC;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO,QAAa,CAAC;YACvB,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,aAAkB,CAAC;YAC5B,CAAC;YACD,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,WAAW,CAAI,KAA6B;YAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzB,OAAO,KAAU,CAAC;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAAc,CAAC;QAC1D,CAAC;QACD,GAAG,CAAI,EAAW;YAChB,OAAO,gBAAgB,CAAC,GAAG,EAAE;gBAC3B,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACH,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,oBAAoB,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,WAAW,CAAC,SAAmC;YAC7C,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO;YACL,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO;YACT,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IACF,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,SAAiB;IAEjB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoC,EACpC,QAAuB,EACvB,QAAuB;IAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAA0B,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;gBACjB,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAuB,EACvB,QAAuB;IAEvB,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI;YAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAc,CAAC;IACnB,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI;QAC9B,OAAO;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,IAAI,KAAK,CAAC,gCAAgC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC","sourcesContent":["declare const CraftTokenBrand: unique symbol;\n\nexport type CraftToken<T> = {\n readonly debugName: string;\n readonly [CraftTokenBrand]: T;\n};\n\nexport type CraftProvider<T = unknown> =\n | { token: CraftToken<T> | object; useValue: T; multi?: boolean }\n | {\n token: CraftToken<T> | object;\n useFactory: (injector: CraftInjector) => T;\n multi?: boolean;\n };\n\nexport type CraftInjectToken<T> =\n | CraftToken<T>\n | (abstract new (...args: never[]) => T)\n | {\n readonly debugName?: string;\n readonly ɵfactory?: () => T;\n };\n\nexport interface CraftInjector {\n get<T>(token: CraftInjectToken<T>): T;\n get<T>(token: CraftInjectToken<T>, notFoundValue: null): T | null;\n get<T>(token: CraftInjectToken<T>, notFoundValue: T): T;\n get<T>(\n token: CraftInjectToken<T>,\n notFoundValue: T | null,\n flags?: object,\n ): T | null;\n getOptional<T>(token: CraftInjectToken<T> | object): T | null;\n run<T>(fn: () => T): T;\n createChild(providers: readonly CraftProvider[]): CraftInjector;\n destroy(): void;\n readonly destroyed: boolean;\n readonly ɵparent?: CraftInjector | null;\n}\n\ntype ProviderRecord = {\n resolve(): unknown;\n readonly multi: boolean;\n};\n\ntype TokenWithFactory = {\n readonly debugName?: string;\n readonly ɵfactory?: () => unknown;\n};\n\ntype NodeProcess = {\n getBuiltinModule?: (specifier: string) => unknown;\n versions?: { node?: string };\n};\n\ntype AsyncLocalStorageLike<T> = {\n getStore(): T | undefined;\n run<Result>(store: T, callback: () => Result): Result;\n};\n\ntype AsyncLocalStorageConstructor = new <T>() => AsyncLocalStorageLike<T>;\nexport type CraftHostContextRunner = <T>(fn: () => T) => T;\n\nconst nodeProcess = (\n globalThis as typeof globalThis & { process?: NodeProcess }\n).process;\nconst AsyncLocalStorage = nodeProcess?.versions?.node\n ? (\n nodeProcess.getBuiltinModule?.('node:async_hooks') as\n | { AsyncLocalStorage?: AsyncLocalStorageConstructor }\n | undefined\n )?.AsyncLocalStorage\n : undefined;\nconst injectorStorage = AsyncLocalStorage\n ? new AsyncLocalStorage<CraftInjector>()\n : null;\nconst browserInjectorStack: CraftInjector[] = [];\nconst hostInjectors = new WeakMap<object, CraftInjector>();\nconst hostTokens = new WeakMap<object, object>();\nexport const ɵNOT_FOUND = Symbol('CraftInjector.notFound');\n\nexport function craftToken<T>(debugName: string): CraftToken<T> {\n return { debugName } as CraftToken<T>;\n}\n\nexport function createCraftInjector(\n providers: readonly CraftProvider[],\n): CraftInjector {\n return createNativeCraftInjector(providers, null);\n}\n\nexport function getCurrentCraftInjector(): CraftInjector {\n const injector =\n injectorStorage?.getStore() ??\n browserInjectorStack[browserInjectorStack.length - 1];\n if (!injector) {\n throw new Error(\n 'getCurrentCraftInjector() must be called inside an injection context (injector.run()).',\n );\n }\n return injector;\n}\n\nexport function isCraftInjector(value: unknown): value is CraftInjector {\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof (value as CraftInjector).get === 'function' &&\n typeof (value as CraftInjector).run === 'function' &&\n typeof (value as CraftInjector).createChild === 'function'\n );\n}\n\nfunction tokenName(token: object): string {\n const named = token as TokenWithFactory & { name?: string };\n return named.debugName ?? named.name ?? 'unknown';\n}\n\nfunction readDefaultFactory(token: object): unknown | typeof ɵNOT_FOUND {\n const factory = (token as TokenWithFactory).ɵfactory;\n if (typeof factory !== 'function') {\n return ɵNOT_FOUND;\n }\n return factory();\n}\n\nfunction lookupRecord(\n records: Map<object, ProviderRecord>,\n token: object,\n): ProviderRecord | undefined {\n const direct = records.get(token);\n if (direct) {\n return direct;\n }\n const aliased = hostTokens.get(token);\n return aliased ? records.get(aliased) : undefined;\n}\n\nfunction lookupDefaultFactory(token: object): unknown | typeof ɵNOT_FOUND {\n const direct = readDefaultFactory(token);\n if (direct !== ɵNOT_FOUND) {\n return direct;\n }\n const aliased = hostTokens.get(token);\n return aliased ? readDefaultFactory(aliased) : ɵNOT_FOUND;\n}\n\nfunction createNativeCraftInjector(\n providers: readonly CraftProvider[],\n parent: CraftInjector | null,\n): CraftInjector {\n const records = new Map<object, ProviderRecord>();\n const defaultValues = new Map<object, unknown>();\n const children: CraftInjector[] = [];\n let destroyed = false;\n const resolveDefault = (token: object): unknown | typeof ɵNOT_FOUND => {\n if (defaultValues.has(token)) return defaultValues.get(token);\n const value = lookupDefaultFactory(token);\n if (value !== ɵNOT_FOUND) defaultValues.set(token, value);\n return value;\n };\n const destroyCallbacks: Array<() => void> = [];\n const craftInjector: CraftInjector = {\n get<T>(token: CraftToken<T> | object, notFoundValue?: T): T {\n if (token === craftInjector) {\n return craftInjector as T;\n }\n const local = lookupRecord(records, token);\n if (local) {\n const value = local.resolve();\n if (local.multi) {\n const parentValues = parent\n ? ((parent.getOptional(token) as unknown[] | null) ?? [])\n : [];\n return [\n ...(Array.isArray(parentValues) ? parentValues : []),\n ...(value as unknown[]),\n ] as T;\n }\n return value as T;\n }\n if (parent) {\n if (arguments.length >= 2) {\n return parent.get(token, notFoundValue as T);\n }\n try {\n return parent.get(token);\n } catch {\n const fallback = resolveDefault(token);\n if (fallback !== ɵNOT_FOUND) {\n return fallback as T;\n }\n throw missingProviderError(token);\n }\n }\n const fallback = resolveDefault(token);\n if (fallback !== ɵNOT_FOUND) {\n return fallback as T;\n }\n if (arguments.length >= 2) {\n return notFoundValue as T;\n }\n throw missingProviderError(token);\n },\n getOptional<T>(token: CraftToken<T> | object): T | null {\n if (token === craftInjector) {\n return craftInjector as T;\n }\n const local = lookupRecord(records, token);\n if (local) {\n const value = local.resolve();\n if (local.multi) {\n const parentValues = parent\n ? ((parent.getOptional(token) as unknown[] | null) ?? [])\n : [];\n return [\n ...(Array.isArray(parentValues) ? parentValues : []),\n ...(value as unknown[]),\n ] as T;\n }\n return value as T;\n }\n if (parent) {\n const inherited = parent.getOptional(token);\n if (inherited !== null) {\n return inherited;\n }\n }\n const fallback = resolveDefault(token);\n return fallback === ɵNOT_FOUND ? null : (fallback as T);\n },\n run<T>(fn: () => T): T {\n if (injectorStorage) {\n return injectorStorage.run(craftInjector, fn);\n }\n browserInjectorStack.push(craftInjector);\n try {\n return fn();\n } finally {\n browserInjectorStack.pop();\n }\n },\n createChild(childProviders: readonly CraftProvider[]): CraftInjector {\n const child = createNativeCraftInjector(childProviders, craftInjector);\n children.push(child);\n return child;\n },\n destroy(): void {\n if (destroyed) {\n return;\n }\n destroyed = true;\n for (const child of children) {\n child.destroy();\n }\n for (const callback of destroyCallbacks) {\n callback();\n }\n },\n get destroyed() {\n return destroyed;\n },\n get ɵparent() {\n return parent;\n },\n };\n\n Object.defineProperty(craftInjector, 'ɵonDestroy', {\n value: (callback: () => void) => {\n destroyCallbacks.push(callback);\n },\n });\n\n for (const provider of providers) {\n addProviderRecord(records, provider, craftInjector);\n }\n\n return craftInjector;\n}\n\nexport function ɵcreateCraftInjectorFromHost(\n hostInjector: object,\n runInHostContext: CraftHostContextRunner,\n): CraftInjector {\n const existing = hostInjectors.get(hostInjector);\n if (existing) {\n return existing;\n }\n\n const host = hostInjector as {\n get(token: object, notFoundValue?: unknown): unknown;\n destroy?: () => void;\n destroyed?: boolean;\n };\n const children: CraftInjector[] = [];\n const defaultValues = new Map<object, unknown>();\n let destroyed = false;\n const resolveDefault = (token: object): unknown | typeof ɵNOT_FOUND => {\n if (defaultValues.has(token)) return defaultValues.get(token);\n const value = lookupDefaultFactory(token);\n if (value !== ɵNOT_FOUND) defaultValues.set(token, value);\n return value;\n };\n const craftInjector: CraftInjector = {\n get<T>(token: CraftToken<T> | object, notFoundValue?: T): T {\n const hostToken = hostTokens.get(token) ?? token;\n const value = host.get(hostToken, ɵNOT_FOUND);\n if (value !== ɵNOT_FOUND) {\n return value as T;\n }\n const fallback = resolveDefault(token);\n if (fallback !== ɵNOT_FOUND) {\n return fallback as T;\n }\n if (arguments.length >= 2) {\n return notFoundValue as T;\n }\n throw missingProviderError(token);\n },\n getOptional<T>(token: CraftToken<T> | object): T | null {\n const hostToken = hostTokens.get(token) ?? token;\n const value = host.get(hostToken, ɵNOT_FOUND);\n if (value !== ɵNOT_FOUND) {\n return value as T;\n }\n const fallback = resolveDefault(token);\n return fallback === ɵNOT_FOUND ? null : (fallback as T);\n },\n run<T>(fn: () => T): T {\n return runInHostContext(() => {\n if (injectorStorage) {\n return injectorStorage.run(craftInjector, fn);\n }\n browserInjectorStack.push(craftInjector);\n try {\n return fn();\n } finally {\n browserInjectorStack.pop();\n }\n });\n },\n createChild(providers: readonly CraftProvider[]): CraftInjector {\n const child = createNativeCraftInjector(providers, craftInjector);\n children.push(child);\n return child;\n },\n destroy(): void {\n if (destroyed) {\n return;\n }\n destroyed = true;\n for (const child of children) {\n child.destroy();\n }\n host.destroy?.();\n },\n get destroyed() {\n return destroyed || host.destroyed === true;\n },\n get ɵparent() {\n return null;\n },\n };\n hostInjectors.set(hostInjector, craftInjector);\n return craftInjector;\n}\n\nexport function ɵregisterCraftTokenHostToken(\n token: object,\n hostToken: object,\n): void {\n hostTokens.set(token, hostToken);\n}\n\nfunction addProviderRecord(\n records: Map<object, ProviderRecord>,\n provider: CraftProvider,\n injector: CraftInjector,\n): void {\n const token = provider.token;\n if (provider.multi) {\n const existing = records.get(token);\n const nextValue = createProviderRecord(provider, injector).resolve;\n if (existing?.multi) {\n const previous = existing.resolve as () => unknown[];\n records.set(token, {\n multi: true,\n resolve: () => [...previous(), nextValue()],\n });\n return;\n }\n records.set(token, {\n multi: true,\n resolve: () => [nextValue()],\n });\n return;\n }\n records.set(token, createProviderRecord(provider, injector));\n}\n\nfunction createProviderRecord(\n provider: CraftProvider,\n injector: CraftInjector,\n): ProviderRecord {\n if ('useValue' in provider) {\n return {\n multi: provider.multi === true,\n resolve: () => provider.useValue,\n };\n }\n\n let resolved = false;\n let value: unknown;\n return {\n multi: provider.multi === true,\n resolve() {\n if (!resolved) {\n value = provider.useFactory(injector);\n resolved = true;\n }\n return value;\n },\n };\n}\n\nfunction missingProviderError(token: object): Error {\n return new Error(`No provider for Craft token \"${tokenName(token)}\".`);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-linked-signal.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-linked-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EAIR,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CAAC;AAmBF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IACrD,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KACpC,KAAK,CAAC;IACX,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAC9B,GAAG,iBAAiB,CAAC,KAAK,CAAC,CA+D3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-linked-signal.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-linked-signal.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n inject,\n Injector,\n linkedSignal,\n signal,\n untracked,\n type ValueEqualityFn,\n type WritableSignal,\n} from './craft-compat';\nimport { craftWatch } from './craft-signal';\n\ntype PreviousValue<Source, Value> = {\n readonly source: Source;\n readonly value: Value;\n};\n\n/**\n * A linked signal bridged to Craft-native dependencies.\n *\n * The synchronous Craft watch increments a revision when the source reads a\n * Craft signal, allowing the linked signal to recompute from both systems.\n */\nfunction optionalDestroyRef(injector?: Injector): DestroyRef | null {\n if (injector) {\n return injector.get(DestroyRef, null, { optional: true });\n }\n try {\n return inject(DestroyRef, { optional: true });\n } catch {\n return null;\n }\n}\n\nexport type CraftLinkedSignal<T> = WritableSignal<T> & {\n destroy(): void;\n};\n\nexport function craftLinkedSignal<Source, Value>(options: {\n readonly source: () => Source;\n readonly computation: (\n source: Source,\n previous?: PreviousValue<Source, Value>,\n ) => Value;\n readonly equal?: ValueEqualityFn<Value>;\n readonly debugName?: string;\n readonly injector?: Injector;\n}): CraftLinkedSignal<Value> {\n const destroyRef = optionalDestroyRef(options.injector);\n const revision = signal(0);\n let initialized = false;\n let destroyed = false;\n let watch: { destroy(): void } | undefined;\n const ensureWatch = () => {\n if (watch || destroyed) return;\n watch = craftWatch(() => {\n options.source();\n if (initialized) {\n revision.update((current) => current + 1);\n } else {\n initialized = true;\n }\n });\n };\n let previousSource: Source | undefined;\n let frozen: Value | undefined;\n let hasFrozen = false;\n\n const linked = linkedSignal<Source, Value>({\n source: () => {\n if (hasFrozen) {\n return previousSource as Source;\n }\n ensureWatch();\n revision();\n previousSource = options.source();\n return previousSource;\n },\n computation: (source, previous) => {\n if (hasFrozen) {\n return frozen as Value;\n }\n return options.computation(source, previous);\n },\n ...(options.equal && { equal: options.equal }),\n ...(options.debugName && { debugName: options.debugName }),\n });\n const destroy = (): void => {\n if (destroyed) return;\n destroyed = true;\n watch?.destroy();\n watch = undefined;\n frozen = untracked(() => linked());\n hasFrozen = true;\n };\n destroyRef?.onDestroy(destroy);\n const value = (() => (hasFrozen ? (frozen as Value) : linked())) as WritableSignal<Value>;\n value.set = (next) => {\n if (hasFrozen) {\n return;\n }\n linked.set(next);\n };\n value.update = (updateFn) => {\n if (hasFrozen) {\n return;\n }\n linked.update(updateFn);\n };\n return Object.assign(value, { destroy });\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-runtime.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-router-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-runtime.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-router-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["export type CraftLocation = {\n pathname: string;\n search: string;\n hash: string;\n};\n\nexport interface CraftHistory {\n get(): CraftLocation;\n getState(): unknown;\n listen(fn: (location: CraftLocation) => void): () => void;\n push(url: string, state?: unknown): void;\n replace(url: string, state?: unknown): void;\n skip(url: string, state?: unknown): void;\n dispose(): void;\n}\n\nexport type CraftQueryParams = Record<string, string>;\n\nexport type CraftCompiledRoute = {\n path: string;\n pathMatch?: 'full' | 'prefix';\n redirectTo?: string | ((...args: unknown[]) => unknown);\n children?: CraftCompiledRoute[];\n loadChildren?: () => Promise<readonly CraftCompiledRoute[] | unknown>;\n component?: unknown;\n loadComponent?: () => Promise<unknown> | unknown;\n data?: Record<string | symbol, unknown>;\n providers?: unknown[];\n title?: string;\n canActivate?: unknown[];\n canMatch?: unknown[];\n ssr?: {\n mode: 'block' | 'fallback' | 'client';\n timeoutMs?: number;\n };\n};\n\nexport type CraftMatch = {\n pathname: string;\n search: string;\n hash: string;\n params: Record<string, string>;\n queryParams: CraftQueryParams;\n route: CraftCompiledRoute;\n routes: readonly CraftCompiledRoute[];\n data: Record<string | symbol, unknown>;\n};\n\nexport function parseUrl(url: string): CraftLocation {\n const hashIndex = url.indexOf('#');\n const withoutHash = hashIndex === -1 ? url : url.slice(0, hashIndex);\n const hash = hashIndex === -1 ? '' : url.slice(hashIndex);\n const searchIndex = withoutHash.indexOf('?');\n const pathname =\n searchIndex === -1 ? withoutHash : withoutHash.slice(0, searchIndex);\n const search = searchIndex === -1 ? '' : withoutHash.slice(searchIndex);\n return {\n pathname: pathname || '/',\n search,\n hash,\n };\n}\n\nexport function serializeLocation(location: CraftLocation): string {\n return `${location.pathname}${location.search}${location.hash}`;\n}\n\nexport function parseSearchParams(search: string): CraftQueryParams {\n const params: CraftQueryParams = {};\n const raw = search.startsWith('?') ? search.slice(1) : search;\n if (!raw) {\n return params;\n }\n for (const pair of raw.split('&')) {\n if (!pair) {\n continue;\n }\n const eq = pair.indexOf('=');\n const key = decodeURIComponent(eq === -1 ? pair : pair.slice(0, eq));\n const value = decodeURIComponent(eq === -1 ? '' : pair.slice(eq + 1));\n params[key] = value;\n }\n return params;\n}\n\nexport function serializeSearchParams(params: CraftQueryParams): string {\n const entries = Object.entries(params).filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n );\n if (entries.length === 0) {\n return '';\n }\n return `?${entries\n .map(\n ([key, value]) =>\n `${encodeURIComponent(key)}=${encodeURIComponent(value)}`,\n )\n .join('&')}`;\n}\n\nexport function readWindowLocation(win: Window): CraftLocation {\n return {\n pathname: win.location.pathname || '/',\n search: win.location.search,\n hash: win.location.hash,\n };\n}\n\nexport function createBrowserHistory(win: Window): CraftHistory {\n const listeners = new Set<(location: CraftLocation) => void>();\n let disposed = false;\n let current = readWindowLocation(win);\n let currentState: unknown = win.history.state ?? null;\n\n const notify = (): void => {\n if (disposed) {\n return;\n }\n for (const listener of listeners) {\n listener(current);\n }\n };\n\n const write = (\n mode: 'push' | 'replace',\n url: string,\n state: unknown,\n ): void => {\n const nextState = state === undefined ? null : state;\n if (mode === 'push') {\n win.history.pushState(nextState, '', url);\n } else {\n win.history.replaceState(nextState, '', url);\n }\n currentState = nextState;\n current = readWindowLocation(win);\n notify();\n };\n\n const onPopState = (event: PopStateEvent): void => {\n current = readWindowLocation(win);\n currentState = event.state ?? win.history.state ?? null;\n notify();\n };\n win.addEventListener('popstate', onPopState);\n\n return {\n get: () => current,\n getState: () => currentState,\n listen(fn) {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n },\n push(url, state) {\n write('push', url, state);\n },\n replace(url, state) {\n write('replace', url, state);\n },\n skip(url, state) {\n currentState = state === undefined ? null : state;\n current = parseUrl(url);\n notify();\n },\n dispose() {\n if (disposed) {\n return;\n }\n disposed = true;\n win.removeEventListener('popstate', onPopState);\n listeners.clear();\n },\n };\n}\n\nexport function createMemoryHistory(initialUrl = '/'): CraftHistory {\n let current = parseUrl(initialUrl);\n let currentState: unknown = null;\n const listeners = new Set<(location: CraftLocation) => void>();\n\n const notify = (): void => {\n for (const listener of listeners) {\n listener(current);\n }\n };\n\n const setLocation = (url: string, state?: unknown): void => {\n currentState = state === undefined ? null : state;\n current = parseUrl(url);\n notify();\n };\n\n return {\n get: () => current,\n getState: () => currentState,\n listen(fn) {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n },\n push(url, state) {\n setLocation(url, state);\n },\n replace(url, state) {\n setLocation(url, state);\n },\n skip(url, state) {\n setLocation(url, state);\n },\n dispose() {\n listeners.clear();\n },\n };\n}\n\nexport function splitPath(pathname: string): string[] {\n return pathname.split('/').filter(Boolean);\n}\n\nfunction splitRoutePath(path: string): string[] {\n if (path === '**') {\n return ['**'];\n }\n return path.split('/').filter((segment) => segment.length > 0);\n}\n\nfunction isOptionalParam(segment: string): boolean {\n return segment.startsWith(':') && segment.endsWith('?');\n}\n\nfunction paramName(segment: string): string {\n return segment.slice(1).replace(/\\?$/, '');\n}\n\ntype SegmentMatch = {\n consumed: number;\n params: Record<string, string>;\n} | null;\n\nfunction matchSegments(\n routePath: string,\n remaining: readonly string[],\n pathMatch: 'full' | 'prefix' = 'prefix',\n): SegmentMatch {\n if (routePath === '**') {\n return { consumed: remaining.length, params: {} };\n }\n\n const segments = splitRoutePath(routePath);\n const params: Record<string, string> = {};\n let index = 0;\n\n for (const segment of segments) {\n if (segment === '**') {\n return { consumed: remaining.length, params };\n }\n if (isOptionalParam(segment)) {\n if (index < remaining.length) {\n params[paramName(segment)] = remaining[index];\n index += 1;\n }\n continue;\n }\n if (index >= remaining.length) {\n return null;\n }\n if (segment.startsWith(':')) {\n params[paramName(segment)] = remaining[index];\n index += 1;\n continue;\n }\n if (segment !== remaining[index]) {\n return null;\n }\n index += 1;\n }\n\n if (pathMatch === 'full' && index !== remaining.length) {\n return null;\n }\n\n return { consumed: index, params };\n}\n\nfunction mergeData(\n routes: readonly CraftCompiledRoute[],\n): Record<string | symbol, unknown> {\n const data: Record<string | symbol, unknown> = {};\n for (const route of routes) {\n if (!route.data) {\n continue;\n }\n Object.assign(data, route.data);\n }\n return data;\n}\n\nfunction matchRouteList(\n routes: readonly CraftCompiledRoute[],\n remaining: readonly string[],\n ancestors: readonly CraftCompiledRoute[],\n params: Record<string, string>,\n location: CraftLocation,\n): CraftMatch | null {\n for (const route of routes) {\n const pathMatch =\n route.pathMatch ??\n (route.path === '' && !route.children ? 'full' : 'prefix');\n const segmentMatch = matchSegments(route.path, remaining, pathMatch);\n if (!segmentMatch) {\n continue;\n }\n\n const nextRemaining = remaining.slice(segmentMatch.consumed);\n const nextParams = { ...params, ...segmentMatch.params };\n const chain = [...ancestors, route];\n\n if (route.children && route.children.length > 0) {\n const childMatch = matchRouteList(\n route.children,\n nextRemaining,\n chain,\n nextParams,\n location,\n );\n if (childMatch) {\n return childMatch;\n }\n if (nextRemaining.length > 0) {\n continue;\n }\n }\n\n if (nextRemaining.length > 0 && route.path !== '**') {\n continue;\n }\n\n return {\n pathname: location.pathname,\n search: location.search,\n hash: location.hash,\n params: nextParams,\n queryParams: parseSearchParams(location.search),\n route,\n routes: chain,\n data: mergeData(chain),\n };\n }\n\n return null;\n}\n\nfunction resolveRedirectUrl(redirectTo: string, match: CraftMatch): string {\n const absolute = redirectTo.startsWith('/') ? redirectTo : `/${redirectTo}`;\n const parsed = parseUrl(absolute);\n return `${buildPathFromTemplate(parsed.pathname, match.params)}${parsed.search}${parsed.hash}`;\n}\n\nexport function matchCraftRoutes(\n routes: unknown,\n location: CraftLocation,\n): CraftMatch | null {\n if (!Array.isArray(routes)) {\n return null;\n }\n const compiled = routes as CraftCompiledRoute[];\n const seen = new Set<string>();\n let current: CraftLocation = {\n ...location,\n pathname: location.pathname || '/',\n };\n\n for (;;) {\n const key = serializeLocation(current);\n if (seen.has(key)) {\n return null;\n }\n seen.add(key);\n const match = matchRouteList(\n compiled,\n splitPath(current.pathname),\n [],\n {},\n current,\n );\n if (!match) {\n return null;\n }\n const redirectUrl = resolveRedirectTarget(match);\n if (!redirectUrl) {\n return match;\n }\n current = parseUrl(resolveRedirectUrl(redirectUrl, match));\n }\n}\n\nfunction resolveRedirectTarget(match: CraftMatch): string | null {\n const redirectTo = match.route.redirectTo;\n if (typeof redirectTo === 'string') {\n return redirectTo.length > 0 ? redirectTo : null;\n }\n if (typeof redirectTo !== 'function') {\n return null;\n }\n try {\n return coerceRedirectUrl(redirectTo());\n } catch {\n return null;\n }\n}\n\nfunction coerceRedirectUrl(result: unknown): string | null {\n if (typeof result === 'string' && result.length > 0) {\n return result;\n }\n if (\n result &&\n typeof result === 'object' &&\n typeof (result as { next?: unknown }).next === 'function'\n ) {\n try {\n const step = (result as Iterator<unknown>).next();\n if (step.done) {\n return coerceRedirectUrl(step.value);\n }\n } catch {\n return null;\n }\n }\n return null;\n}\n\nfunction hasUnresolvedLoadChildren(route: CraftCompiledRoute): boolean {\n return (\n typeof route.loadChildren === 'function' &&\n !(route.children && route.children.length > 0)\n );\n}\n\nexport function findUnresolvedLoadChildrenRoute(\n routes: readonly CraftCompiledRoute[],\n remaining: readonly string[],\n): CraftCompiledRoute | null {\n for (const route of routes) {\n const pathMatch =\n route.pathMatch ??\n (route.path === '' && !route.children && !route.loadChildren\n ? 'full'\n : 'prefix');\n const segmentMatch = matchSegments(route.path, remaining, pathMatch);\n if (!segmentMatch) {\n continue;\n }\n\n const nextRemaining = remaining.slice(segmentMatch.consumed);\n\n if (route.children && route.children.length > 0) {\n const nested = findUnresolvedLoadChildrenRoute(\n route.children,\n nextRemaining,\n );\n if (nested) {\n return nested;\n }\n }\n\n if (hasUnresolvedLoadChildren(route)) {\n return route;\n }\n }\n\n return null;\n}\n\nfunction routeActivatesOutlet(route: CraftCompiledRoute): boolean {\n return route.component != null || typeof route.loadComponent === 'function';\n}\n\nexport function sliceCraftMatchForOutlet(match: CraftMatch): {\n activated: CraftMatch;\n child: CraftMatch | null;\n} {\n const index = match.routes.findIndex(routeActivatesOutlet);\n if (index === -1) {\n return { activated: match, child: null };\n }\n const remaining = match.routes.slice(index);\n const childRoutes = match.routes.slice(index + 1);\n return {\n activated: {\n ...match,\n route: remaining[0],\n routes: remaining,\n },\n child:\n childRoutes.length === 0\n ? null\n : {\n ...match,\n route: childRoutes[childRoutes.length - 1],\n routes: childRoutes,\n },\n };\n}\n\nfunction normalizeLoadedChildren(loaded: unknown): CraftCompiledRoute[] {\n if (Array.isArray(loaded)) {\n return loaded as CraftCompiledRoute[];\n }\n if (\n loaded &&\n typeof loaded === 'object' &&\n 'toRoutes' in loaded &&\n typeof (loaded as { toRoutes: unknown }).toRoutes === 'function'\n ) {\n return normalizeLoadedChildren(\n (loaded as { toRoutes: () => unknown }).toRoutes(),\n );\n }\n if (loaded && typeof loaded === 'object' && 'default' in loaded) {\n return normalizeLoadedChildren((loaded as { default: unknown }).default);\n }\n throw new Error(\n 'loadChildren must return a craftRoutes collection or a Craft compiled route array.',\n );\n}\n\nconst loadChildrenInflight = new WeakMap<CraftCompiledRoute, Promise<void>>();\n\nasync function ensureChildrenLoaded(route: CraftCompiledRoute): Promise<void> {\n if (!hasUnresolvedLoadChildren(route)) {\n return;\n }\n const existing = loadChildrenInflight.get(route);\n if (existing) {\n await existing;\n return;\n }\n const pending = Promise.resolve(route.loadChildren!()).then(\n (loaded) => {\n route.children = normalizeLoadedChildren(loaded);\n route.loadChildren = undefined;\n loadChildrenInflight.delete(route);\n },\n (error) => {\n loadChildrenInflight.delete(route);\n throw error;\n },\n );\n loadChildrenInflight.set(route, pending);\n await pending;\n}\n\nexport async function matchCraftRoutesAsync(\n routes: unknown,\n location: CraftLocation,\n): Promise<CraftMatch | null> {\n if (!Array.isArray(routes)) {\n return null;\n }\n const compiled = routes as CraftCompiledRoute[];\n let current: CraftLocation = {\n ...location,\n pathname: location.pathname || '/',\n };\n\n for (;;) {\n const match = matchCraftRoutes(compiled, current);\n const pending = findUnresolvedLoadChildrenRoute(\n compiled,\n splitPath((match ?? current).pathname || '/'),\n );\n if (!pending) {\n return match;\n }\n await ensureChildrenLoaded(pending);\n if (match) {\n current = {\n pathname: match.pathname,\n search: match.search,\n hash: match.hash,\n };\n }\n }\n}\n\nexport function buildPathFromTemplate(\n template: string,\n params?: Record<string, string>,\n): string {\n if (template === '' || template === '/') {\n return '/';\n }\n const segments = template\n .split('/')\n .filter(Boolean)\n .map((segment) => {\n if (!segment.startsWith(':')) {\n return segment;\n }\n const name = paramName(segment);\n const value = params?.[name];\n if (value === undefined) {\n if (isOptionalParam(segment)) {\n return null;\n }\n throw new Error(\n `Missing route param \"${name}\" for route \"${template}\".`,\n );\n }\n return value;\n });\n return `/${segments.filter((segment): segment is string => segment !== null).join('/')}`;\n}\n\nexport function createUrlFromParts(\n pathname: string,\n queryParams?: Record<string, string | undefined> | null,\n fragment?: string | null,\n): string {\n const search = serializeSearchParams(\n Object.fromEntries(\n Object.entries(queryParams ?? {}).filter(\n (entry): entry is [string, string] =>\n typeof entry[1] === 'string' && entry[1].length > 0,\n ),\n ),\n );\n const hash = fragment\n ? fragment.startsWith('#')\n ? fragment\n : `#${fragment}`\n : '';\n return `${pathname}${search}${hash}`;\n}\n"]}