@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":"correlation-id.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/correlation-id.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n computed,\n inject,\n Injector,\n InjectionToken,\n signal,\n untracked,\n type Signal,\n} from './host/craft-compat';\nimport { SERVICE_YIELD_REQUEST_MARKER } from './craft-generator-runtime';\nimport type { ConcreteServiceScope } from './craft-service.shared';\nimport {\n RealCraftTemporalRuntime,\n type CraftTemporalRuntime,\n type TemporalTaskHandle,\n} from './temporal-runtime';\n\n/** A human-readable prefix describing the operation that started a flow. */\nexport type CorrelationIdPrefix =\n | 'click'\n | 'enter'\n | 'nav-back'\n | 'nav-forward'\n | (string & {});\n\nexport interface CorrelationIdMetadata {\n lastCorrelationId: string | null;\n mayCorrelatedIds: readonly string[];\n startCorrelationId: string | null;\n}\n\nexport interface CorrelationIdServiceApi {\n readonly lastCorrelationId: Signal<string | null>;\n readonly mayCorrelatedIds: Signal<readonly string[]>;\n generateAndSet(prefix: CorrelationIdPrefix): string;\n startOperation(id: string): void;\n endOperation(id: string): void;\n}\n\nexport const CORRELATION_ID_SERVICE =\n new InjectionToken<CorrelationIdServiceApi | null>('CORRELATION_ID_SERVICE', {\n providedIn: 'root',\n factory: () => null,\n });\n\nexport function createCorrelationIdService(\n temporalRuntime?: CraftTemporalRuntime,\n): CorrelationIdServiceApi {\n const _lastCorrelationId = signal<string | null>(null);\n const _inFlightIds = signal<ReadonlySet<string>>(new Set());\n const _mayCorrelatedIds = computed(() => [..._inFlightIds()]);\n const runtime = temporalRuntime ?? new RealCraftTemporalRuntime();\n const _debounceTimers = new Map<string, TemporalTaskHandle>();\n\n function generateAndSet(prefix: CorrelationIdPrefix): string {\n const id = `${prefix}:${generateUUID()}`;\n _lastCorrelationId.set(id);\n return id;\n }\n\n function startOperation(id: string): void {\n const existingTimer = _debounceTimers.get(id);\n if (existingTimer !== undefined) {\n existingTimer.cancel();\n _debounceTimers.delete(id);\n }\n _inFlightIds.update((s) => new Set([...s, id]));\n }\n\n function endOperation(id: string): void {\n const timer = runtime.schedule(\n () => {\n _debounceTimers.delete(id);\n _inFlightIds.update((s) => {\n const next = new Set(s);\n next.delete(id);\n return next;\n });\n },\n 500,\n {\n kind: 'debounce',\n owner: `correlation:${id}`,\n },\n );\n _debounceTimers.set(id, timer);\n }\n\n return {\n lastCorrelationId: _lastCorrelationId.asReadonly(),\n mayCorrelatedIds: _mayCorrelatedIds,\n generateAndSet,\n startOperation,\n endOperation,\n };\n}\n\nfunction generateUUID(): string {\n if (typeof crypto !== 'undefined' && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n return Math.random().toString(36).slice(2) + Date.now().toString(36);\n}\n\n// Module-level variable tracking startCorrelationId within a generator execution.\n// JavaScript is single-threaded: safe to use as a call-stack variable.\n// Set by the CorrelationId FnWrapper before the generator runs, reset after.\nlet _currentStartCorrelationId: string | null = null;\n\nexport function setCurrentStartCorrelationId(id: string | null): void {\n _currentStartCorrelationId = id;\n}\n\nexport function getCurrentStartCorrelationId(): string | null {\n return _currentStartCorrelationId;\n}\n\nexport type CorrelationIdYield = Readonly<{\n [SERVICE_YIELD_REQUEST_MARKER]: true;\n providedIn: 'function';\n resolve: (\n injector: Injector,\n hostScope: ConcreteServiceScope,\n ) => CorrelationIdMetadata;\n}>;\n\nexport function* CorrelationId(): Generator<\n CorrelationIdYield,\n CorrelationIdMetadata,\n unknown\n> {\n return (yield {\n [SERVICE_YIELD_REQUEST_MARKER]: true,\n providedIn: 'function' as const,\n resolve: (injector: Injector) => {\n const service = injector.get(CORRELATION_ID_SERVICE, null);\n // Untracked for the same reason as the correlation-id fn wrapper: this\n // metadata is read from inside whatever computation is logging, and it\n // changes on every interaction. Tracking it would make every logging\n // caller depend on the id of the flow it happens to run in.\n return untracked(() => ({\n lastCorrelationId: service?.lastCorrelationId() ?? null,\n mayCorrelatedIds: service?.mayCorrelatedIds() ?? [],\n startCorrelationId: _currentStartCorrelationId,\n }));\n },\n }) as CorrelationIdMetadata;\n}\n\nexport function injectCorrelationIdService(): CorrelationIdServiceApi | null {\n return inject(CORRELATION_ID_SERVICE);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-a11y.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAA4B,MAAM,2BAA2B,CAAC;AAEpF,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGhF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,yBAGvC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,mBAAmB,CAI7D;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,eAAO,MAAM,oBAAoB,wCACqB,CAAC;AAEvD,wBAAgB,wBAAwB,IAAI,kBAAkB,CAS7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-a11y.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAA4B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAA4B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,cAAc,CAC3D,6BAA6B,EAC7B,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAC7C,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,mBAAmB,CAAC;QACzB,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,UAAU,CAAqB,oBAAoB,CAAC,CAAC;AAEvD,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,CAAC,KAAM,SAAQ,aAAa;QAC5B,WAAW,CAAC,QAA6B;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,0BAA0B,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC,EAAE,CAAC;AACP,CAAC","sourcesContent":["import { InjectionToken } from './host/craft-compat';\nimport { TitleStrategy, type RouterStateSnapshot } from './host/craft-router-types';\nimport { ɵapplyBrowserDocumentTitle } from './browser-boundaries';\nimport { craftLoadingFeature, type CraftLoadingFeature } from './craft-pending';\nimport { craftToken } from './host/craft-injector';\n\n/**\n * When true, {@link CraftRouterOutletController} moves keyboard focus to\n * `#main` / `<main>` after a completed navigation (not the initial load).\n */\nexport const CRAFT_A11Y_NAVIGATION_FOCUS = new InjectionToken<boolean>(\n 'CRAFT_A11Y_NAVIGATION_FOCUS',\n { providedIn: 'root', factory: () => false },\n);\n\n/**\n * Opt-in: after each in-app navigation, focus the page `<main>` so keyboard\n * and screen-reader users are not left on the previous link. Pair with a\n * skip link (`skipLink()`) and `main({ id: 'main' })`.\n */\nexport function withA11yNavigationFocus(): CraftLoadingFeature {\n return craftLoadingFeature([\n { provide: CRAFT_A11Y_NAVIGATION_FOCUS, useValue: true },\n ]);\n}\n\n/**\n * Binds Angular route `title` to `BrowserDocument.setTitle`. Registered by\n * default from {@link provideCraftRouter}.\n */\nexport type CraftTitleStrategy = TitleStrategy;\n\nexport const CRAFT_TITLE_STRATEGY =\n craftToken<CraftTitleStrategy>('CraftTitleStrategy');\n\nexport function createCraftTitleStrategy(): CraftTitleStrategy {\n return new (class extends TitleStrategy {\n override updateTitle(snapshot: RouterStateSnapshot): void {\n const title = this.buildTitle(snapshot);\n if (title !== undefined) {\n ɵapplyBrowserDocumentTitle(title);\n }\n }\n })();\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-activated-route.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-activated-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,mCAAmC,GAAG,uBAAuB,CAChE,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,KAAK,EACL,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,EAAE,mCAAmC,CAAC;CAC9E,CAAC;AAEF,KAAK,+BAA+B,GAAG,mBAAmB,CACxD,QAAQ,EACR,cAAc,EACd,mCAAmC,CACpC,CAAC;AAEF,KAAK,yBAAyB,GAAG,gCAAgC,GAAG;IAClE,IAAI,SAAS,CAAC,+BAA+B,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;CACzE,CAAC;AAaF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,2BACgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-activated-route.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-activated-route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,eAAe,IAAI,cAAc,GAIlC,MAAM,iBAAiB,CAAC;AA0BzB,6EAA6E;AAC7E,6EAA6E;AAC7E,8BAA8B;AAC9B,MAAM,0BAA0B,GAAG,cAAc,CAAC;IAChD,IAAI,EAAE,qBAAqB;IAC3B,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,cAAc;CACtB,CAEA,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,0BAA0B,CAAC,mBAAmB,CAAC","sourcesContent":["import { ActivatedRoute } from './host/craft-router-types';\nimport {\n ɵtoCraftService as toCraftService,\n type SERVICE_HELPER_DEPENDENCIES,\n type ServiceYieldRequest,\n type ServiceTrackingMetadata,\n} from './craft-service';\n\ntype CraftActivatedRouteTrackingMetadata = ServiceTrackingMetadata<\n 'CraftActivatedRoute',\n 'global',\n ActivatedRoute,\n never,\n undefined,\n never,\n false\n>;\n\ntype CraftActivatedRouteTrackedHelper = {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: CraftActivatedRouteTrackingMetadata;\n};\n\ntype CraftActivatedRouteYieldRequest = ServiceYieldRequest<\n 'global',\n ActivatedRoute,\n CraftActivatedRouteTrackingMetadata\n>;\n\ntype CraftActivatedRouteHelper = CraftActivatedRouteTrackedHelper & {\n (): Generator<CraftActivatedRouteYieldRequest, ActivatedRoute, unknown>;\n};\n\n// Keep the internal `toCraftService` type out of the public declaration. Its\n// runtime helper contains private symbol markers that TypeScript cannot emit\n// from this package boundary.\nconst craftActivatedRouteService = toCraftService({\n name: 'CraftActivatedRoute',\n providedIn: 'global',\n token: ActivatedRoute,\n}) as unknown as {\n CraftActivatedRoute: CraftActivatedRouteHelper;\n};\n\n/**\n * Yields the current Angular `ActivatedRoute` through the Craft service\n * dependency system.\n *\n * ```ts\n * const activatedRoute = yield* CraftActivatedRoute();\n * ```\n */\nexport const CraftActivatedRoute =\n craftActivatedRouteService.CraftActivatedRoute;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-app-config.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-app-config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-app-config.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-app-config.ts"],"names":[],"mappings":"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","sourcesContent":["import { getCraftRootDefaultProviders, provideAppInitializer, type ApplicationConfig } from './host/craft-compat';\nimport type { MissingProvidersFromDepsMap } from './branded-component/branded-component';\nimport {\n getRegisteredAppStartServices,\n getServiceMetaData,\n runServiceAppStart,\n type NamedBrandedServiceProvider,\n type GetServiceReferenceMeta,\n type ServiceReference,\n} from './craft-service';\nimport {\n CRAFT_SERVICE_PROVIDER_BRAND,\n type Simplify,\n} from './craft-service.shared';\n\ntype AngularApplicationProvider = ApplicationConfig['providers'][number] | object;\ntype AngularApplicationProviders = readonly AngularApplicationProvider[];\nexport type AppConfigProvidedServiceNamesKey =\n '__craftAppProvidedServiceNames__';\nexport type AppConfigProvidedDependencyValuesKey =\n '__craftAppProvidedDependencyValues__';\n\nexport interface CraftAppStartRegistry {}\n\ntype DepsMap<Input> = Input extends { deps: infer Deps extends object }\n ? Deps\n : {};\n\ntype ProvidedMap<Input> = Input extends {\n provided: infer Provided extends object;\n}\n ? Provided\n : {};\n\ntype ExplicitMissingProviderMap<Input> = Input extends {\n missingProvider: infer MissingProvider extends object;\n}\n ? MissingProvider\n : {};\n\ntype IsAny<Input> = 0 extends 1 & Input ? true : false;\n\ntype AppProvidedServiceNamesFromEntry<Entry> =\n IsAny<Entry> extends true\n ? never\n : Entry extends NamedBrandedServiceProvider<infer Name, any, any>\n ? Name\n : Entry extends readonly unknown[]\n ? AppProvidedServiceNames<Entry>\n : never;\n\ntype KnownProvidedDependencyValue<Value> = [unknown] extends [Value]\n ? never\n : Value;\n\ntype AppProvidedDependencyValuesFromEntry<Entry> =\n IsAny<Entry> extends true\n ? never\n : Entry extends NamedBrandedServiceProvider<any, any, infer Output>\n ? KnownProvidedDependencyValue<Output>\n : Entry extends readonly unknown[]\n ? AppProvidedDependencyValues<Entry>\n : never;\n\ntype AppProvidedServiceNames<Providers> = Providers extends readonly unknown[]\n ? AppProvidedServiceNamesFromEntry<Providers[number]>\n : never;\n\ntype AppProvidedDependencyValues<Providers> =\n Providers extends readonly unknown[]\n ? AppProvidedDependencyValuesFromEntry<Providers[number]>\n : never;\n\ntype AppProvidedValueKeys<MissingProviders extends object, ProvidedValues> = {\n [Name in Extract<\n keyof MissingProviders,\n string\n >]: MissingProviders[Name] extends ProvidedValues ? Name : never;\n}[Extract<keyof MissingProviders, string>];\n\ntype CraftAppStartRegistryKeys = Extract<keyof CraftAppStartRegistry, string>;\n\ntype RequireCraftAppStartConfig = [CraftAppStartRegistryKeys] extends [never]\n ? {}\n : {\n appStart: CraftAppStartRegistry;\n };\n\ntype InvalidCraftAppStartRegistryEntries = Extract<\n {\n [Tag in CraftAppStartRegistryKeys]: CraftAppStartRegistry[Tag] extends ServiceReference\n ? GetServiceReferenceMeta<CraftAppStartRegistry[Tag]> extends {\n appStart: true;\n }\n ? never\n : Tag\n : Tag;\n }[CraftAppStartRegistryKeys],\n string\n>;\n\ntype AssertValidCraftAppStartRegistry = [\n InvalidCraftAppStartRegistryEntries,\n] extends [never]\n ? {}\n : {\n ERROR_invalid_craft_app_start_registry: InvalidCraftAppStartRegistryEntries;\n };\n\ntype RegisteredAppStartServiceNames = {\n [Tag in CraftAppStartRegistryKeys]: CraftAppStartRegistry[Tag] extends ServiceReference\n ? Extract<\n GetServiceReferenceMeta<CraftAppStartRegistry[Tag]>['name'],\n string\n >\n : never;\n}[CraftAppStartRegistryKeys];\n\ntype ConfigProvidedServiceNames<Providers> =\n | AppProvidedServiceNames<Providers>\n | RegisteredAppStartServiceNames;\n\ntype StripProvidedDependency<\n Dependency,\n ProvidedNames extends string,\n> = Dependency extends {\n dependencies: infer Dependencies extends object;\n}\n ? Simplify<\n Omit<Dependency, 'dependencies'> & {\n dependencies: StripProvidedDepsMap<Dependencies, ProvidedNames>;\n }\n >\n : Dependency;\n\ntype StripProvidedDepsMap<\n Deps extends object,\n ProvidedNames extends string,\n> = Simplify<\n Omit<\n {\n [Name in Extract<keyof Deps, string>]: StripProvidedDependency<\n Deps[Name],\n ProvidedNames\n >;\n },\n ProvidedNames\n >\n>;\n\ntype ResolvedRouteDepsMap<RouteMetaData, Providers> = StripProvidedDepsMap<\n DepsMap<RouteMetaData>,\n ConfigProvidedServiceNames<Providers>\n>;\n\ntype RouteMissingProvidersBeforeAppProviders<RouteMetaData, Providers> =\n Simplify<\n MissingProvidersFromDepsMap<\n ResolvedRouteDepsMap<RouteMetaData, Providers>\n > &\n ExplicitMissingProviderMap<RouteMetaData>\n >;\n\ntype ResolvedRouteMissingProviders<RouteMetaData, Providers> = Simplify<\n Omit<\n RouteMissingProvidersBeforeAppProviders<RouteMetaData, Providers>,\n | keyof ProvidedMap<RouteMetaData>\n | ConfigProvidedServiceNames<Providers>\n | AppProvidedValueKeys<\n RouteMissingProvidersBeforeAppProviders<RouteMetaData, Providers>,\n AppProvidedDependencyValues<Providers>\n >\n >\n>;\n\ntype ResolveCraftAppRouteMetaData<RouteMetaData, Providers> = Simplify<\n Omit<RouteMetaData, 'deps' | 'missingProvider'> &\n (RouteMetaData extends { deps: object }\n ? {\n deps: ResolvedRouteDepsMap<RouteMetaData, Providers>;\n }\n : {}) &\n ([keyof ResolvedRouteMissingProviders<RouteMetaData, Providers>] extends [\n never,\n ]\n ? {}\n : {\n missingProvider: ResolvedRouteMissingProviders<\n RouteMetaData,\n Providers\n >;\n })\n>;\n\nexport type CraftAppConfigMetaData<\n RoutingDeps extends readonly unknown[],\n Providers extends\n AngularApplicationProviders = readonly AngularApplicationProvider[],\n> = {\n [Index in keyof RoutingDeps]: ResolveCraftAppRouteMetaData<\n RoutingDeps[Index],\n Providers\n >;\n} & {\n readonly __craftAppProvidedServiceNames__?: ConfigProvidedServiceNames<Providers>;\n readonly __craftAppProvidedDependencyValues__?: AppProvidedDependencyValues<Providers>;\n};\n\nexport type CraftAppConfigResult<\n RoutingDeps extends readonly unknown[],\n Providers extends\n AngularApplicationProviders = readonly AngularApplicationProvider[],\n> = {\n readonly providers: readonly AngularApplicationProvider[];\n readonly APP_CONFIG_META_DATA: CraftAppConfigMetaData<RoutingDeps, Providers>;\n /** @internal phantom — lets `AppProvidedServiceNamesOf` skip `APP_CONFIG_META_DATA` */\n readonly __craftAppProvidedServiceNames__?: ConfigProvidedServiceNames<Providers>;\n /** @internal phantom — lets `AppProvidedDependencyValuesOf` skip `APP_CONFIG_META_DATA` */\n readonly __craftAppProvidedDependencyValues__?: AppProvidedDependencyValues<Providers>;\n};\n\nexport function craftAppConfig<const RoutingDeps extends readonly unknown[]>(\n config: {\n routingDeps: RoutingDeps;\n } & AssertValidCraftAppStartRegistry &\n RequireCraftAppStartConfig,\n): CraftAppConfigResult<RoutingDeps, readonly []>;\nexport function craftAppConfig<\n const RoutingDeps extends readonly unknown[],\n const Providers extends AngularApplicationProviders,\n>(\n config: {\n routingDeps: RoutingDeps;\n providers: Providers;\n } & AssertValidCraftAppStartRegistry &\n RequireCraftAppStartConfig,\n): CraftAppConfigResult<RoutingDeps, Providers>;\nexport function craftAppConfig<\n const RoutingDeps extends readonly unknown[],\n const Providers extends AngularApplicationProviders,\n>(\n config: {\n routingDeps: RoutingDeps;\n providers?: Providers;\n } & AssertValidCraftAppStartRegistry &\n RequireCraftAppStartConfig,\n): CraftAppConfigResult<RoutingDeps, Providers | readonly []> {\n const providers = [\n ...getCraftRootDefaultProviders(),\n ...(config.providers ?? []),\n ] as AngularApplicationProvider[];\n const providerNames = collectProvidedServiceNames(providers);\n\n for (const reference of getRegisteredAppStartServices()) {\n const metaData = getServiceMetaData(reference);\n\n if (metaData.appStart !== true) {\n throw new Error(\n `craftAppConfig found craftService \"${metaData.name}\" registered as appStart without appStart: true.`,\n );\n }\n\n if (\n Reflect.get(metaData, 'usesProvidedInput') === true &&\n (metaData.providedIn === 'toProvide' ||\n metaData.providedIn === 'manuallyProvidedAtRoot')\n ) {\n throw new Error(\n `craftAppConfig cannot auto-provide appStart service \"${metaData.name}\" because provide${metaData.name}(...) requires arguments.`,\n );\n }\n\n if (\n (metaData.providedIn === 'toProvide' ||\n metaData.providedIn === 'manuallyProvidedAtRoot') &&\n typeof metaData.provide === 'function' &&\n !providerNames.has(metaData.name)\n ) {\n providers.push(metaData.provide());\n providerNames.add(metaData.name);\n }\n\n providers.push(\n provideAppInitializer(() => {\n const serviceValue = metaData.inject();\n return runServiceAppStart(reference, serviceValue);\n }),\n );\n }\n\n return {\n providers,\n APP_CONFIG_META_DATA: config.routingDeps as CraftAppConfigMetaData<\n RoutingDeps,\n Providers | readonly []\n >,\n };\n}\n\n/** Returns a fresh host application config containing the Craft providers. */\nexport function toApplicationConfig(\n config: Pick<CraftAppConfigResult<readonly unknown[]>, 'providers'>,\n): ApplicationConfig {\n return {\n providers: [...config.providers] as ApplicationConfig['providers'],\n };\n}\n\nfunction collectProvidedServiceNames(\n values: readonly unknown[],\n names: Set<string> = new Set(),\n): Set<string> {\n for (const value of values) {\n collectProvidedServiceNamesFromValue(value, names);\n }\n\n return names;\n}\n\nfunction collectProvidedServiceNamesFromValue(\n value: unknown,\n names: Set<string>,\n) {\n if (\n typeof value === 'object' &&\n value !== null &&\n CRAFT_SERVICE_PROVIDER_BRAND in value\n ) {\n const metaData = Reflect.get(value, CRAFT_SERVICE_PROVIDER_BRAND) as\n | { name: string }\n | undefined;\n\n if (metaData?.name) {\n names.add(metaData.name);\n }\n }\n\n if (Array.isArray(value)) {\n for (const entry of value) {\n collectProvidedServiceNamesFromValue(entry, names);\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-codec.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-codec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,UAAU,CAAC,OAAO,EAAE,OAAO;IAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;CACjC;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY,CAAC,OAAO;IACnC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-codec.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-codec.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * A synchronous bidirectional conversion between a transport representation\n * and the value used by the application.\n *\n * The core only knows this small contract. Integrations for validation\n * libraries live in separate packages.\n */\nexport interface CraftCodec<Encoded, Decoded> {\n decode(input: Encoded): Decoded;\n encode(value: Decoded): Encoded;\n}\n\n/** A runtime decoder used for successful HTTP response bodies. */\nexport interface CraftDecoder<Decoded> {\n decode(input: unknown): Decoded | Promise<Decoded>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-computed.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-computed.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-computed.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-computed.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n runInInjectionContext,\n type CreateComputedOptions,\n type Signal,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport { craftComputed as createCraftComputed } from './host/craft-signal';\nimport type {\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYielded,\n} from './craft-service';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport {\n isGeneratorFunction,\n runCraftGenerator,\n} from './craft-generator-runtime';\nimport type { ExtractCraftGenExceptions } from './craft-gen';\nimport type {\n CraftSettledBrand,\n ExtractCraftPendingSources,\n} from './craft-settled';\nimport { APP_SNAPSHOT_REGISTRY } from './take-app-snapshot';\nimport {\n createYieldableReactiveValue,\n REACTIVE_DEPENDENCIES,\n type ReactiveDependencyMapFromYielded,\n ɵactiveReactiveReader,\n type YieldableReactiveValue,\n} from './reactive-read';\n\nconst createComputedWithOptions = createCraftComputed as unknown as <T>(\n computation: () => T,\n options?: CreateComputedOptions<T>,\n) => Signal<T>;\n\ntype CraftComputedGenerator<This, Yielded, T> = (\n this: This,\n) => Generator<Yielded, T, unknown>;\n\n/**\n * A computation that read a `settledValue` through `yield* settled(...)` inherits\n * its source's two obligations: the async source must be covered by a\n * `pendingBlock`, and its exceptions by a `catchBlock`. Both travel as the\n * {@link CraftSettledBrand} of the resulting signal, so a template rendering it\n * is checked exactly as if it rendered the `settledValue` itself.\n *\n * Computations with no async dependency keep their previous exact type.\n */\ntype SettledBrandFromYielded<Yielded> = [\n ExtractCraftPendingSources<Yielded>,\n] extends [never]\n ? {}\n : CraftSettledBrand<\n ExtractCraftPendingSources<Yielded>,\n ExtractCraftGenExceptions<Yielded>\n >;\n\ntype TrackedCraftComputed<\n Name extends string,\n T,\n Yielded,\n> = YieldableReactiveValue<T, Name> & {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: ServiceDependencyMapFromYielded<Yielded>;\n} & ([ReactiveDependencyMapFromYielded<Yielded>] extends [never]\n ? {}\n : {\n readonly [REACTIVE_DEPENDENCIES]?: ReactiveDependencyMapFromYielded<Yielded>;\n }) &\n SettledBrandFromYielded<Yielded>;\n\n// Host-bound forms — `craftComputed('name', this, function* () { ... })` — bind\n// `this` inside the factory (and the computation it returns) to the given host,\n// so a class-field initializer can read instance state (mirrors `craftMethod`).\n// Without a host, a `function*` factory is called with `this = undefined`.\n// The generator overloads must come first: a generator function also matches\n// `() => T` (with `T` inferred as the whole `Generator<...>`), so the plain\n// overload would otherwise win and type the signal as `Signal<Generator<...>>`.\nexport function craftComputed<Name extends string, This, Yielded, T>(\n name: Name,\n host: This,\n factory: CraftComputedGenerator<This, Yielded, T>,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<Name, T, Yielded>;\nexport function craftComputed<Name extends string, Yielded, T>(\n name: Name,\n factory: CraftComputedGenerator<void, Yielded, T>,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<Name, T, Yielded>;\nexport function craftComputed<Name extends string, This, T>(\n name: Name,\n host: This,\n computation: (this: This) => T,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<Name, T, never>;\nexport function craftComputed<Name extends string, T>(\n name: Name,\n computation: () => T,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<Name, T, never>;\nexport function craftComputed<Yielded, T>(\n factory: CraftComputedGenerator<void, Yielded, T>,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<'computed', T, Yielded>;\nexport function craftComputed<T>(\n computation: () => T,\n options?: CreateComputedOptions<T>,\n): TrackedCraftComputed<'computed', T, never>;\nexport function craftComputed<T>(\n nameOrComputation: string | ((...args: never[]) => unknown),\n hostOrComputation?: unknown,\n factoryOrOptions?: unknown,\n maybeOptions?: CreateComputedOptions<T>,\n): TrackedCraftComputed<string, T, unknown> {\n const hasName = typeof nameOrComputation === 'string';\n const name = hasName ? nameOrComputation : 'computed';\n // The host form is recognized by its 3rd argument being the factory —\n // `options` is never a function.\n const hasHost = hasName && typeof factoryOrOptions === 'function';\n const host = hasHost ? hostOrComputation : undefined;\n const computationOrFactory = (\n hasHost ? factoryOrOptions : hasName ? hostOrComputation : nameOrComputation\n ) as ((this: unknown) => T) | CraftComputedGenerator<unknown, unknown, T>;\n const options = (\n hasHost ? maybeOptions : hasName ? factoryOrOptions : hostOrComputation\n ) as CreateComputedOptions<T> | undefined;\n\n assertInInjectionContext(craftComputed);\n const injector = inject(Injector);\n const computedInjector = ɵcreateHostTaggedInjector(\n injector,\n `computed:${name}`,\n );\n\n let evaluate: () => T;\n if (isGeneratorFunction(computationOrFactory)) {\n evaluate = () =>\n runInInjectionContext(computedInjector, () => {\n const iterator = (\n computationOrFactory as CraftComputedGenerator<unknown, unknown, T>\n ).call(host);\n return runCraftGenerator({\n iterator,\n injector: computedInjector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n 'craftComputed generators can only yield Craft dependencies and reactive read requests; received an unknown yield.',\n multipleAppStartErrorMessage:\n 'craftComputed generators cannot declare onAppStart(...) more than once.',\n onAppStartNotSupportedErrorMessage:\n 'craftComputed(...) does not support onAppStart(...). Use onAppStart(...) only inside craftService({ appStart: true }, ...) generators.',\n reactiveReader: ɵactiveReactiveReader() ?? {\n name,\n computed: name,\n path: name,\n },\n }).value as T;\n });\n } else {\n const computation = computationOrFactory as (this: unknown) => T;\n evaluate = hasHost\n ? () => computation.call(host)\n : (computation as () => T);\n }\n\n // One computation, tracked natively. Craft signals ARE the reactive graph\n // now, so a read inside `evaluate` subscribes this computed on its own —\n // there is nothing to capture, mirror or re-publish.\n const result = createComputedWithOptions(evaluate, options) as Signal<T>;\n\n const registry = inject(APP_SNAPSHOT_REGISTRY, { optional: true });\n if (registry) {\n const sig = result;\n const from = computedInjector.get(ɵHOST_TAG_LIST, null) ?? [];\n const destroyRef = computedInjector.get(DestroyRef, null);\n if (destroyRef) {\n registry.triggerSnapshot$\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe(() => {\n let stateSnapshot: unknown;\n try {\n stateSnapshot = sig();\n } catch (error) {\n stateSnapshot = {\n error: error instanceof Error ? error.message : String(error),\n };\n }\n registry.allSnapShot$.next({\n source: name,\n from,\n state: stateSnapshot,\n });\n });\n }\n }\n\n return createYieldableReactiveValue(result, name, {\n computed: name,\n path: name,\n }) as unknown as TrackedCraftComputed<string, T, unknown>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-control-flow.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-control-flow.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-control-flow.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-control-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { isCraftGenShortCircuit } from './craft-gen';\nimport { isCraftNotSettled } from './craft-settled';\n\n/**\n * Returns whether `value` is an internal CraftTS control-flow throw.\n *\n * These values use JavaScript's exception channel to suspend or short-circuit\n * a computation until a CraftTS boundary handles them. They are expected\n * during normal rendering and must not be reported as application failures by\n * generic logging, snapshot, or error-conversion wrappers.\n *\n * An unhandled boundary error such as `CraftUnhandledPendingError` is not\n * included: it represents a missing template boundary and should remain\n * observable.\n */\nexport function isCraftControlFlow(value: unknown): boolean {\n return isCraftGenShortCircuit(value) || isCraftNotSettled(value);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-effect.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,iBAAiB,CAAC;AAQzB,KAAK,aAAa,GAAG,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAElE,KAAK,oBAAoB,CAAC,IAAI,EAAE,OAAO,IAAI,CACzC,IAAI,EAAE,IAAI,KACP,SAAS,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAEhD,KAAK,kBAAkB,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,GAAG;IACxC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC,EAAE,+BAA+B,CAAC,OAAO,CAAC,CAAC;CACnF,CAAC;AASF,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,EAC5D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,EAC5C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO,EACtD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,EAC5C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EACnD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,KAAK,IAAI,EAClE,OAAO,CAAC,EAAE,mBAAmB,GAC5B,SAAS,CAAC;AACb,wBAAgB,WAAW,CAAC,IAAI,SAAS,MAAM,EAC7C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-effect.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-effect.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n inject,\n Injector,\n runInInjectionContext,\n signal,\n untracked,\n type CreateEffectOptions,\n type EffectCleanupRegisterFn,\n type EffectRef,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport { ɵcraftInjectorFromHost } from './host/craft-injector-host';\nimport { craftWatch } from './host/craft-signal';\nimport type {\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYielded,\n} from './craft-service';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport {\n isGeneratorFunction,\n runCraftGenerator,\n} from './craft-generator-runtime';\nimport { APP_SNAPSHOT_REGISTRY } from './take-app-snapshot';\n\ntype CraftEffectFn = (onCleanup: EffectCleanupRegisterFn) => void;\n\ntype CraftEffectGenerator<This, Yielded> = (\n this: This,\n) => Generator<Yielded, CraftEffectFn, unknown>;\n\ntype TrackedCraftEffect<E, Yielded> = E & {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: ServiceDependencyMapFromYielded<Yielded>;\n};\n\n// Host-bound forms — `craftEffect('name', this, function* () { ... })` — bind\n// `this` inside the factory (and the effect body it returns) to the given host,\n// so a class-field initializer can read instance state (mirrors `craftMethod`).\n// Without a host, a `function*` factory is called with `this = undefined`.\n// The generator overloads must come first: a generator function is also\n// assignable to `CraftEffectFn` (a `void` return accepts anything), so the\n// plain overload would otherwise win and drop the dependency metadata.\nexport function craftEffect<Name extends string, This, Yielded>(\n name: Name,\n host: This,\n factory: CraftEffectGenerator<This, Yielded>,\n options?: CreateEffectOptions,\n): TrackedCraftEffect<EffectRef, Yielded>;\nexport function craftEffect<Name extends string, Yielded>(\n name: Name,\n factory: CraftEffectGenerator<void, Yielded>,\n options?: CreateEffectOptions,\n): TrackedCraftEffect<EffectRef, Yielded>;\nexport function craftEffect<Name extends string, This>(\n name: Name,\n host: This,\n effectFn: (this: This, onCleanup: EffectCleanupRegisterFn) => void,\n options?: CreateEffectOptions,\n): EffectRef;\nexport function craftEffect<Name extends string>(\n name: Name,\n effectFn: CraftEffectFn,\n options?: CreateEffectOptions,\n): EffectRef;\nexport function craftEffect(\n name: string,\n hostOrFn: unknown,\n fnOrOptions?: unknown,\n maybeOptions?: CreateEffectOptions,\n): EffectRef {\n // The host form is recognized by its 3rd argument being the factory —\n // `options` is never a function.\n const hasHost = typeof fnOrOptions === 'function';\n const host = hasHost ? hostOrFn : undefined;\n const fnOrFactory = (hasHost ? fnOrOptions : hostOrFn) as\n | ((this: unknown, onCleanup: EffectCleanupRegisterFn) => void)\n | CraftEffectGenerator<unknown, unknown>;\n const options = (hasHost ? maybeOptions : fnOrOptions) as\n | CreateEffectOptions\n | undefined;\n\n assertInInjectionContext(craftEffect);\n const parentInjector = inject(Injector);\n const ownerInjector = ɵcraftInjectorFromHost(\n options?.injector ?? parentInjector,\n );\n const ownerDestroyRef = ownerInjector.get(DestroyRef);\n const effectInjector = ɵcreateHostTaggedInjector(\n ownerInjector,\n `effect:${name}`,\n );\n\n let effectBody: CraftEffectFn;\n\n if (isGeneratorFunction(fnOrFactory)) {\n effectBody = runInInjectionContext(effectInjector, () => {\n const iterator = (\n fnOrFactory as CraftEffectGenerator<unknown, unknown>\n ).call(host);\n return runCraftGenerator({\n iterator,\n injector: effectInjector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n 'craftEffect generators can only yield craftService dependencies.',\n multipleAppStartErrorMessage:\n 'craftEffect generators cannot declare onAppStart(...) more than once.',\n onAppStartNotSupportedErrorMessage:\n 'craftEffect(...) does not support onAppStart(...). Use onAppStart(...) only inside craftService({ appStart: true }, ...) generators.',\n }).value as CraftEffectFn;\n });\n } else {\n const plainFn = fnOrFactory as (\n this: unknown,\n onCleanup: EffectCleanupRegisterFn,\n ) => void;\n effectBody = hasHost\n ? (onCleanup) => plainFn.call(host, onCleanup)\n : (plainFn as CraftEffectFn);\n }\n\n const craftInvalidation = signal(0);\n let craftRef: { destroy(): void } | undefined;\n let destroyed = false;\n const angularRef = effect(\n () => {\n craftInvalidation();\n craftRef?.destroy();\n let initialRun = true;\n craftRef = craftWatch(() => {\n if (initialRun) {\n const cleanups: (() => void)[] = [];\n effectBody((cleanup) => cleanups.push(cleanup));\n return cleanups.length === 0\n ? undefined\n : () => {\n for (const cleanup of cleanups) cleanup();\n };\n }\n untracked(() => craftInvalidation.update((revision) => revision + 1));\n return undefined;\n });\n initialRun = false;\n },\n {\n ...options,\n injector: ownerInjector,\n manualCleanup: true,\n },\n );\n const ref = {\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n angularRef.destroy();\n craftRef?.destroy();\n },\n } as EffectRef;\n if (!options?.manualCleanup) {\n ownerDestroyRef.onDestroy(() => ref.destroy());\n }\n\n const registry = ownerInjector.get(APP_SNAPSHOT_REGISTRY, null);\n if (registry) {\n const from = effectInjector.get(ɵHOST_TAG_LIST, null) ?? [];\n registry.triggerSnapshot$\n .pipe(takeUntilDestroyed(ownerDestroyRef))\n .subscribe(() => {\n registry.allActiveEffects$.next({\n source: `effect:${name}`,\n from,\n });\n });\n }\n\n return ref;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-exception.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-exception.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-exception.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-exception.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAgCvE,MAAM,UAAU,cAAc,CAM5B,IAIC,EACD,OAAiB;IASjB,MAAM,MAAM,GAAG;QACb,CAAC,sBAAsB,CAAC,EAAE,IAAa;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAc;QAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,OAAkB;QAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAkB;KAChC,CAAC;IAEF,OAAO,MAON,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,IAAI,KAAK,CACxE,CAAC;AACJ,CAAC","sourcesContent":["export const CRAFT_EXCEPTION_SYMBOL = Symbol('CRAFT_EXCEPTION_SYMBOL');\n\nexport type CraftExceptionMeta<\n Code extends string = string,\n Scope extends string | undefined = string | undefined,\n Identifier extends string | undefined = string | undefined,\n> = {\n _tag: Code;\n scope?: Scope;\n identifier?: Identifier;\n};\n\nexport type CraftExceptionResult<\n Meta extends CraftExceptionMeta,\n Payload = unknown,\n> = {\n readonly [CRAFT_EXCEPTION_SYMBOL]: true;\n readonly payload: Payload;\n} & Meta & {\n [key in Meta['_tag']]: Payload;\n };\n\nexport type CraftException<\n Meta extends CraftExceptionMeta = CraftExceptionMeta,\n Payload = unknown,\n> = CraftExceptionResult<Meta, Payload>;\n\nexport type AnyCraftException = CraftExceptionResult<\n CraftExceptionMeta,\n unknown\n>;\n\nexport function craftException<\n const Code extends string,\n Scope extends string | undefined = undefined,\n Identifier extends string | undefined = undefined,\n Payload = undefined,\n>(\n meta: {\n _tag: Code;\n scope?: Scope;\n identifier?: Identifier;\n },\n payload?: Payload,\n): CraftExceptionResult<\n {\n _tag: Code;\n scope: Scope;\n identifier?: Identifier;\n },\n Payload\n> {\n const result = {\n [CRAFT_EXCEPTION_SYMBOL]: true as const,\n _tag: meta._tag,\n scope: meta.scope as Scope,\n ...(meta.identifier !== undefined ? { identifier: meta.identifier } : {}),\n payload: payload as Payload,\n [meta._tag]: payload as Payload,\n };\n\n return result as CraftExceptionResult<\n {\n _tag: Code;\n scope: Scope;\n identifier?: Identifier;\n },\n Payload\n >;\n}\n\nexport function isCraftException(value: unknown): value is AnyCraftException {\n return (\n !!value && typeof value === 'object' && CRAFT_EXCEPTION_SYMBOL in value\n );\n}\n\nexport type StripCraftException<T> = Exclude<T, AnyCraftException>;\nexport type ExtractCraftException<T> = Extract<T, AnyCraftException>;\n\nexport type InsertMetaInCraftExceptionIfExists<\n Exception,\n Scope extends string | undefined,\n Identifier extends string | undefined | unknown,\n> =\n Exception extends CraftExceptionResult<\n infer CraftExceptionMeta,\n infer Payload\n >\n ? [unknown] extends [Identifier]\n ? CraftExceptionResult<\n {\n _tag: CraftExceptionMeta['_tag'];\n scope: Scope;\n },\n Payload\n >\n : [Identifier] extends [string]\n ? CraftExceptionResult<\n {\n _tag: CraftExceptionMeta['_tag'];\n scope: Scope;\n identifier: Identifier;\n },\n Payload\n >\n : CraftExceptionResult<\n {\n _tag: CraftExceptionMeta['_tag'];\n scope: Scope;\n },\n Payload\n >\n : Exception;\n\nexport type ExtractCodeFromCraftResultUnion<T> =\n T extends CraftExceptionResult<infer E, any> ? E['_tag'] : never;\n\nexport type ExcludeByCode<T, C> =\n T extends CraftExceptionResult<infer E, any>\n ? E['_tag'] extends C\n ? never\n : T\n : never;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-gen.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-gen.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-gen.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-gen.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AACxE,MAAM,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAClE,MAAM,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAsIhE;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,CAAC,uBAAuB,CAAC,GAAG,IAAa,CAAC;IAC1C,SAAS,CAAoB;IAEtC,YAAY,SAA4B;QACtC,KAAK,CAAC,4CAA4C,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,uBAAuB,IAAI,KAAK,CACzE,CAAC;AACJ,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAsB;IAEtB,OAAQ,OAAwC,CAAC,sBAAsB,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAA4B;IAE5B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE;QAC5C,CAAC,sBAAsB,CAAC,EAAE,YAAY;QACtC,IAAI,CAAC,GAAG,SAA+B;YACrC,OAAO,SAAS,CAAC,MAAM,CAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAClE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBAE1D,OAAO,mBAAmB,CAAC,GAAG,EAAE,CAC9B,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAChD,CAAC;YACJ,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,QAAQ,CACtB,WAAkB;IAElB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAiC,EAAE,EAAE,CACvD,mBAAmB,CAAC,QAAQ,CAAC;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAY,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAErE,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,OAGN,CAAC;AACJ,CAAC","sourcesContent":["import {\n isCraftException,\n type AnyCraftException,\n type ExtractCraftException,\n type StripCraftException,\n} from './craft-exception';\nimport { isGenerator } from './craft-generator-runtime';\n\nconst CRAFT_GEN_EXCEPTION_MARKER = Symbol('craft-gen-exception-marker');\nconst CRAFT_GEN_SHORT_CIRCUIT = Symbol('craft-gen-short-circuit');\nconst CRAFT_PROGRAM_RECREATE = Symbol('craft-program-recreate');\n\n/**\n * Type-level marker surfaced by a {@link craftGen} invocation's `Yielded`. It\n * carries the union of {@link AnyCraftException} the generator may produce so a\n * composing generator (and a route's `canActivate`/`canMatch`) can read the\n * reachable exception codes off its `Yielded`.\n *\n * It is **never** yielded at runtime — the short-circuit is a native `throw` of\n * {@link CraftGenShortCircuit}. The marker is also intentionally NOT a\n * `ServiceYieldRequest`, so `ServiceDependencyMapFromYielded` / `RouteGuardDepsMap`\n * ignore it and route provider stripping is unaffected.\n */\nexport interface CraftGenExceptionMarker<Exception> {\n readonly [CRAFT_GEN_EXCEPTION_MARKER]: Exception;\n}\n\n/** Extracts the union of exceptions advertised by the markers in `Yielded`. */\nexport type ExtractCraftGenExceptions<Yielded> = [\n Extract<Yielded, CraftGenExceptionMarker<any>>,\n] extends [never]\n ? never\n : Extract<\n Yielded,\n CraftGenExceptionMarker<any>\n > extends CraftGenExceptionMarker<infer Exception>\n ? Exception\n : never;\n\ntype AnyGeneratorFactory = (...args: any[]) => Generator<any, any, any>;\n\ntype GeneratorFactoryArgs<GenFn> = GenFn extends (\n ...args: infer Args\n) => Generator<any, any, any>\n ? Args\n : never;\n\ntype GeneratorFactoryYielded<GenFn> = GenFn extends (\n ...args: any[]\n) => Generator<infer Yielded, any, any>\n ? Yielded\n : never;\n\ntype GeneratorFactoryOutput<GenFn> = GenFn extends (\n ...args: any[]\n) => Generator<any, infer Output, any>\n ? Output\n : never;\n\ntype CraftProgramGen<Yielded, Return> = Generator<Yielded, Return, unknown>;\n\n/**\n * The `.pipe(...)` method carried by every craft program (a {@link craftGen}\n * invocation or the result of a previous `.pipe`). Applies program operators\n * left-to-right; each operator receives the piped generator and returns a new\n * one (see `CraftProgramOperator` in craft-program-operators). Arities are\n * explicit (1..7) to keep inference flat — no recursive conditional types.\n */\nexport interface CraftProgramPipe<Yielded, Return> {\n <Y1, R1>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n ): CraftPipeableProgram<Y1, R1>;\n <Y1, R1, Y2, R2>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n ): CraftPipeableProgram<Y2, R2>;\n <Y1, R1, Y2, R2, Y3, R3>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n op3: (program: CraftProgramGen<Y2, R2>) => CraftProgramGen<Y3, R3>,\n ): CraftPipeableProgram<Y3, R3>;\n <Y1, R1, Y2, R2, Y3, R3, Y4, R4>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n op3: (program: CraftProgramGen<Y2, R2>) => CraftProgramGen<Y3, R3>,\n op4: (program: CraftProgramGen<Y3, R3>) => CraftProgramGen<Y4, R4>,\n ): CraftPipeableProgram<Y4, R4>;\n <Y1, R1, Y2, R2, Y3, R3, Y4, R4, Y5, R5>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n op3: (program: CraftProgramGen<Y2, R2>) => CraftProgramGen<Y3, R3>,\n op4: (program: CraftProgramGen<Y3, R3>) => CraftProgramGen<Y4, R4>,\n op5: (program: CraftProgramGen<Y4, R4>) => CraftProgramGen<Y5, R5>,\n ): CraftPipeableProgram<Y5, R5>;\n <Y1, R1, Y2, R2, Y3, R3, Y4, R4, Y5, R5, Y6, R6>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n op3: (program: CraftProgramGen<Y2, R2>) => CraftProgramGen<Y3, R3>,\n op4: (program: CraftProgramGen<Y3, R3>) => CraftProgramGen<Y4, R4>,\n op5: (program: CraftProgramGen<Y4, R4>) => CraftProgramGen<Y5, R5>,\n op6: (program: CraftProgramGen<Y5, R5>) => CraftProgramGen<Y6, R6>,\n ): CraftPipeableProgram<Y6, R6>;\n <Y1, R1, Y2, R2, Y3, R3, Y4, R4, Y5, R5, Y6, R6, Y7, R7>(\n op1: (program: CraftProgramGen<Yielded, Return>) => CraftProgramGen<Y1, R1>,\n op2: (program: CraftProgramGen<Y1, R1>) => CraftProgramGen<Y2, R2>,\n op3: (program: CraftProgramGen<Y2, R2>) => CraftProgramGen<Y3, R3>,\n op4: (program: CraftProgramGen<Y3, R3>) => CraftProgramGen<Y4, R4>,\n op5: (program: CraftProgramGen<Y4, R4>) => CraftProgramGen<Y5, R5>,\n op6: (program: CraftProgramGen<Y5, R5>) => CraftProgramGen<Y6, R6>,\n op7: (program: CraftProgramGen<Y6, R6>) => CraftProgramGen<Y7, R7>,\n ): CraftPipeableProgram<Y7, R7>;\n}\n\n/**\n * A craft program: a `yield*`-composable generator augmented with `.pipe(...)`.\n * `Yielded` already carries the program's {@link CraftGenExceptionMarker}s.\n */\nexport type CraftPipeableProgram<Yielded, Return> = Generator<\n Yielded,\n Return,\n unknown\n> & {\n pipe: CraftProgramPipe<Yielded, Return>;\n};\n\n/**\n * The generator returned when a {@link craftGen} factory is invoked. Composable\n * with `yield*`: it relays the inner generator's dependency yields, advertises\n * the union of exceptions it may produce through a {@link CraftGenExceptionMarker},\n * and resolves to the success value (the output with exceptions stripped).\n * Program operators (`catchTag`, `retry`, …) compose through `.pipe(...)`.\n */\nexport type CraftGenInvocation<Yielded, Output> = CraftPipeableProgram<\n Yielded | CraftGenExceptionMarker<ExtractCraftException<Output>>,\n StripCraftException<Output>\n>;\n\nexport type CraftGenInvoker<Args extends any[], GenFn> = (\n ...args: Args\n) => CraftGenInvocation<\n GeneratorFactoryYielded<GenFn>,\n GeneratorFactoryOutput<GenFn>\n>;\n\n/**\n * Thrown to short-circuit the enclosing generator when a {@link craftGen}\n * invocation produces a `craftException`. The route chain driver catches it at\n * the guard/resolve boundary; composing generators simply let it propagate.\n */\nexport class CraftGenShortCircuit extends Error {\n readonly [CRAFT_GEN_SHORT_CIRCUIT] = true as const;\n readonly exception: AnyCraftException;\n\n constructor(exception: AnyCraftException) {\n super(`craftGen short-circuited with exception \"${exception._tag}\".`);\n this.name = 'CraftGenShortCircuit';\n this.exception = exception;\n }\n}\n\nexport function isCraftGenShortCircuit(\n value: unknown,\n): value is CraftGenShortCircuit {\n return (\n !!value && typeof value === 'object' && CRAFT_GEN_SHORT_CIRCUIT in value\n );\n}\n\ntype AnyProgramGen = Generator<unknown, unknown, unknown>;\ntype ProgramFactory = () => AnyProgramGen;\ntype AnyProgramOperator = (program: AnyProgramGen) => AnyProgramGen;\n\ntype RuntimeCraftProgram = AnyProgramGen & {\n [CRAFT_PROGRAM_RECREATE]: ProgramFactory;\n pipe: (...operators: AnyProgramOperator[]) => RuntimeCraftProgram;\n};\n\n/**\n * Returns the factory able to re-invoke `program` from scratch (a fresh\n * iterator over the same logic and arguments), or `undefined` for a bare\n * generator that was not built by {@link craftGen}/`.pipe`. Used by `retry` to\n * replay the whole upstream chain.\n */\nexport function ɵgetCraftProgramRecreate(\n program: AnyProgramGen,\n): ProgramFactory | undefined {\n return (program as Partial<RuntimeCraftProgram>)[CRAFT_PROGRAM_RECREATE];\n}\n\n/**\n * Wraps a generator factory into a craft *program*: the generator (inert until\n * `next()`) augmented with `.pipe(...)` and an internal re-invocation marker.\n *\n * `.pipe` folds operators left-to-right; each stage is itself a program whose\n * re-invocation replays the entire upstream chain (`op(recreate-of-previous)`),\n * so `retry` placed anywhere in the chain can restart from the source without\n * the other operators having to know about re-invocation.\n */\nexport function ɵcreateCraftProgram(\n makeIterator: ProgramFactory,\n): RuntimeCraftProgram {\n const program = Object.assign(makeIterator(), {\n [CRAFT_PROGRAM_RECREATE]: makeIterator,\n pipe(...operators: AnyProgramOperator[]): RuntimeCraftProgram {\n return operators.reduce<RuntimeCraftProgram>((previous, operator) => {\n const recreatePrevious = previous[CRAFT_PROGRAM_RECREATE];\n\n return ɵcreateCraftProgram(() =>\n operator(ɵcreateCraftProgram(recreatePrevious)),\n );\n }, program);\n },\n });\n\n return program;\n}\n\n/**\n * Builds a reusable, parameterised generator factory.\n *\n * `craftGen(generatorFn)` returns a factory `(...args) => CraftGenInvocation`\n * that is composable with `yield*`. The inner generator's dependency yields\n * (`CraftAuth`, `CraftRouter`, …) flow up to the enclosing driver\n * unchanged, while the union of `craftException` it may return is tracked on the\n * invocation's `Yielded` (type-level only).\n *\n * When the inner generator returns a `craftException`, the invocation **throws**\n * {@link CraftGenShortCircuit}, interrupting the enclosing generator at any depth\n * and propagating the exception to the nearest boundary (typically a route's\n * `canActivate`/`canMatch` guard). When it returns a non-exception value, that\n * value is returned from the `yield*`.\n *\n * @example\n * ```ts\n * export const roleGuard = craftGen(function* (...roles: Role[]) {\n * const { user } = yield* CraftAuth(undefined, ({ user }) => ({ user }));\n * if (!user()) return craftException({ code: 'NOT_AUTHENTICATED' });\n * return roles.includes(user()!.role)\n * ? true\n * : craftException({ code: 'FORBIDDEN_ROLE' });\n * });\n * ```\n */\nexport function craftGen<GenFn extends AnyGeneratorFactory>(\n generatorFn: GenFn,\n): CraftGenInvoker<GeneratorFactoryArgs<GenFn>, GenFn> {\n const invoker = (...args: GeneratorFactoryArgs<GenFn>) =>\n ɵcreateCraftProgram(function* () {\n const result = generatorFn(...args);\n const output: unknown = isGenerator(result) ? yield* result : result;\n\n if (isCraftException(output)) {\n throw new CraftGenShortCircuit(output);\n }\n\n return output;\n });\n\n return invoker as unknown as CraftGenInvoker<\n GeneratorFactoryArgs<GenFn>,\n GenFn\n >;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-generator-runtime.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-generator-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-generator-runtime.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-generator-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector, InjectionToken, type Provider } from './host/craft-compat';\nimport type { Observable } from 'rxjs';\nimport type { ConcreteServiceScope } from './craft-service.shared';\nimport { injectFnWrapper } from './fn-wrapper';\nimport {\n isTemporalAwaitRequest,\n type RuntimeTemporalAwaitRequest,\n} from './temporal-runtime';\nimport {\n isReactiveReadRequest,\n REACTIVE_READ_OBSERVERS,\n ɵwithActiveReactiveReader,\n type ReactiveReadIdentity,\n} from './reactive-read';\nimport { ɵcraftInjectorFromHost } from './host/craft-injector-host';\n\nexport const SERVICE_YIELD_REQUEST_MARKER = Symbol(\n 'service-yield-request-marker',\n);\nexport const SERVICE_DEPENDENCY_ACCESS_MARKER = Symbol(\n 'service-dependency-access-marker',\n);\nexport const SERVICE_APP_START_REQUEST_MARKER = Symbol(\n 'service-app-start-request-marker',\n);\nexport const SERVICE_TRACKED_DEPS_REQUEST_MARKER = Symbol(\n 'service-tracked-deps-request-marker',\n);\nexport const GUARD_AWAIT_REQUEST_MARKER = Symbol('guard-await-request-marker');\n\nexport type ServiceYieldContext = Readonly<{\n name: string;\n providedIn: ConcreteServiceScope;\n hostScope: ConcreteServiceScope;\n injector: Injector;\n resolve(): unknown;\n}>;\n\nexport type ServiceYieldWrapper = (\n context: ServiceYieldContext,\n next: () => Generator<unknown, unknown, unknown>,\n) => Generator<unknown, unknown, unknown>;\n\nexport const SERVICE_YIELD_WRAPPER = new InjectionToken<\n readonly ServiceYieldWrapper[]\n>('SERVICE_YIELD_WRAPPER', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\n/** Registers a wrapper around every Craft service yield below the provider. */\nexport function provideServiceYieldWrapper(\n _warning: string,\n wrapper: ServiceYieldWrapper,\n): Provider {\n return { provide: SERVICE_YIELD_WRAPPER, useValue: wrapper, multi: true };\n}\n\ntype AppStartResult = Observable<unknown> | Promise<unknown> | void;\n\ntype AnyGeneratorFunction = (\n ...args: never[]\n) => Generator<unknown, unknown, unknown>;\n\nexport type ResolveGeneratorResult<Result> =\n Result extends Generator<any, infer Output, unknown> ? Output : Result;\n\nexport type ExtractFactoryYielded<Factory> = Factory extends (\n ...args: any[]\n) => Generator<infer Yielded, any, unknown>\n ? Yielded\n : never;\n\nexport type GeneratorCompatibleFactory<\n Factory,\n Yielded = never,\n> = Factory extends (...args: infer Args) => infer Result\n ? (\n ...args: Args\n ) => Result | Generator<Yielded, Result | Awaited<Result>, unknown>\n : never;\n\ntype RuntimeServiceYieldRequest<Result = unknown> = Readonly<{\n [SERVICE_YIELD_REQUEST_MARKER]: true;\n name: string;\n providedIn: ConcreteServiceScope;\n resolve: (injector: Injector, hostScope: ConcreteServiceScope) => Result;\n}>;\n\ntype RuntimeServiceDependencyAccessRequest = Readonly<{\n [SERVICE_DEPENDENCY_ACCESS_MARKER]: true;\n key: string;\n resolve: () => unknown;\n}>;\n\ntype RuntimeServiceAppStartRequest = Readonly<{\n [SERVICE_APP_START_REQUEST_MARKER]: true;\n run: () => AppStartResult;\n}>;\n\ntype RuntimeServiceTrackedDepsRequest = Readonly<{\n [SERVICE_TRACKED_DEPS_REQUEST_MARKER]: true;\n}>;\n\n/**\n * Minimal runtime view of a craft resource the guard driver needs to decide\n * whether it has *settled* (`status` is `'resolved'` or `'error'`) and to read\n * the outcome. Mirrors the public resource signals as plain getters so the\n * driver does not depend on the full query/mutation types.\n */\nexport type GuardAwaitResourceLike = {\n status: () => string;\n value: () => unknown;\n error: () => unknown;\n hasException: () => boolean;\n exceptions: () => { list: readonly unknown[] };\n};\n\n/**\n * The request a guard generator yields (via `craftUntilSettled` / `craftUntilDefined`) to\n * suspend until an async craft operation completes. It is **never** handled by\n * the synchronous {@link runCraftGenerator}; only the two-phase route chain\n * driver (`runCraftRouteChainAsync`) understands it. Discriminated by `kind`:\n *\n * - `'settle'` — wait for a craft resource signal to reach a settled status.\n * - `'promise'` — wait for a thenable (e.g. a `CraftHttpClient` request\n * descriptor) to resolve, then resume with its value.\n */\nexport type RuntimeGuardAwaitRequest =\n | Readonly<{\n [GUARD_AWAIT_REQUEST_MARKER]: true;\n kind: 'settle';\n resource: GuardAwaitResourceLike;\n }>\n | Readonly<{\n [GUARD_AWAIT_REQUEST_MARKER]: true;\n kind: 'promise';\n value: PromiseLike<unknown>;\n }>;\n\nexport type RuntimeAwaitRequest =\n | RuntimeGuardAwaitRequest\n | RuntimeTemporalAwaitRequest;\n\nexport function isGuardAwaitRequest(\n value: unknown,\n): value is RuntimeGuardAwaitRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n GUARD_AWAIT_REQUEST_MARKER in value\n );\n}\n\ntype RunCraftGeneratorOptions = {\n iterator: Generator<unknown, unknown, unknown>;\n injector: Injector | object;\n hostScope: ConcreteServiceScope;\n invalidYieldErrorMessage: string;\n multipleAppStartErrorMessage: string;\n createAppStartHook?: (\n run: RuntimeServiceAppStartRequest['run'],\n ) => () => AppStartResult;\n onAppStartNotSupportedErrorMessage?: string;\n guardAwaitNotSupportedErrorMessage?: string;\n /** Identity of the computation currently consuming reactive values. */\n reactiveReader?: ReactiveReadIdentity;\n};\n\nexport function runCraftGenerator({\n iterator,\n injector: injectorInput,\n hostScope,\n invalidYieldErrorMessage,\n multipleAppStartErrorMessage,\n createAppStartHook,\n onAppStartNotSupportedErrorMessage,\n guardAwaitNotSupportedErrorMessage,\n reactiveReader,\n}: RunCraftGeneratorOptions): {\n value: unknown;\n appStartHook?: () => AppStartResult;\n} {\n const injector = ɵcraftInjectorFromHost(injectorInput);\n let appStartHook: (() => AppStartResult) | undefined;\n let current = iterator.next();\n\n while (!current.done) {\n const yielded = current.value;\n\n if (isReactiveReadRequest(yielded)) {\n for (const observer of injector.get(REACTIVE_READ_OBSERVERS, [])) {\n observer({ reader: reactiveReader, dependency: yielded.identity });\n }\n current = iterator.next(\n ɵwithActiveReactiveReader(yielded.identity, yielded.read),\n );\n continue;\n }\n\n if (isServiceYieldRequest(yielded)) {\n current = iterator.next(\n resolveServiceYield(yielded, injector, hostScope),\n );\n continue;\n }\n\n if (isServiceDependencyAccessRequest(yielded)) {\n current = iterator.next(yielded.resolve());\n continue;\n }\n\n if (isServiceTrackedDepsRequest(yielded)) {\n // Type-level only: the tracked primitive resolves its own dependencies\n // lazily through the injector. Nothing to do at runtime.\n current = iterator.next(undefined);\n continue;\n }\n\n if (isServiceAppStartRequest(yielded)) {\n if (onAppStartNotSupportedErrorMessage) {\n throw new Error(onAppStartNotSupportedErrorMessage);\n }\n\n if (appStartHook) {\n throw new Error(multipleAppStartErrorMessage);\n }\n\n appStartHook = createAppStartHook\n ? createAppStartHook(yielded.run)\n : yielded.run;\n current = iterator.next(undefined);\n continue;\n }\n\n if (isTemporalAwaitRequest(yielded)) {\n throw new Error(\n 'This Craft generator requires the async driver because it yields craftSleep(...).',\n );\n }\n\n if (guardAwaitNotSupportedErrorMessage && isGuardAwaitRequest(yielded)) {\n throw new Error(guardAwaitNotSupportedErrorMessage);\n }\n\n throw new Error(invalidYieldErrorMessage);\n }\n\n return {\n value: current.value,\n appStartHook,\n };\n}\n\nexport function isGenerator(\n value: unknown,\n): value is Generator<unknown, unknown, unknown> {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'next' in value &&\n typeof value.next === 'function'\n );\n}\n\nexport function isGeneratorFunction(\n value: unknown,\n): value is AnyGeneratorFunction {\n return (\n typeof value === 'function' &&\n (value.constructor?.name === 'GeneratorFunction' ||\n Object.prototype.toString.call(value) === '[object GeneratorFunction]')\n );\n}\n\nexport function executeGeneratorCompatibleFactory<\n This,\n Args extends unknown[],\n Result,\n>({\n factory,\n thisArg,\n getInjector,\n args,\n invalidYieldErrorMessage,\n multipleAppStartErrorMessage,\n onAppStartNotSupportedErrorMessage,\n}: {\n factory: (this: This, ...args: Args) => Result;\n thisArg: This;\n getInjector: () => Injector | object;\n args: Args;\n invalidYieldErrorMessage: string;\n multipleAppStartErrorMessage: string;\n onAppStartNotSupportedErrorMessage?: string;\n}): ResolveGeneratorResult<Result> {\n const injector = getInjector();\n const craftInjector = ɵcraftInjectorFromHost(injector);\n const wrappedFactory = craftInjector.run(() => injectFnWrapper()(factory));\n const result = wrappedFactory.apply(thisArg, args);\n\n if (!isGenerator(result)) {\n return result as ResolveGeneratorResult<Result>;\n }\n\n return craftInjector.run(() => {\n return runCraftGenerator({\n iterator: result,\n injector,\n hostScope: 'function',\n invalidYieldErrorMessage,\n multipleAppStartErrorMessage,\n onAppStartNotSupportedErrorMessage,\n }).value as ResolveGeneratorResult<Result>;\n });\n}\n\n/**\n * Resolves a single non-await craft generator yield (service request, dependency\n * access, or tracked-deps marker) exactly as {@link runCraftGenerator}'s loop\n * does. Returns `{ handled: false }` for anything it does not recognise (e.g. a\n * guard await-request or an app-start request) so the caller can decide how to\n * proceed. Shared with the guard driver, which must resolve these yields itself\n * while intercepting guard await-requests.\n */\nexport function resolveCraftGeneratorYield(\n yielded: unknown,\n injector: Injector,\n hostScope: ConcreteServiceScope,\n): { handled: true; value: unknown } | { handled: false } {\n if (isReactiveReadRequest(yielded)) {\n for (const observer of injector.get(REACTIVE_READ_OBSERVERS, [])) {\n observer({ dependency: yielded.identity });\n }\n return {\n handled: true,\n value: ɵwithActiveReactiveReader(yielded.identity, yielded.read),\n };\n }\n\n if (isServiceYieldRequest(yielded)) {\n return {\n handled: true,\n value: resolveServiceYield(yielded, injector, hostScope),\n };\n }\n\n if (isServiceDependencyAccessRequest(yielded)) {\n return { handled: true, value: yielded.resolve() };\n }\n\n if (isServiceTrackedDepsRequest(yielded)) {\n return { handled: true, value: undefined };\n }\n\n return { handled: false };\n}\n\nfunction resolveServiceYield(\n request: RuntimeServiceYieldRequest,\n injector: Injector,\n hostScope: ConcreteServiceScope,\n): unknown {\n const wrappers = injector.get(SERVICE_YIELD_WRAPPER, []);\n const context: ServiceYieldContext = {\n name: request.name,\n providedIn: request.providedIn,\n hostScope,\n injector,\n resolve: () => request.resolve(injector, hostScope),\n };\n\n if (wrappers.length === 0) {\n return context.resolve();\n }\n\n let wrapped: () => Generator<unknown, unknown, unknown> = function* () {\n return context.resolve();\n };\n\n for (let index = wrappers.length - 1; index >= 0; index -= 1) {\n const wrapper = wrappers[index]!;\n const next = wrapped;\n wrapped = () =>\n (function* () {\n return yield* wrapper(context, next);\n })();\n }\n\n return runCraftGenerator({\n iterator: wrapped(),\n injector,\n hostScope,\n invalidYieldErrorMessage:\n 'Service yield wrappers can only yield Craft dependencies.',\n multipleAppStartErrorMessage:\n 'Service yield wrappers cannot declare multiple app-start hooks.',\n onAppStartNotSupportedErrorMessage:\n 'Service yield wrappers cannot declare app-start hooks.',\n }).value;\n}\n\nfunction isServiceYieldRequest(\n value: unknown,\n): value is RuntimeServiceYieldRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n SERVICE_YIELD_REQUEST_MARKER in value\n );\n}\n\nfunction isServiceDependencyAccessRequest(\n value: unknown,\n): value is RuntimeServiceDependencyAccessRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n SERVICE_DEPENDENCY_ACCESS_MARKER in value\n );\n}\n\nexport function isServiceAppStartRequest(\n value: unknown,\n): value is RuntimeServiceAppStartRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n SERVICE_APP_START_REQUEST_MARKER in value\n );\n}\n\nfunction isServiceTrackedDepsRequest(\n value: unknown,\n): value is RuntimeServiceTrackedDepsRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n SERVICE_TRACKED_DEPS_REQUEST_MARKER in value\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-guard-runtime.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-guard-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;IAC3C,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD,CAAC;AACF,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAiBlC;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9C,QAAQ,EAAE,QAAQ,GACjB,oBAAoB,CA0BtB;AAYD,mFAAmF;AACnF,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;CAAE,GACnD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,4BAA4B,CAAC;IACxC,SAAS,EAAE,iBAAiB,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5C,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,KACrD,SAAS,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;AAExD,6EAA6E;AAC7E,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAChD,MAAM,EACN,0BAA0B,GAAG,SAAS,CACvC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;CAChD;AAmSD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,EAAE,6BAA6B,EAC/C,KAAK,GAAE,eAAyB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAkB5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-guard-runtime.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-guard-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector, runInInjectionContext } from './host/craft-compat';\nimport type { CraftRouter, CraftUrlTree } from './craft-router';\n\ntype CraftRouteRouterLike = {\n readonly url?: string;\n createUrlTree: (...args: any[]) => unknown;\n navigate: (...args: any[]) => Promise<boolean>;\n navigateByUrl: (...args: any[]) => Promise<boolean>;\n};\nimport { isCraftException, type AnyCraftException } from './craft-exception';\nimport {\n craftExceptionOutcomeApi,\n type CraftExceptionComponentInput,\n type CraftExceptionHandlerContext,\n type CraftExceptionOutcome,\n type CraftRoutePhase,\n} from './craft-route-exceptions';\nimport { isGenerator } from './craft-generator-runtime';\nimport {\n driveCraftProgramAsync,\n pumpCraftProgramSync,\n type CraftProgramPumpOptions,\n type CraftProgramSettledStep,\n} from './craft-program-runtime';\nimport { executeCraftRouterTrace } from './craft-router-trace';\n\nconst GUARD_INVALID_YIELD_ERROR_MESSAGE =\n 'craft route guards can only yield craftService dependencies, exposed dependency helpers, or an craftUntilSettled/craftUntilDefined await request.';\n\nconst GUARD_PUMP_OPTIONS: CraftProgramPumpOptions = {\n invalidYieldErrorMessage: GUARD_INVALID_YIELD_ERROR_MESSAGE,\n};\n\n/**\n * The result of a synchronous guard re-evaluation (reactive \"live\" guards):\n * - `valid` — the guard passed without producing an exception;\n * - `exception` — the guard short-circuited / returned a `craftException`;\n * - `pending` — the guard suspended on a not-yet-settled `craftUntilSettled` (cannot be\n * resolved synchronously) — the reactive check treats this as \"still valid\".\n */\nexport type CraftGuardSyncResult =\n | { kind: 'valid'; value: unknown }\n | { kind: 'exception'; exception: AnyCraftException }\n | { kind: 'pending' };\n\n/**\n * Evaluates a guard generator **synchronously** for the reactive `phase: 'active'`\n * re-check. Pumping the generator reads the craft signals it yields synchronously,\n * so an enclosing `effect` tracks them; a settled `craftUntilSettled` resolves on the\n * fast path, while a not-yet-settled await yields `'pending'` (no suspension).\n */\nexport function evaluateCraftGuardSync(\n iterator: Generator<unknown, unknown, unknown>,\n injector: Injector,\n): CraftGuardSyncResult {\n const step = executeCraftRouterTrace(\n injector,\n {\n kind: 'routeStage',\n phase: 'run',\n stage: 'guard',\n routePhase: 'active',\n },\n () =>\n runInInjectionContext(injector, () =>\n pumpCraftProgramSync(iterator, injector, GUARD_PUMP_OPTIONS),\n ),\n );\n\n if (step.kind === 'await') {\n return { kind: 'pending' };\n }\n\n if (step.kind === 'shortCircuit') {\n return { kind: 'exception', exception: step.exception };\n }\n\n return isCraftException(step.value)\n ? { kind: 'exception', exception: step.value }\n : { kind: 'valid', value: step.value };\n}\n\n// ---------------------------------------------------------------------------\n// Non-blocking route chain driver.\n//\n// Drives a route's `canActivate` → `resolve` chain *after* the URL has committed\n// (the `CraftRouterOutlet` calls this), routing any `craftException` through the\n// route's exhaustive `handleExceptions` map to a {@link RouteChainOutcome}.\n// It never returns a `GuardResult`/`Observable` — the outlet owns rendering, and\n// mounts the target only on `'data'`/`'noop'`.\n// ---------------------------------------------------------------------------\n\n/** The settled result of a route's guard/resolve chain, consumed by the outlet. */\nexport type RouteChainOutcome =\n | { kind: 'data'; guardData: unknown; resolveData: unknown }\n | { kind: 'redirect'; target: CraftUrlTree | string }\n | {\n kind: 'render';\n component: CraftExceptionComponentInput;\n exception: AnyCraftException;\n }\n | { kind: 'global'; exception: AnyCraftException }\n | { kind: 'stay' }\n | { kind: 'noop' }\n | { kind: 'thrownError'; error: unknown };\n\nexport type CraftRouteExceptionHandler = (\n context: CraftExceptionHandlerContext<AnyCraftException>,\n) => Generator<unknown, CraftExceptionOutcome, unknown>;\n\n/** Runtime view of a route's `handleExceptions`, keyed by exception code. */\nexport type CraftRouteExceptionHandlerMap = Record<\n string,\n CraftRouteExceptionHandler | undefined\n>;\n\nexport interface CraftRouteChainSteps {\n /** `canMatch` generator — run first; its success value is discarded. */\n match?: Generator<unknown, unknown, unknown>;\n /** `canActivate` generator — its success value is the route's guarded data. */\n guard?: Generator<unknown, unknown, unknown>;\n /** `resolve` generator — its success value is the route's resolved data. */\n resolve?: Generator<unknown, unknown, unknown>;\n}\n\nfunction mapOutcome(\n outcome: CraftExceptionOutcome,\n exception: AnyCraftException,\n): RouteChainOutcome {\n switch (outcome.kind) {\n case 'redirect':\n return { kind: 'redirect', target: outcome.target };\n case 'render':\n return { kind: 'render', component: outcome.component, exception };\n case 'global':\n return { kind: 'global', exception };\n case 'stay':\n return { kind: 'stay' };\n case 'noop':\n return { kind: 'noop' };\n }\n}\n\n// Resolves one exception through `handleExceptions`. A generator handler (it\n// `yield*`s craft services before its outcome) is delegated to so its yields\n// reach the driver, exactly like a generator guard/resolve stage.\nfunction* resolveRouteException(\n exception: AnyCraftException,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase,\n): Generator<unknown, RouteChainOutcome, unknown> {\n const handler = handleExceptions[exception._tag];\n\n if (!handler) {\n // No handler for this code — surface as a thrown error (the outlet defaults\n // unhandled errors to the global error component).\n return { kind: 'thrownError', error: exception };\n }\n\n const context: CraftExceptionHandlerContext<AnyCraftException> = {\n ...craftExceptionOutcomeApi,\n exception,\n payload: exception.payload,\n phase,\n router: router as CraftRouter,\n createUrlTree: router.createUrlTree.bind(\n router,\n ) as CraftRouter['createUrlTree'],\n navigate: router.navigate.bind(router) as CraftRouter['navigate'],\n navigateByUrl: router.navigateByUrl.bind(\n router,\n ) as CraftRouter['navigateByUrl'],\n };\n\n const result = handler(context);\n if (!isGenerator(result)) {\n throw new Error(\n 'Route exception handlers must be wrapped with craftExceptionHandler(function* (...) {}).',\n );\n }\n const outcome = yield* result;\n\n return mapOutcome(outcome, exception);\n}\n\n// Drives any composing generator (guard, resolve, or exception handler) to a\n// settled step, going async only across real `craftUntilSettled`/`craftUntilDefined`\n// awaits — reusing the same pump/await plumbing as the synchronous re-check.\nasync function driveStageToSettled(\n iterator: Generator<unknown, unknown, unknown>,\n injector: Injector,\n): Promise<CraftProgramSettledStep> {\n const first = runInInjectionContext(injector, () =>\n pumpCraftProgramSync(iterator, injector, GUARD_PUMP_OPTIONS),\n );\n\n return driveCraftProgramAsync(iterator, injector, first, GUARD_PUMP_OPTIONS);\n}\n\nasync function resolveExceptionOutcomeInternal(\n exception: AnyCraftException,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase,\n): Promise<RouteChainOutcome> {\n const iterator = resolveRouteException(\n exception,\n router,\n handleExceptions,\n phase,\n );\n const first = runInInjectionContext(injector, () =>\n pumpCraftProgramSync(iterator, injector, GUARD_PUMP_OPTIONS),\n );\n\n if (first.kind === 'await') {\n throw new Error(\n 'Route exception handlers cannot suspend with craftUntilSettled/craftUntilDefined.',\n );\n }\n\n // A handler that itself short-circuited (rare) cannot be handled again —\n // surface it as a thrown error.\n return first.kind === 'shortCircuit'\n ? { kind: 'thrownError', error: first.exception }\n : (first.value as RouteChainOutcome);\n}\n\nasync function resolveExceptionOutcome(\n exception: AnyCraftException,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase,\n): Promise<RouteChainOutcome> {\n return executeCraftRouterTrace(\n injector,\n {\n kind: 'routeStage',\n phase: 'run',\n stage: 'exceptionHandler',\n routePhase: phase,\n url: router.url ?? '',\n },\n () =>\n resolveExceptionOutcomeInternal(\n exception,\n injector,\n router,\n handleExceptions,\n phase,\n ),\n );\n}\n\n// Drives one data stage (guard or resolve): either it yields an outcome to\n// short-circuit the whole chain (an exception was handled), or it produces the\n// stage's success data.\nasync function driveDataStage(\n iterator: Generator<unknown, unknown, unknown>,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase,\n): Promise<{ outcome: RouteChainOutcome } | { data: unknown }> {\n const settled = await driveStageToSettled(iterator, injector);\n\n // A stage may signal an exception by throwing (`CraftGenShortCircuit`) or by\n // returning a bare `craftException` — handle both (mirrors the handler path).\n const exception =\n settled.kind === 'shortCircuit'\n ? settled.exception\n : isCraftException(settled.value)\n ? settled.value\n : undefined;\n\n if (exception) {\n return {\n outcome: await resolveExceptionOutcome(\n exception,\n injector,\n router,\n handleExceptions,\n phase,\n ),\n };\n }\n\n return { data: settled.kind === 'done' ? settled.value : undefined };\n}\n\nasync function driveTracedDataStage(\n stage: 'match' | 'guard' | 'resolve',\n iterator: Generator<unknown, unknown, unknown>,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase,\n): Promise<{ outcome: RouteChainOutcome } | { data: unknown }> {\n return executeCraftRouterTrace(\n injector,\n {\n kind: 'routeStage',\n phase: 'run',\n stage,\n routePhase: phase,\n url: router.url ?? '',\n },\n () => driveDataStage(iterator, injector, router, handleExceptions, phase),\n );\n}\n\n/**\n * Drives a route's `canActivate` → `resolve` chain to a {@link RouteChainOutcome}.\n *\n * `phase` is `'enter'` for the initial activation and `'active'` for a reactive\n * guard re-evaluation; it is forwarded to each exception handler so a handler can\n * react differently (e.g. a softer redirect on session expiry).\n */\nasync function runCraftRouteChainAsyncInternal(\n steps: CraftRouteChainSteps,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase = 'enter',\n): Promise<RouteChainOutcome> {\n try {\n if (steps.match) {\n const result = await driveTracedDataStage(\n 'match',\n steps.match,\n injector,\n router,\n handleExceptions,\n phase,\n );\n\n // `canMatch` only gates: an exception short-circuits the chain; its\n // success value is discarded (no data path).\n if ('outcome' in result) {\n return result.outcome;\n }\n if (result.data === false) {\n return { kind: 'stay' };\n }\n }\n\n let guardData: unknown;\n\n if (steps.guard) {\n const result = await driveTracedDataStage(\n 'guard',\n steps.guard,\n injector,\n router,\n handleExceptions,\n phase,\n );\n\n if ('outcome' in result) {\n return result.outcome;\n }\n\n if (result.data === false) {\n return { kind: 'stay' };\n }\n\n guardData = result.data;\n }\n\n let resolveData: unknown;\n\n if (steps.resolve) {\n const result = await driveTracedDataStage(\n 'resolve',\n steps.resolve,\n injector,\n router,\n handleExceptions,\n phase,\n );\n\n if ('outcome' in result) {\n return result.outcome;\n }\n\n resolveData = result.data;\n }\n\n return { kind: 'data', guardData, resolveData };\n } catch (error) {\n // A rethrown `craftException` (e.g. the generic `HttpError`) routes through\n // `handleExceptions` when a matching handler exists; anything else (a real\n // error, or an unhandled code) becomes a thrown error → global by default.\n if (isCraftException(error) && handleExceptions[error._tag]) {\n try {\n return await resolveExceptionOutcome(\n error,\n injector,\n router,\n handleExceptions,\n phase,\n );\n } catch (handlerError) {\n return { kind: 'thrownError', error: handlerError };\n }\n }\n\n return { kind: 'thrownError', error };\n }\n}\n\nexport function runCraftRouteChainAsync(\n steps: CraftRouteChainSteps,\n injector: Injector,\n router: CraftRouteRouterLike,\n handleExceptions: CraftRouteExceptionHandlerMap,\n phase: CraftRoutePhase = 'enter',\n): Promise<RouteChainOutcome> {\n return executeCraftRouterTrace(\n injector,\n {\n kind: 'routeChain',\n phase: 'run',\n routePhase: phase,\n url: router.url ?? '',\n },\n () =>\n runCraftRouteChainAsyncInternal(\n steps,\n injector,\n router,\n handleExceptions,\n phase,\n ),\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-handshake.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-handshake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,eAAe,eAA2B,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG;IACpE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,MAAM,SAAS,WAAW,GAAG,WAAW,IACtC,MAAM,GAAG;IACX,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,CAAC,MAAM,CAAC,GAC1B,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE9C,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EACtD,IAAI,EAAE,IAAI,GACT,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC5B,2EAA2E;AAC3E,wBAAgB,cAAc,CAC5B,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,MAAM,SAAS,WAAW,EAC1B,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAiBlE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAM3E;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMtD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-handshake.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-handshake.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AA2CxD,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAoB;IAC/D,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,2EAA2E;QAC3E,0EAA0E;QAC1E,+BAA+B;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE;QAC7C,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CACL,KAAK,KAAK,IAAI;QACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,eAAe,IAAI,KAAK,CACzB,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,IAAI,GAAI,KAAiD,CAC7D,eAAe,CAChB,CAAC;IACF,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,4DAA4D,CAC5F,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import type { CraftSchema } from './schema-validation';\n\nexport const CRAFT_HANDSHAKE = Symbol('craftHandshake');\n\n/**\n * Un nom sur lequel les deux côtés de la frontière se mettent d'accord.\n *\n * `craftUnique` dit « ce nom apparaît exactement une fois ». Ce n'est pas le\n * bon prédicat ici : un identifiant de server function, ou la forme d'un\n * contexte client, **doit** apparaître des deux côtés, puisque les deux\n * fichiers ne peuvent pas s'importer. `craftHandshake` dit l'inverse — « ce\n * nom a un pendant en face » — et c'est ça que la règle d'architecture vérifie.\n *\n * Déclaré une fois dans un module partagé, il est référencé par le serveur et\n * par le client. Deux conséquences :\n *\n * - la chaîne n'existe qu'à un seul endroit du dépôt, donc l'égalité des deux\n * côtés devient une vérification TypeScript et non un rattrapage a posteriori ;\n * - quand il porte un schéma, les deux côtés partagent le **même** schéma :\n * ils ne peuvent plus diverger.\n */\nexport type CraftHandshakeName<Name extends string = string> = Name & {\n readonly [CRAFT_HANDSHAKE]: Name;\n};\n\nexport type CraftHandshakeSchema<\n Name extends string = string,\n Schema extends CraftSchema = CraftSchema,\n> = Schema & {\n readonly [CRAFT_HANDSHAKE]: Name;\n};\n\nexport type AnyCraftHandshake =\n | CraftHandshakeName<string>\n | CraftHandshakeSchema<string, CraftSchema>;\n\n/** Identité partagée : l'id d'une server function, nommé une seule fois. */\nexport function craftHandshake<const Name extends string>(\n name: Name,\n): CraftHandshakeName<Name>;\n/** Forme partagée : un schéma de contexte client, écrit une seule fois. */\nexport function craftHandshake<\n const Name extends string,\n Schema extends CraftSchema,\n>(name: Name, schema: Schema): CraftHandshakeSchema<Name, Schema>;\nexport function craftHandshake(name: string, schema?: CraftSchema): unknown {\n assertHandshakeName(name);\n if (schema === undefined) {\n // Une primitive ne porte pas de propriété : le nom reste une chaîne nue au\n // runtime, et c'est le graphe qui prouve la présence des deux côtés. Même\n // compromis que `craftUnique`.\n return name;\n }\n Object.defineProperty(schema, CRAFT_HANDSHAKE, {\n value: name,\n enumerable: false,\n configurable: false,\n });\n return schema;\n}\n\nexport function isCraftHandshake(value: unknown): value is AnyCraftHandshake {\n return (\n value !== null &&\n (typeof value === 'object' || typeof value === 'function') &&\n CRAFT_HANDSHAKE in value\n );\n}\n\n/** Le nom d'un handshake porté par une valeur, quand il y en a un. */\nexport function craftHandshakeName(value: unknown): string | undefined {\n if (!isCraftHandshake(value)) return undefined;\n const name = (value as { readonly [CRAFT_HANDSHAKE]: unknown })[\n CRAFT_HANDSHAKE\n ];\n return typeof name === 'string' ? name : undefined;\n}\n\nexport function assertHandshakeName(name: string): void {\n if (!/^[A-Za-z][A-Za-z0-9._:-]*$/.test(name)) {\n throw new Error(\n `Invalid handshake name \"${name}\". Use a stable dotted identifier, the same on both sides.`,\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http-client.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-http-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http-client.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-http-client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Injector } from './host/craft-compat';\nimport {\n craftException,\n type AnyCraftException,\n type CraftExceptionResult,\n} from './craft-exception';\nimport {\n SERVICE_RUNTIME_OVERRIDES,\n SERVICE_YIELD_REQUEST_MARKER,\n type ServiceTrackingMetadata,\n type ServiceYieldRequest,\n} from './craft-service';\nimport type { CraftDecoder } from './craft-codec';\nimport { executeCraftHttpTrace } from './craft-http-trace';\nimport {\n craftFetchTransport,\n type CraftHttpResponse,\n ɵgetCraftHttpResponseMetadata,\n} from './host/craft-http';\n\ndeclare const CRAFT_HTTP_CLIENT_SUCCESS_MARKER: unique symbol;\ndeclare const CRAFT_HTTP_CLIENT_EXCEPTIONS_MARKER: unique symbol;\ndeclare const CRAFT_HTTP_CLIENT_EXCEPTION_TYPE_DEPENDENCIES_MARKER: unique symbol;\ndeclare const CRAFT_HTTP_CLIENT_EXCEPTION_BODY_TYPE_MARKER: unique symbol;\nconst CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCIES_MARKER = Symbol(\n 'craft-http-client-exception-dependencies-marker',\n);\n\nconst CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER = Symbol(\n 'craft-http-client-exception-dependency-request-marker',\n);\n\nexport type CraftHttpClientParams =\n | URLSearchParams\n | Readonly<Record<string, string | number | boolean | undefined>>;\n\nexport type CraftHttpClientJsonOptions = {\n headers?: Readonly<Record<string, string>>;\n params?: CraftHttpClientParams;\n signal?: AbortSignal;\n timeout?: number;\n};\n\nexport type CraftHttpClientJsonRequestOptions<Payload = unknown> =\n CraftHttpClientJsonOptions & {\n payload?: Payload | null;\n };\n\nexport type CraftHttpClientErrorResponse = {\n error: unknown;\n headers: Headers;\n status: number;\n statusText: string;\n url: string;\n};\n\nexport type CraftHttpClientErrorPayload = {\n error: CraftHttpClientErrorResponse;\n method: string;\n url: string;\n};\n\nexport type CraftHttpClientError = CraftExceptionResult<\n {\n _tag: 'HttpError';\n scope: 'HttpClient';\n identifier?: string;\n },\n CraftHttpClientErrorPayload\n>;\n\nexport type CraftHttpResponseDecodeErrorPayload = {\n method: string;\n url: string;\n response: unknown;\n error: unknown;\n issues?: unknown;\n};\n\nexport type HttpResponseDecodeError = CraftExceptionResult<\n {\n _tag: 'HttpResponseDecodeError';\n scope: 'HttpClient';\n identifier?: string;\n },\n CraftHttpResponseDecodeErrorPayload\n>;\n\ntype CraftHttpClientExceptionDependencyMode = 'read' | 'match';\n\nexport type CraftHttpClientBodyExceptionDependency<Body = unknown> = {\n source: 'body';\n mode: 'read';\n readonly [CRAFT_HTTP_CLIENT_EXCEPTION_BODY_TYPE_MARKER]?: Body;\n};\n\nexport type CraftHttpClientExceptionDependency =\n | {\n source: 'status';\n mode: CraftHttpClientExceptionDependencyMode;\n expected?: number;\n }\n | {\n source: 'code';\n mode: CraftHttpClientExceptionDependencyMode;\n expected?: unknown;\n }\n | {\n source: 'content';\n mode: CraftHttpClientExceptionDependencyMode;\n expected?: string;\n }\n | CraftHttpClientBodyExceptionDependency\n | {\n source: 'header';\n mode: CraftHttpClientExceptionDependencyMode;\n name: string;\n expected?: string;\n };\n\nexport type CraftHttpClientExceptionRuleDependencies = {\n ruleIndex: number;\n dependencies: readonly CraftHttpClientExceptionDependency[];\n};\n\ntype CraftHttpClientExceptionDependencies =\n readonly CraftHttpClientExceptionRuleDependencies[];\ntype CraftHttpClientExceptionDependenciesMetadata = {\n value?: CraftHttpClientExceptionDependencies;\n resolve: () => CraftHttpClientExceptionDependencies;\n};\n\ntype CraftHttpClientExceptionDependencyRequest<\n Dependency extends\n CraftHttpClientExceptionDependency = CraftHttpClientExceptionDependency,\n Result = unknown,\n> = Readonly<{\n [CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER]: true;\n dependency: Dependency;\n evaluate: (error: CraftHttpClientErrorResponse) => Result;\n preview: () => Result;\n}>;\n\ntype CraftHttpClientStatusExceptionHelper = {\n (): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'status';\n mode: 'read';\n },\n number\n >,\n number,\n unknown\n >;\n <const Expected extends number>(\n expected: Expected,\n ): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'status';\n mode: 'match';\n expected: Expected;\n },\n Expected | undefined\n >,\n Expected | undefined,\n unknown\n >;\n};\n\ntype CraftHttpClientCodeExceptionHelper = {\n (): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'code';\n mode: 'read';\n },\n unknown\n >,\n unknown,\n unknown\n >;\n <const Expected>(expected: Expected): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'code';\n mode: 'match';\n expected: Expected;\n },\n Expected | undefined\n >,\n Expected | undefined,\n unknown\n >;\n};\n\ntype CraftHttpClientContentExceptionHelper = {\n (): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'content';\n mode: 'read';\n },\n string | undefined\n >,\n string | undefined,\n unknown\n >;\n <const Expected extends string>(\n expected: Expected,\n ): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'content';\n mode: 'match';\n expected: Expected;\n },\n Expected | undefined\n >,\n Expected | undefined,\n unknown\n >;\n};\n\ntype CraftHttpClientHeaderExceptionHelper = {\n <const HeaderName extends string>(\n name: HeaderName,\n ): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'header';\n mode: 'read';\n name: HeaderName;\n },\n string | undefined\n >,\n string | undefined,\n unknown\n >;\n <const HeaderName extends string, const Expected extends string>(\n name: HeaderName,\n expected: Expected,\n ): Generator<\n CraftHttpClientExceptionDependencyRequest<\n {\n source: 'header';\n mode: 'match';\n name: HeaderName;\n expected: Expected;\n },\n Expected | undefined\n >,\n Expected | undefined,\n unknown\n >;\n};\n\ntype CraftHttpClientExceptionRuleHelpers = Readonly<{\n status: CraftHttpClientStatusExceptionHelper;\n code: CraftHttpClientCodeExceptionHelper;\n content: CraftHttpClientContentExceptionHelper;\n body: <Body = unknown>() => Generator<\n CraftHttpClientExceptionDependencyRequest<\n CraftHttpClientBodyExceptionDependency<Body>,\n Body\n >,\n Body,\n unknown\n >;\n header: CraftHttpClientHeaderExceptionHelper;\n}>;\n\nexport type CraftHttpClientExceptionRule<\n CustomException extends AnyCraftException = AnyCraftException,\n> = (\n helpers: CraftHttpClientExceptionRuleHelpers,\n) => Generator<\n CraftHttpClientExceptionDependencyRequest<any, unknown>,\n CustomException | undefined | void,\n unknown\n>;\n\ntype AttachCraftHttpClientExceptionDependencies<Exception, Dependencies> =\n Exception extends AnyCraftException\n ? Exception & {\n readonly [CRAFT_HTTP_CLIENT_EXCEPTION_TYPE_DEPENDENCIES_MARKER]?: Dependencies;\n }\n : never;\n\nexport type ExtractCraftHttpClientExceptionDependencies<Exception> =\n Exception extends {\n readonly [CRAFT_HTTP_CLIENT_EXCEPTION_TYPE_DEPENDENCIES_MARKER]?: infer Dependencies;\n }\n ? Dependencies\n : never;\n\nexport type ExtractCraftHttpClientExceptionBodyTypeFromDependency<Dependency> =\n Dependency extends {\n readonly [CRAFT_HTTP_CLIENT_EXCEPTION_BODY_TYPE_MARKER]?: infer Body;\n }\n ? Body\n : never;\n\nexport type ExtractCraftHttpClientExceptionBodyType<Exception> =\n ExtractCraftHttpClientExceptionBodyTypeFromDependency<\n Extract<\n ExtractCraftHttpClientExceptionDependencies<Exception>,\n { source: 'body' }\n >\n >;\n\ntype CraftHttpClientSuccessToken<Success> = {\n readonly [CRAFT_HTTP_CLIENT_SUCCESS_MARKER]?: Success;\n};\n\ntype CraftHttpClientDecodedSuccessToken<Success> =\n CraftHttpClientSuccessToken<Success> & {\n readonly decoder: CraftDecoder<Success>;\n };\n\ntype CraftHttpClientBaseConfig = Omit<CraftHttpClientJsonOptions, 'params'> & {\n url: string;\n params?: CraftHttpClientParams;\n success: CraftHttpClientSuccessToken<unknown>;\n exceptions?: readonly CraftHttpClientExceptionRule[];\n};\n\ntype CraftHttpClientBodyConfig = CraftHttpClientBaseConfig & {\n payload: unknown | null;\n};\n\ntype CraftHttpClientRequestConfig = CraftHttpClientBaseConfig & {\n method: string;\n payload?: unknown | null;\n};\n\ntype ExtractCraftHttpClientUrl<Config> = Config extends {\n url: infer Url extends string;\n}\n ? Url\n : never;\n\ntype ExtractCraftHttpClientMethod<Config> = Config extends {\n method: infer Method extends string;\n}\n ? Method\n : never;\n\ntype ExtractCraftHttpClientSuccess<Config> = Config extends {\n success: CraftHttpClientSuccessToken<infer Success>;\n}\n ? Success\n : never;\n\ntype ExtractCraftHttpClientResponseDecodeError<Config> = Config extends {\n success: { readonly decoder: CraftDecoder<any> };\n}\n ? HttpResponseDecodeError\n : never;\n\ntype ExtractCraftHttpClientParams<Config> = Config extends {\n params: infer Params;\n}\n ? Params\n : undefined;\n\ntype ExtractCraftHttpClientPayload<Config> = Config extends {\n payload: infer Payload;\n}\n ? Payload\n : undefined;\n\ntype ExtractCraftHttpClientExceptionDependenciesFromYielded<Yielded> =\n Yielded extends CraftHttpClientExceptionDependencyRequest<\n infer Dependency,\n any\n >\n ? Dependency\n : never;\n\ntype ExtractCraftHttpClientExceptionFromRule<Rule> = Rule extends (\n ...args: any[]\n) => Generator<infer Yielded, infer CustomException, unknown>\n ? AttachCraftHttpClientExceptionDependencies<\n Extract<Exclude<CustomException, undefined | void>, AnyCraftException>,\n ExtractCraftHttpClientExceptionDependenciesFromYielded<Yielded>\n >\n : never;\n\ntype ExtractCraftHttpClientExceptions<Config> = Config extends {\n exceptions: ReadonlyArray<infer Rule>;\n}\n ? ExtractCraftHttpClientExceptionFromRule<Rule>\n : never;\n\nexport type CraftHttpClientResolved<\n Success,\n CustomException extends AnyCraftException = never,\n ResponseDecodeException extends AnyCraftException = never,\n> = Success | CustomException | ResponseDecodeException | CraftHttpClientError;\n\nexport type CraftHttpClientResult<\n Success,\n CustomException extends AnyCraftException = never,\n ResponseDecodeException extends AnyCraftException = never,\n> = Promise<\n CraftHttpClientResolved<Success, CustomException, ResponseDecodeException>\n>;\n\nexport type CraftHttpRequest<\n Method extends string = string,\n Url extends string = string,\n Success = unknown,\n Params = undefined,\n Payload = undefined,\n CustomException extends AnyCraftException = never,\n ResponseDecodeException extends AnyCraftException = never,\n> = (() => CraftHttpClientResult<\n Success,\n CustomException,\n ResponseDecodeException\n>) &\n Promise<\n CraftHttpClientResolved<Success, CustomException, ResponseDecodeException>\n > & {\n readonly method: Method;\n readonly url: Url;\n readonly params: Params;\n readonly payload: Payload;\n readonly [CRAFT_HTTP_CLIENT_SUCCESS_MARKER]?: Success;\n readonly [CRAFT_HTTP_CLIENT_EXCEPTIONS_MARKER]?: CustomException;\n readonly [CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCIES_MARKER]?: CraftHttpClientExceptionDependenciesMetadata;\n };\n\ntype AnyCraftHttpRequest = CraftHttpRequest<\n string,\n string,\n unknown,\n unknown,\n unknown,\n AnyCraftException\n>;\n\ntype CraftHttpTrackedRequest<Request extends AnyCraftHttpRequest> =\n ServiceYieldRequest<\n 'global',\n Request,\n ServiceTrackingMetadata<\n 'CraftHttpClient',\n 'global',\n Request,\n never,\n {\n derivedPropertiesUsed: {\n $self: Request;\n };\n derivedPropertiesExposed: {\n $self: Request;\n };\n },\n never,\n true\n >\n >;\n\ntype CraftHttpRequestFromConfig<\n Method extends string,\n Config extends CraftHttpClientBaseConfig,\n> = CraftHttpRequest<\n Method,\n ExtractCraftHttpClientUrl<Config>,\n ExtractCraftHttpClientSuccess<Config>,\n ExtractCraftHttpClientParams<Config>,\n ExtractCraftHttpClientPayload<Config>,\n ExtractCraftHttpClientExceptions<Config>,\n ExtractCraftHttpClientResponseDecodeError<Config>\n>;\n\ntype CraftHttpRequestFromRequestConfig<\n Config extends CraftHttpClientRequestConfig,\n> = CraftHttpRequest<\n Uppercase<ExtractCraftHttpClientMethod<Config>>,\n ExtractCraftHttpClientUrl<Config>,\n ExtractCraftHttpClientSuccess<Config>,\n ExtractCraftHttpClientParams<Config>,\n ExtractCraftHttpClientPayload<Config>,\n ExtractCraftHttpClientExceptions<Config>,\n ExtractCraftHttpClientResponseDecodeError<Config>\n>;\n\ntype CraftHttpClientBuilderHelpers = {\n response: typeof response;\n};\n\ntype CraftHttpClientDsl = {\n get: <const Config extends CraftHttpClientBaseConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromConfig<'GET', Config>>,\n CraftHttpRequestFromConfig<'GET', Config>,\n unknown\n >;\n delete: <const Config extends CraftHttpClientBaseConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromConfig<'DELETE', Config>>,\n CraftHttpRequestFromConfig<'DELETE', Config>,\n unknown\n >;\n post: <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromConfig<'POST', Config>>,\n CraftHttpRequestFromConfig<'POST', Config>,\n unknown\n >;\n put: <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromConfig<'PUT', Config>>,\n CraftHttpRequestFromConfig<'PUT', Config>,\n unknown\n >;\n patch: <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromConfig<'PATCH', Config>>,\n CraftHttpRequestFromConfig<'PATCH', Config>,\n unknown\n >;\n request: <const Config extends CraftHttpClientRequestConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) => Generator<\n CraftHttpTrackedRequest<CraftHttpRequestFromRequestConfig<Config>>,\n CraftHttpRequestFromRequestConfig<Config>,\n unknown\n >;\n};\n\nconst craftHttpClientBuilderHelpers: CraftHttpClientBuilderHelpers = {\n response,\n};\n\nexport const CraftHttpClient: CraftHttpClientDsl = {\n get: function* <const Config extends CraftHttpClientBaseConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest((injector) =>\n createCraftHttpRequest(injector, 'GET', config),\n )) as CraftHttpRequestFromConfig<'GET', Config>;\n },\n\n delete: function* <const Config extends CraftHttpClientBaseConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest((injector) =>\n createCraftHttpRequest(injector, 'DELETE', config),\n )) as CraftHttpRequestFromConfig<'DELETE', Config>;\n },\n\n post: function* <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest((injector) =>\n createCraftHttpRequest(injector, 'POST', config),\n )) as CraftHttpRequestFromConfig<'POST', Config>;\n },\n\n put: function* <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest((injector) =>\n createCraftHttpRequest(injector, 'PUT', config),\n )) as CraftHttpRequestFromConfig<'PUT', Config>;\n },\n\n patch: function* <const Config extends CraftHttpClientBodyConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest((injector) =>\n createCraftHttpRequest(injector, 'PATCH', config),\n )) as CraftHttpRequestFromConfig<'PATCH', Config>;\n },\n\n request: function* <const Config extends CraftHttpClientRequestConfig>(\n build: (helpers: CraftHttpClientBuilderHelpers) => Config,\n ) {\n const config = build(craftHttpClientBuilderHelpers);\n\n return (yield createCraftHttpClientYieldRequest(\n (injector) =>\n createCraftHttpRequest(\n injector,\n config.method,\n config,\n ) as CraftHttpRequestFromRequestConfig<Config>,\n )) as CraftHttpRequestFromRequestConfig<Config>;\n },\n};\n\nexport function response<Success>(): CraftHttpClientSuccessToken<Success>;\nexport function response<Success>(\n decoder: CraftDecoder<Success>,\n): CraftHttpClientDecodedSuccessToken<Success>;\nexport function response<Success>(decoder?: CraftDecoder<Success>) {\n return decoder === undefined\n ? (undefined as unknown as CraftHttpClientSuccessToken<Success>)\n : { decoder };\n}\n\nexport function getCraftHttpRequestExceptionDependencies(\n request: AnyCraftHttpRequest,\n): CraftHttpClientExceptionDependencies {\n const metadata = request[CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCIES_MARKER];\n\n if (!metadata) {\n return [];\n }\n\n if (metadata.value === undefined) {\n metadata.value = metadata.resolve();\n }\n\n return metadata.value;\n}\n\nfunction createCraftHttpClientYieldRequest<Request extends AnyCraftHttpRequest>(\n factory: (injector: Injector) => Request,\n): CraftHttpTrackedRequest<Request> {\n return {\n [SERVICE_YIELD_REQUEST_MARKER]: true,\n name: 'CraftHttpClient',\n providedIn: 'global',\n resolve: (injector) => {\n const override = injector\n .get(SERVICE_RUNTIME_OVERRIDES)\n .get('CraftHttpClient');\n\n if (override?.kind === 'useValue') {\n return override.value as Request;\n }\n\n if (override?.kind === 'instantiate') {\n if (override.instance === undefined) {\n override.instance = factory(injector);\n }\n\n return override.instance as Request;\n }\n\n return factory(injector);\n },\n } as CraftHttpTrackedRequest<Request>;\n}\n\nfunction createCraftHttpRequest<\n Method extends string,\n Config extends CraftHttpClientBaseConfig,\n>(\n injector: Injector,\n method: Method,\n config: Config,\n): CraftHttpRequestFromConfig<Uppercase<Method>, Config> {\n const normalizedMethod = normalizeMethod(method) as Uppercase<Method>;\n const exceptionDependencies =\n createCraftHttpClientExceptionDependenciesMetadata(config.exceptions);\n const request = async (): CraftHttpClientResult<\n ExtractCraftHttpClientSuccess<Config>,\n ExtractCraftHttpClientExceptions<Config>,\n ExtractCraftHttpClientResponseDecodeError<Config>\n > =>\n executeCraftHttpTrace(\n injector,\n {\n method: normalizedMethod,\n url: config.url,\n params: config.params,\n payload: getConfigPayload(config),\n },\n async () => {\n try {\n const response = await craftFetchTransport(\n toCraftFetchRequest(normalizedMethod, config),\n );\n const responseBody = response.body;\n\n if (response.status >= 400) {\n return resolveCraftHttpClientError(\n normalizedMethod,\n config,\n toCraftHttpClientErrorResponse(config.url, response),\n );\n }\n\n const decoder = (\n config.success as\n | (CraftHttpClientSuccessToken<unknown> & {\n readonly decoder?: CraftDecoder<unknown>;\n })\n | undefined\n )?.decoder;\n if (!decoder) {\n return responseBody as ExtractCraftHttpClientSuccess<Config>;\n }\n\n try {\n return (await decoder.decode(\n responseBody,\n )) as ExtractCraftHttpClientSuccess<Config>;\n } catch (error) {\n return toHttpResponseDecodeError(\n normalizedMethod,\n config.url,\n responseBody,\n error,\n ) as ExtractCraftHttpClientResponseDecodeError<Config>;\n }\n } catch (error) {\n return resolveCraftHttpClientError(\n normalizedMethod,\n config,\n normalizeHttpClientError(config.url, error),\n );\n }\n },\n );\n\n return Object.defineProperties(request, {\n method: {\n value: normalizedMethod,\n enumerable: false,\n configurable: false,\n },\n url: {\n value: config.url,\n enumerable: false,\n configurable: false,\n },\n params: {\n value: config.params as ExtractCraftHttpClientParams<Config>,\n enumerable: false,\n configurable: false,\n },\n payload: {\n value: getConfigPayload(config) as ExtractCraftHttpClientPayload<Config>,\n enumerable: false,\n configurable: false,\n },\n [CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCIES_MARKER]: {\n value: exceptionDependencies,\n enumerable: false,\n configurable: false,\n },\n then: {\n value: function (\n onfulfilled: Parameters<Promise<unknown>['then']>[0],\n onrejected: Parameters<Promise<unknown>['then']>[1],\n ) {\n return request().then(onfulfilled, onrejected);\n },\n enumerable: false,\n configurable: false,\n },\n catch: {\n value: function (onrejected: Parameters<Promise<unknown>['catch']>[0]) {\n return request().catch(onrejected);\n },\n enumerable: false,\n configurable: false,\n },\n finally: {\n value: function (onfinally: Parameters<Promise<unknown>['finally']>[0]) {\n return request().finally(onfinally);\n },\n enumerable: false,\n configurable: false,\n },\n [Symbol.toStringTag]: {\n value: 'Promise',\n enumerable: false,\n configurable: false,\n },\n }) as CraftHttpRequestFromConfig<Uppercase<Method>, Config>;\n}\n\nfunction toCraftFetchRequest(\n method: string,\n config: CraftHttpClientBaseConfig,\n) {\n const urlSearchParams =\n config.params instanceof URLSearchParams ? config.params : undefined;\n\n return {\n url:\n urlSearchParams === undefined\n ? config.url\n : appendCraftHttpClientSearchParams(config.url, urlSearchParams),\n method,\n headers: config.headers,\n params:\n urlSearchParams === undefined\n ? normalizeCraftHttpClientParams(config.params)\n : undefined,\n body: getConfigPayload(config),\n signal: config.signal,\n timeout: config.timeout,\n };\n}\n\nfunction appendCraftHttpClientSearchParams(\n url: string,\n params: URLSearchParams,\n): string {\n const serialized = params.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\n return `${baseUrl}${baseUrl.includes('?') ? '&' : '?'}${serialized}${hash}`;\n}\n\nfunction normalizeCraftHttpClientParams(\n params: CraftHttpClientParams | undefined,\n): Record<string, string | number | boolean | undefined> | undefined {\n if (params === undefined) {\n return undefined;\n }\n\n return params instanceof URLSearchParams ? undefined : { ...params };\n}\n\nfunction getConfigPayload(config: CraftHttpClientBaseConfig): unknown {\n return 'payload' in config ? config.payload : undefined;\n}\n\nfunction normalizeMethod(method: string): string {\n return method.toUpperCase();\n}\n\nfunction collectCraftHttpClientExceptionDependencies(\n rules: readonly CraftHttpClientExceptionRule[] | undefined,\n): CraftHttpClientExceptionDependencies {\n if (!rules?.length) {\n return [];\n }\n\n return rules.map((rule, ruleIndex) => ({\n ruleIndex,\n dependencies: collectCraftHttpClientExceptionRuleDependencies(rule),\n }));\n}\n\nfunction createCraftHttpClientExceptionDependenciesMetadata(\n rules: readonly CraftHttpClientExceptionRule[] | undefined,\n): CraftHttpClientExceptionDependenciesMetadata {\n return {\n resolve: () => collectCraftHttpClientExceptionDependencies(rules),\n };\n}\n\nfunction collectCraftHttpClientExceptionRuleDependencies(\n rule: CraftHttpClientExceptionRule,\n): readonly CraftHttpClientExceptionDependency[] {\n const dependencies: CraftHttpClientExceptionDependency[] = [];\n\n executeCraftHttpClientExceptionRule(rule, {\n resolveRequest: (request) => request.preview(),\n onDependency: (dependency) => {\n dependencies.push(dependency);\n },\n });\n\n return dependencies;\n}\n\nfunction resolveCraftHttpClientError<Config extends CraftHttpClientBaseConfig>(\n method: string,\n config: Config,\n error: CraftHttpClientErrorResponse,\n): ExtractCraftHttpClientExceptions<Config> | CraftHttpClientError {\n const customException = resolveCraftHttpClientException(\n config.exceptions,\n error,\n ) as ExtractCraftHttpClientExceptions<Config> | undefined;\n\n return customException ?? toCraftHttpClientError(method, config.url, error);\n}\n\nfunction resolveCraftHttpClientException(\n rules: readonly CraftHttpClientExceptionRule[] | undefined,\n error: CraftHttpClientErrorResponse,\n): AnyCraftException | undefined {\n if (!rules?.length) {\n return undefined;\n }\n\n for (const rule of rules) {\n const customException = executeCraftHttpClientExceptionRule(rule, {\n resolveRequest: (request) => request.evaluate(error),\n });\n\n if (customException) {\n return customException;\n }\n }\n\n return undefined;\n}\n\nfunction executeCraftHttpClientExceptionRule(\n rule: CraftHttpClientExceptionRule,\n options: {\n resolveRequest: (\n request: CraftHttpClientExceptionDependencyRequest<any, unknown>,\n ) => unknown;\n onDependency?: (dependency: CraftHttpClientExceptionDependency) => void;\n },\n): AnyCraftException | undefined {\n const iterator = rule(craftHttpClientExceptionRuleHelpers);\n let current = iterator.next();\n\n while (!current.done) {\n const yielded = current.value;\n\n if (isCraftHttpClientExceptionDependencyRequest(yielded)) {\n options.onDependency?.(yielded.dependency);\n current = iterator.next(options.resolveRequest(yielded));\n continue;\n }\n\n throw new Error(\n 'CraftHttpClient exception rules must only yield status, code, content, body or header helpers.',\n );\n }\n\n return current.value ?? undefined;\n}\n\nconst craftHttpClientExceptionRuleHelpers: CraftHttpClientExceptionRuleHelpers =\n {\n status: ((expected?: number) =>\n createCraftHttpClientExceptionToken({\n dependency:\n expected === undefined\n ? {\n source: 'status',\n mode: 'read',\n }\n : {\n source: 'status',\n mode: 'match',\n expected,\n },\n evaluate: (error) =>\n expected === undefined\n ? error.status\n : matchHttpClientExceptionValue(error.status, expected),\n preview: () => (expected === undefined ? 400 : expected),\n })) as CraftHttpClientStatusExceptionHelper,\n code: ((expected?: unknown) =>\n createCraftHttpClientExceptionToken({\n dependency:\n expected === undefined\n ? {\n source: 'code',\n mode: 'read',\n }\n : {\n source: 'code',\n mode: 'match',\n expected,\n },\n evaluate: (error) => {\n const code = readCraftHttpClientErrorCode(error);\n return expected === undefined\n ? code\n : matchHttpClientExceptionValue(code, expected);\n },\n preview: () => (expected === undefined ? 'preview-code' : expected),\n })) as CraftHttpClientCodeExceptionHelper,\n content: ((expected?: string) =>\n createCraftHttpClientExceptionToken({\n dependency:\n expected === undefined\n ? {\n source: 'content',\n mode: 'read',\n }\n : {\n source: 'content',\n mode: 'match',\n expected,\n },\n evaluate: (error) => {\n const content = readCraftHttpClientErrorContent(error);\n return expected === undefined\n ? content\n : matchHttpClientExceptionValue(content, expected);\n },\n preview: () =>\n (expected === undefined ? 'preview-content' : expected) as\n | string\n | undefined,\n })) as CraftHttpClientContentExceptionHelper,\n body: <Body = unknown>() =>\n createCraftHttpClientExceptionToken({\n dependency: {\n source: 'body',\n mode: 'read',\n },\n evaluate: (error) => error.error as Body,\n preview: () => craftHttpClientExceptionPreviewValue as Body,\n }),\n header: ((name: string, expected?: string) =>\n createCraftHttpClientExceptionToken({\n dependency:\n expected === undefined\n ? {\n source: 'header',\n mode: 'read',\n name,\n }\n : {\n source: 'header',\n mode: 'match',\n name,\n expected,\n },\n evaluate: (error) => {\n const headerValue = normalizeCraftHttpClientHeaderValue(\n error.headers.get(name),\n );\n return expected === undefined\n ? headerValue\n : matchHttpClientExceptionValue(headerValue, expected);\n },\n preview: () =>\n (expected === undefined ? 'preview-header' : expected) as\n | string\n | undefined,\n })) as CraftHttpClientHeaderExceptionHelper,\n };\n\nconst craftHttpClientExceptionPreviewValue: unknown = new Proxy(\n () => craftHttpClientExceptionPreviewValue,\n {\n apply: () => craftHttpClientExceptionPreviewValue,\n get: () => craftHttpClientExceptionPreviewValue,\n },\n);\n\nfunction createCraftHttpClientExceptionToken<Result>(\n request: Omit<\n CraftHttpClientExceptionDependencyRequest<any, Result>,\n typeof CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER\n >,\n): Generator<\n CraftHttpClientExceptionDependencyRequest<any, Result>,\n Result,\n unknown\n> {\n const dependencyRequest =\n createCraftHttpClientExceptionDependencyRequest(request);\n\n return (function* () {\n return (yield dependencyRequest) as Result;\n })();\n}\n\nfunction createCraftHttpClientExceptionDependencyRequest<\n Dependency extends CraftHttpClientExceptionDependency,\n Result,\n>(\n request: Omit<\n CraftHttpClientExceptionDependencyRequest<Dependency, Result>,\n typeof CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER\n >,\n): CraftHttpClientExceptionDependencyRequest<Dependency, Result> {\n return {\n [CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER]: true,\n ...request,\n };\n}\n\nfunction isCraftHttpClientExceptionDependencyRequest(\n value: unknown,\n): value is CraftHttpClientExceptionDependencyRequest<any, unknown> {\n return (\n typeof value === 'object' &&\n value !== null &&\n CRAFT_HTTP_CLIENT_EXCEPTION_DEPENDENCY_REQUEST_MARKER in value\n );\n}\n\nfunction matchHttpClientExceptionValue<Value, Expected>(\n value: Value,\n expected: Expected,\n): Expected | undefined {\n return Object.is(value, expected) ? expected : undefined;\n}\n\nfunction readCraftHttpClientErrorCode(\n error: CraftHttpClientErrorResponse,\n): unknown {\n const payload = error.error;\n\n return payload && typeof payload === 'object' && 'code' in payload\n ? payload.code\n : undefined;\n}\n\nfunction readCraftHttpClientErrorContent(\n error: CraftHttpClientErrorResponse,\n): string | undefined {\n if (typeof error.error === 'string') {\n return error.error;\n }\n\n if (\n error.error &&\n typeof error.error === 'object' &&\n 'message' in error.error &&\n typeof error.error.message === 'string'\n ) {\n return error.error.message;\n }\n\n return undefined;\n}\n\nfunction normalizeCraftHttpClientHeaderValue(\n value: string | null,\n): string | undefined {\n return value ?? undefined;\n}\n\nfunction normalizeHttpClientError(\n url: string,\n error: unknown,\n): CraftHttpClientErrorResponse {\n return {\n error,\n headers: new Headers(),\n status: 0,\n statusText: 'Unknown Error',\n url,\n };\n}\n\nfunction toCraftHttpClientErrorResponse(\n url: string,\n response: CraftHttpResponse<unknown>,\n): CraftHttpClientErrorResponse {\n const metadata = ɵgetCraftHttpResponseMetadata(response);\n\n return {\n error: response.body,\n headers: metadata?.headers ?? new Headers(),\n status: response.status,\n statusText: metadata?.statusText ?? '',\n url: metadata?.url ?? url,\n };\n}\n\nfunction toCraftHttpClientError(\n method: string,\n url: string,\n error: CraftHttpClientErrorResponse,\n): CraftHttpClientError {\n return craftException(\n {\n _tag: 'HttpError',\n scope: 'HttpClient',\n identifier: `${method} ${url}`,\n },\n {\n error,\n method,\n url,\n },\n );\n}\n\nfunction toHttpResponseDecodeError(\n method: string,\n url: string,\n response: unknown,\n error: unknown,\n): HttpResponseDecodeError {\n const issues = extractDecodeIssues(error);\n\n return craftException(\n {\n _tag: 'HttpResponseDecodeError',\n scope: 'HttpClient',\n identifier: `${method} ${url}`,\n },\n {\n method,\n url,\n response,\n error,\n ...(issues === undefined ? {} : { issues }),\n },\n );\n}\n\nfunction extractDecodeIssues(error: unknown): unknown {\n if (!error || typeof error !== 'object') {\n return undefined;\n }\n\n if ('issues' in error) {\n return (error as { issues?: unknown }).issues;\n }\n\n if ('issue' in error && error.issue && typeof error.issue === 'object') {\n return error.issue;\n }\n\n return undefined;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http-trace.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-http-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EAER,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,eAAO,MAAM,gBAAgB,kDAM3B,CAAC;AAEH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,qBAAqB,GAC7B,QAAQ,CAMV;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GACzB,OAAO,CAAC,KAAK,CAAC,CAgBhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-http-trace.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-http-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAEhD,kBAAkB,EAAE;IACpB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;IACjB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CACnC,OAA8B;IAE9B,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAkB,EAClB,OAA8B,EAC9B,IAA0B;IAE1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,KAAa,EAAkB,EAAE;QAC5C,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAmB,CAAC;IAClE,CAAC,CAAC;IAEF,OAAO,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import {\n InjectionToken,\n Injector,\n runInInjectionContext,\n type Provider,\n} from './host/craft-compat';\n\nexport type CraftHttpTraceContext = Readonly<{\n method: string;\n url: string;\n params?: unknown;\n payload?: unknown;\n}>;\n\nexport type CraftHttpTraceWrapper = (\n context: CraftHttpTraceContext,\n next: () => Promise<unknown>,\n) => Promise<unknown>;\n\nexport const CRAFT_HTTP_TRACE = new InjectionToken<\n readonly CraftHttpTraceWrapper[]\n>('CRAFT_HTTP_TRACE', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\nexport function provideCraftHttpTrace(\n wrapper: CraftHttpTraceWrapper,\n): Provider {\n return {\n provide: CRAFT_HTTP_TRACE,\n useValue: wrapper,\n multi: true,\n };\n}\n\nexport function executeCraftHttpTrace<Value>(\n injector: Injector,\n context: CraftHttpTraceContext,\n next: () => Promise<Value>,\n): Promise<Value> {\n const wrappers = injector.get(CRAFT_HTTP_TRACE, []);\n if (wrappers.length === 0) {\n return next();\n }\n\n const run = (index: number): Promise<Value> => {\n if (index === wrappers.length) {\n return next();\n }\n\n const wrapper = wrappers[index];\n return wrapper(context, () => run(index + 1)) as Promise<Value>;\n };\n\n return runInInjectionContext(injector, () => run(0));\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-lazy.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-lazy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKhE,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,0BAA0B,EAAG,uBAAgC,CAAC;AAE3E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,oFAAoF;AACpF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO;;;;;;GAKtD;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AA8C7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,GAClD,kBAAkB,CAAC,KAAK,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAgBnD"}