@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":"craft-register-for-runtime.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-register-for-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n InjectionToken,\n signal,\n type Injector,\n type Signal,\n} from './host/craft-compat';\nimport type { ConcreteServiceScope } from './craft-service.shared';\nimport { ɵrunCraftTargetWrappers } from './craft-target-runtime';\n\nexport const CRAFT_REGISTRATION_TARGET = Symbol.for(\n '@craft-ts/core/craft-registration-target',\n);\n\nexport type CraftRegistrationTargetMetadata = Readonly<{\n kind: 'component' | 'directive';\n name: string;\n}>;\n\nexport type CraftRegistrationTarget<\n Name extends string = string,\n Kind extends 'component' | 'directive' = 'component' | 'directive',\n Instance = unknown,\n> = {\n readonly [CRAFT_REGISTRATION_TARGET]: CraftRegistrationTargetMetadata & {\n kind: Kind;\n name: Name;\n instance: Instance;\n };\n};\n\nexport type RegisterForEntry<Value = unknown> = Readonly<{\n hostName: string;\n ref: Value;\n}>;\n\nexport type RegisterForSignal<Value = unknown> = Signal<\n readonly RegisterForEntry<Value>[] | undefined\n>;\n\nexport type RegisterForTargetDescriptor = Readonly<{\n key: string;\n matches(candidate: unknown): boolean;\n}>;\n\nexport type RegisterForRegistry = Readonly<{\n signalFor(key: string): RegisterForSignal;\n registerService(\n name: string,\n ref: unknown,\n hostName: string,\n scope?: ConcreteServiceScope,\n ): () => void;\n registerTarget(target: unknown, ref: unknown, hostName: string): () => void;\n}>;\n\nconst EMPTY_CLEANUP = () => undefined;\n\nexport const REGISTER_FOR_REGISTRY = new InjectionToken<\n readonly RegisterForRegistry[]\n>('REGISTER_FOR_REGISTRY', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\nexport function createRegisterForRegistry(\n descriptors: readonly RegisterForTargetDescriptor[],\n options: { readonly includeGlobal: boolean },\n): RegisterForRegistry {\n const entriesByKey = new Map<string, InternalEntry[]>();\n const signalsByKey = new Map<\n string,\n ReturnType<typeof signal<readonly RegisterForEntry[] | undefined>>\n >();\n\n for (const descriptor of descriptors) {\n entriesByKey.set(descriptor.key, []);\n signalsByKey.set(\n descriptor.key,\n signal<readonly RegisterForEntry[] | undefined>(undefined),\n );\n }\n\n const register = (\n descriptor: RegisterForTargetDescriptor | undefined,\n ref: unknown,\n hostName: string,\n ): (() => void) => {\n if (descriptor === undefined) {\n return EMPTY_CLEANUP;\n }\n\n const entries = entriesByKey.get(descriptor.key);\n const entriesSignal = signalsByKey.get(descriptor.key);\n if (entries === undefined || entriesSignal === undefined) {\n return EMPTY_CLEANUP;\n }\n\n const existing = entries.find(\n (entry) => Object.is(entry.ref, ref) && entry.hostName === hostName,\n );\n if (existing !== undefined) {\n return EMPTY_CLEANUP;\n }\n\n const entry: InternalEntry = {\n hostName,\n ref,\n };\n entries.push(entry);\n entriesSignal.set(entries.map(toPublicEntry));\n\n let active = true;\n return () => {\n if (!active) return;\n active = false;\n\n const index = entries.indexOf(entry);\n if (index === -1) return;\n entries.splice(index, 1);\n entriesSignal.set(\n entries.length === 0 ? undefined : entries.map(toPublicEntry),\n );\n };\n };\n\n return {\n signalFor(key) {\n return signalsByKey.get(key) ?? signal(undefined);\n },\n registerService(name, ref, hostName, scope) {\n if (scope === 'global' && !options.includeGlobal) {\n return EMPTY_CLEANUP;\n }\n return register(\n descriptors.find((descriptor) =>\n descriptor.matches({ kind: 'service', name }),\n ),\n ref,\n hostName,\n );\n },\n registerTarget(target, ref, hostName) {\n return register(\n descriptors.find((descriptor) => descriptor.matches(target)),\n ref,\n hostName,\n );\n },\n };\n}\n\nexport function registerResolvedService(\n injector: Injector,\n name: string,\n ref: unknown,\n hostName: string,\n scope: ConcreteServiceScope,\n): void {\n const registries = injector.get(REGISTER_FOR_REGISTRY, []);\n for (const registry of registries) {\n attachCleanup(\n injector,\n registry.registerService(name, ref, hostName, scope),\n );\n }\n}\n\nexport function ɵregisterCraftTarget(\n injector: Injector,\n target: unknown,\n ref: unknown,\n hostName: string,\n autoCleanup = true,\n): () => void {\n const metadata = (\n target as {\n readonly [CRAFT_REGISTRATION_TARGET]?: CraftRegistrationTargetMetadata;\n }\n )[CRAFT_REGISTRATION_TARGET];\n if (metadata === undefined) {\n return EMPTY_CLEANUP;\n }\n\n return ɵrunCraftTargetWrappers(\n injector,\n {\n target,\n kind: metadata.kind,\n name: metadata.name,\n ref,\n hostName,\n injector,\n },\n autoCleanup,\n );\n}\n\nfunction attachCleanup(injector: Injector, cleanup: () => void): () => void {\n if (cleanup === EMPTY_CLEANUP) return cleanup;\n\n const destroyRef = injector.get(DestroyRef, null);\n destroyRef?.onDestroy(cleanup);\n return cleanup;\n}\n\ntype InternalEntry = {\n readonly hostName: string;\n readonly ref: unknown;\n};\n\nfunction toPublicEntry(entry: InternalEntry): RegisterForEntry {\n return {\n hostName: entry.hostName,\n ref: entry.ref,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-register-for.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-register-for.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-register-for.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-register-for.ts"],"names":[],"mappings":"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","sourcesContent":["import { HOST_TAG_LIST } from './host-tag';\nimport {\n getServiceMetaData,\n type GetServiceReferenceMeta,\n type GetServiceReferenceOutput,\n type ServiceReference,\n} from './craft-service';\nimport {\n CRAFT_REGISTRATION_TARGET,\n createRegisterForRegistry,\n REGISTER_FOR_REGISTRY,\n registerResolvedService,\n type CraftRegistrationTarget,\n type RegisterForEntry,\n type RegisterForRegistry,\n type RegisterForSignal,\n type RegisterForTargetDescriptor,\n} from './craft-register-for-runtime';\nimport {\n isGenerator,\n provideServiceYieldWrapper,\n} from './craft-generator-runtime';\nimport { provideCraftTargetWrapper } from './craft-target-runtime';\nimport {\n assertInInjectionContext,\n inject,\n InjectionToken,\n Injector,\n type Provider,\n} from './host/craft-compat';\n\nexport {\n CRAFT_REGISTRATION_TARGET,\n REGISTER_FOR_REGISTRY,\n type CraftRegistrationTarget,\n type RegisterForEntry,\n type RegisterForRegistry,\n type RegisterForSignal,\n};\n\nexport type RegisterForOptions = Readonly<{\n /** Track global services resolved below this register. Defaults to true. */\n includeGlobal?: boolean;\n}>;\n\nexport type RegisterForExposureTokens<Value> = Readonly<{\n /** The complete live signal for the selected register group. */\n $self: RegisterForSignal<Value>;\n}>;\n\nexport type RegisterForExposureSelector<Value, Exposed> = (\n tokens: RegisterForExposureTokens<Value>,\n) => Exposed | Generator<unknown, Exposed, unknown>;\n\ntype AnyRegisterTarget = ServiceReference | CraftRegistrationTarget;\n\ntype TargetName<Target> = Target extends ServiceReference\n ? GetServiceReferenceMeta<Target>['name']\n : Target extends CraftRegistrationTarget<infer Name, any, any>\n ? Name\n : never;\n\ntype TargetReference<Target> = Target extends ServiceReference\n ? GetServiceReferenceOutput<Target>\n : Target extends CraftRegistrationTarget<any, any, infer Instance>\n ? Instance\n : never;\n\ntype TargetNames<Targets extends readonly AnyRegisterTarget[]> = Extract<\n TargetName<Targets[number]>,\n string\n>;\n\ntype GroupKey<Name extends string> = Capitalize<Name>;\n\ntype SignalForTarget<Target> = RegisterForSignal<TargetReference<Target>>;\n\ntype RegisterForProjectionResult<Result> =\n Result extends Generator<infer Yielded, infer Output, unknown>\n ? { yielded: Yielded; output: Output }\n : { yielded: never; output: Result };\n\ntype RegisterForDirectValue<Value, Derived> = RegisterForSignal<Value> &\n ([Derived] extends [never] ? {} : Derived);\n\ntype RegisterForTargetHelper<Value, Derived = never> = {\n (): Generator<never, RegisterForDirectValue<Value, Derived>, unknown>;\n <Projection extends (tokens: RegisterForExposureTokens<Value>) => unknown>(\n bindings: undefined,\n expose: Projection,\n ): Generator<\n RegisterForProjectionResult<ReturnType<Projection>>['yielded'],\n RegisterForProjectionResult<ReturnType<Projection>>['output'],\n unknown\n >;\n};\n\ntype RegisterForAdditionalGroups<Targets extends readonly AnyRegisterTarget[]> =\n Targets extends readonly [AnyRegisterTarget, ...infer Rest]\n ? {\n [Name in TargetNames<\n readonly [Extract<Rest[number], AnyRegisterTarget>]\n > as GroupKey<Name>]: RegisterForTargetHelper<\n TargetReference<\n TargetForKey<\n Extract<Rest[number], AnyRegisterTarget>[],\n GroupKey<Name>\n >\n >\n >;\n }\n : Record<never, never>;\n\ntype TargetForKey<\n Targets extends readonly AnyRegisterTarget[],\n Key extends string,\n> = Targets[number] extends infer Target\n ? Target extends AnyRegisterTarget\n ? GroupKey<Extract<TargetName<Target>, string>> extends Key\n ? Target\n : never\n : never\n : never;\n\nexport type RegisterForGroups<Targets extends readonly AnyRegisterTarget[]> = {\n [Name in TargetNames<Targets> as GroupKey<Name>]: SignalForTarget<\n TargetForKey<Targets, GroupKey<Name>>\n >;\n};\n\ntype RegisterForDerivedHelper<Derived> = [Derived] extends [never]\n ? Record<never, never>\n : {\n [Name in Extract<keyof Derived, string>]: () => Generator<\n never,\n Derived[Name],\n unknown\n >;\n };\n\ntype RegisterForHelper<\n Targets extends readonly AnyRegisterTarget[],\n Derived = never,\n> = Targets extends readonly [infer Primary, ...unknown[]]\n ? Primary extends AnyRegisterTarget\n ? RegisterForTargetHelper<TargetReference<Primary>, Derived> &\n RegisterForAdditionalGroups<Targets> &\n RegisterForDerivedHelper<Derived>\n : never\n : never;\n\nexport type CraftRegisterForApi<\n RegistryName extends string,\n Targets extends readonly AnyRegisterTarget[],\n Derived = never,\n> = Readonly<\n {\n [Name in `RegisterFor${Capitalize<RegistryName>}`]: RegisterForHelper<\n Targets,\n Derived\n >;\n } & {\n [Name in `provideRegisterFor${Capitalize<RegistryName>}`]: () => Provider[];\n }\n>;\n\nexport type RegisterForDerivedSelector<\n Targets extends readonly AnyRegisterTarget[],\n Derived extends object,\n> = (groups: RegisterForGroups<Targets>) => Derived;\n\n/**\n * Creates a typed, DI-scoped view of live Craft service/component/directive\n * instances. The returned helper is yieldable from Craft factories.\n */\nexport function craftRegisterFor<\n const RegistryName extends string,\n const Targets extends readonly AnyRegisterTarget[],\n const Derived extends object,\n>(\n registryName: RegistryName,\n targets: Targets,\n derive: RegisterForDerivedSelector<Targets, Derived>,\n): CraftRegisterForApi<RegistryName, Targets, Derived>;\nexport function craftRegisterFor<\n const RegistryName extends string,\n const Target extends AnyRegisterTarget,\n const Derived extends object,\n>(\n registryName: RegistryName,\n target: Target,\n derive: RegisterForDerivedSelector<readonly [Target], Derived>,\n): CraftRegisterForApi<RegistryName, readonly [Target], Derived>;\nexport function craftRegisterFor<\n const RegistryName extends string,\n const Targets extends readonly AnyRegisterTarget[],\n>(\n registryName: RegistryName,\n targets: Targets,\n options?: RegisterForOptions,\n): CraftRegisterForApi<RegistryName, Targets>;\nexport function craftRegisterFor<\n const RegistryName extends string,\n const Target extends AnyRegisterTarget,\n>(\n registryName: RegistryName,\n target: Target,\n options?: RegisterForOptions,\n): CraftRegisterForApi<RegistryName, readonly [Target]>;\nexport function craftRegisterFor(\n registryName: string,\n targetsOrTarget: readonly AnyRegisterTarget[] | AnyRegisterTarget,\n optionsOrDerive:\n | RegisterForOptions\n | ((groups: Record<string, RegisterForSignal>) => object) = {},\n): CraftRegisterForApi<string, readonly AnyRegisterTarget[], object> {\n const targets: readonly AnyRegisterTarget[] = Array.isArray(targetsOrTarget)\n ? targetsOrTarget\n : [targetsOrTarget];\n return createCraftRegisterFor(registryName, targets, optionsOrDerive);\n}\n\nfunction createCraftRegisterFor(\n registryName: string,\n targets: readonly AnyRegisterTarget[],\n optionsOrDerive:\n | RegisterForOptions\n | ((groups: Record<string, RegisterForSignal>) => object),\n): CraftRegisterForApi<string, readonly AnyRegisterTarget[], object> {\n if (!registryName) {\n throw new Error('craftRegisterFor requires a non-empty registry name.');\n }\n if (targets.length === 0) {\n throw new Error('craftRegisterFor requires at least one target.');\n }\n\n const descriptors = targets.map(toDescriptor);\n assertUniqueDescriptorKeys(descriptors);\n const derive =\n typeof optionsOrDerive === 'function' ? optionsOrDerive : undefined;\n const options = typeof optionsOrDerive === 'function' ? {} : optionsOrDerive;\n const includeGlobal = options.includeGlobal ?? true;\n const registryToken = new InjectionToken<RegisterForRegistry>(\n `REGISTER_FOR_REGISTRY_${registryName}`,\n );\n const registerForName = `RegisterFor${capitalize(registryName)}`;\n const provideRegisterForName = `provideRegisterFor${capitalize(\n registryName,\n )}`;\n const derivedByInjector = new WeakMap<Injector, Record<string, unknown>>();\n\n const createTargetHelper = (\n descriptor: RegisterForTargetDescriptor,\n exposeDerived: boolean,\n ) =>\n function* (\n _bindings?: undefined,\n expose?: (tokens: RegisterForExposureTokens<unknown>) => unknown,\n ) {\n const value = requireRegistry().signalFor(descriptor.key);\n if (expose === undefined) {\n return exposeDerived ? extendWithDerived(value) : value;\n }\n\n const exposed = expose({ $self: value });\n if (isGenerator(exposed)) {\n return yield* exposed as Generator<unknown, unknown, unknown>;\n }\n return exposed;\n };\n\n const helper = createTargetHelper(descriptors[0]!, true) as RegisterForHelper<\n readonly [AnyRegisterTarget],\n object\n >;\n for (const descriptor of descriptors.slice(1)) {\n Object.defineProperty(helper, descriptor.key, {\n value: createTargetHelper(descriptor, false),\n enumerable: false,\n });\n }\n\n const registerFor = new Proxy(helper, {\n get(target, property, receiver) {\n const value = Reflect.get(target, property, receiver);\n if (\n value !== undefined ||\n typeof property !== 'string' ||\n derive === undefined ||\n property === 'then'\n ) {\n return value;\n }\n\n return function* () {\n const derived = getDerivedForCurrentInjector();\n if (!Object.prototype.hasOwnProperty.call(derived, property)) {\n throw new Error(`Unknown RegisterFor property \"${property}\".`);\n }\n return derived[property];\n };\n },\n }) as RegisterForHelper<readonly [AnyRegisterTarget], object>;\n\n function extendWithDerived<Value>(\n value: RegisterForSignal<Value>,\n ): RegisterForDirectValue<Value, object> {\n if (derive === undefined) {\n return value as RegisterForDirectValue<Value, object>;\n }\n\n const derived = getDerivedForCurrentInjector();\n return new Proxy(value, {\n get(target, property, receiver) {\n if (\n typeof property === 'string' &&\n Object.prototype.hasOwnProperty.call(derived, property)\n ) {\n return derived[property];\n }\n return Reflect.get(target, property, receiver);\n },\n }) as RegisterForDirectValue<Value, object>;\n }\n\n const provideRegisterFor = (): Provider[] => {\n const registryProvider: Provider = {\n provide: registryToken,\n useFactory: () =>\n createRegisterForRegistry(descriptors, { includeGlobal }),\n };\n const registryCollectionProvider: Provider = {\n provide: REGISTER_FOR_REGISTRY,\n useExisting: registryToken,\n multi: true,\n };\n const targetWrapper = provideCraftTargetWrapper(\n 'Warning: dependency injection here is not type-safe and may fail at runtime',\n function* (context, next) {\n const registry = context.injector.get(registryToken, null);\n if (registry === null) {\n return yield* next();\n }\n\n const release = registry.registerTarget(\n context.target,\n context.ref,\n context.hostName,\n );\n const downstreamRelease = yield* next();\n\n return () => {\n downstreamRelease();\n release();\n };\n },\n );\n const yieldWrapper = provideServiceYieldWrapper(\n 'Register Craft service yields for craftRegisterFor.',\n function* (context, next) {\n const ref = yield* next();\n if (context.providedIn !== 'global' || includeGlobal) {\n const hostTags = context.injector.get(HOST_TAG_LIST, []);\n registerResolvedService(\n context.injector,\n context.name,\n ref,\n hostTags[hostTags.length - 1] ?? `service:${context.name}`,\n context.providedIn,\n );\n }\n return ref;\n },\n );\n\n return [\n registryProvider,\n registryCollectionProvider,\n targetWrapper,\n yieldWrapper,\n ];\n };\n\n return {\n [registerForName]: registerFor,\n [provideRegisterForName]: provideRegisterFor,\n } as unknown as CraftRegisterForApi<\n string,\n readonly AnyRegisterTarget[],\n object\n >;\n\n function getDerivedForCurrentInjector(): Record<string, unknown> {\n if (derive === undefined) {\n return {};\n }\n\n const injector = currentInjector();\n const cached = derivedByInjector.get(injector);\n if (cached !== undefined) {\n return cached;\n }\n\n const groups = {} as Record<string, RegisterForSignal>;\n const registry = requireRegistry();\n for (const descriptor of descriptors) {\n groups[descriptor.key] = registry.signalFor(descriptor.key);\n }\n\n const derived = derive(groups);\n if (isGenerator(derived)) {\n throw new Error(\n 'craftRegisterFor derived properties must be returned synchronously.',\n );\n }\n\n const result = derived as Record<string, unknown>;\n derivedByInjector.set(injector, result);\n return result;\n }\n\n function requireRegistry(): RegisterForRegistry {\n throwIfNoInjectionContext();\n const registry = currentInjector().get(registryToken, null);\n if (registry === null) {\n throw new Error(\n `${registerForName} requires ${provideRegisterForName}() in the current Craft injector.`,\n );\n }\n return registry;\n }\n}\n\nfunction toDescriptor(target: AnyRegisterTarget): RegisterForTargetDescriptor {\n try {\n const service = getServiceMetaData(target);\n return {\n key: capitalize(service.name),\n matches(candidate) {\n return isServiceCandidate(candidate) && candidate.name === service.name;\n },\n };\n } catch {\n const metadata = (\n target as {\n readonly [CRAFT_REGISTRATION_TARGET]?: {\n readonly name: string;\n };\n }\n )[CRAFT_REGISTRATION_TARGET];\n if (!metadata) {\n throw new Error(\n 'craftRegisterFor only accepts Craft services, components, and directives.',\n );\n }\n\n return {\n key: capitalize(metadata.name),\n matches(candidate) {\n return candidate === target;\n },\n };\n }\n}\n\nfunction assertUniqueDescriptorKeys(\n descriptors: readonly RegisterForTargetDescriptor[],\n): void {\n const seen = new Set<string>();\n for (const descriptor of descriptors) {\n if (seen.has(descriptor.key)) {\n throw new Error(\n `craftRegisterFor cannot contain duplicate group name \"${descriptor.key}\".`,\n );\n }\n seen.add(descriptor.key);\n }\n}\n\nfunction isServiceCandidate(\n candidate: unknown,\n): candidate is { readonly kind: 'service'; readonly name: string } {\n return (\n typeof candidate === 'object' &&\n candidate !== null &&\n Reflect.get(candidate, 'kind') === 'service' &&\n typeof Reflect.get(candidate, 'name') === 'string'\n );\n}\n\nfunction capitalize(value: string): string {\n return value ? value.charAt(0).toUpperCase() + value.slice(1) : value;\n}\n\nfunction throwIfNoInjectionContext(): void {\n assertInInjectionContext(throwIfNoInjectionContext);\n}\n\nfunction currentInjector() {\n return inject(Injector);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-render-identity.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-render-identity.ts"],"names":[],"mappings":"AAEA,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;UAXvB,SAAS,MAAM,EAAE;kBACT,MAAM;GAW+B,CAAC;AAEtD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACjC,mBAAmB,CAMrB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACxC,mBAAmB,CAErB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-render-identity.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-render-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,UAAU,CAAsB,kBAAkB,CAAC,CAAC;AAEtD,MAAM,UAAU,yBAAyB,CACvC,IAAkC;IAElC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA2B,EAC3B,GAAG,QAAsC;IAEzC,OAAO,yBAAyB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import { craftToken } from './host/craft-injector';\n\n/** A deterministic address for one node in a Craft render tree. */\nexport type CraftRenderIdentity = Readonly<{\n path: readonly string[];\n hydrationKey: string;\n}>;\n\n/**\n * Identity of the component currently being created.\n *\n * This deliberately lives beside, rather than inside, HOST_TAG_LIST: host tags\n * remain runtime/debug identities while hydration identities must be stable\n * across two different processes.\n */\nexport const CRAFT_HYDRATION_ID =\n craftToken<CraftRenderIdentity>('CraftHydrationId');\n\nexport function createCraftRenderIdentity(\n path: readonly (string | number)[],\n): CraftRenderIdentity {\n const normalized = path.map(String);\n return {\n path: normalized,\n hydrationKey: normalized.map(encodeHydrationSegment).join('/'),\n };\n}\n\nexport function childCraftRenderIdentity(\n parent: CraftRenderIdentity,\n ...segments: readonly (string | number)[]\n): CraftRenderIdentity {\n return createCraftRenderIdentity([...parent.path, ...segments]);\n}\n\nfunction encodeHydrationSegment(segment: string): string {\n return encodeURIComponent(segment).replaceAll('%2F', '%252F');\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-replay.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-replay.ts"],"names":[],"mappings":"AAcA,uDAAuD;AACvD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,GAAG,MAAM,CAOtE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-replay.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,uDAAuD;AACvD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAS,OAAqB;IAC5D,WAAW,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,WAAW,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["/**\n * Whether the application is currently restoring a recorded state.\n *\n * A replay writes values straight into primitives. Two things must know about\n * it: a resource loader, which would otherwise refetch and overwrite the value\n * just restored, and tooling, which would otherwise log a rewind as ordinary\n * user activity.\n *\n * The flag is a synchronous ambient because a restore IS synchronous — the\n * reactive graph flushes inside the write, so a loader triggered by a restored\n * parameter runs before the restore returns.\n */\nlet replayDepth = 0;\n\n/** `true` while a recorded state is being restored. */\nexport function isCraftReplaying(): boolean {\n return replayDepth > 0;\n}\n\n/** Runs `restore` with {@link isCraftReplaying} reporting `true`. */\nexport function ɵwithCraftReplay<Result>(restore: () => Result): Result {\n replayDepth += 1;\n try {\n return restore();\n } finally {\n replayDepth -= 1;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-resolve.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,mBAAmB,KACvB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1C,KAAK,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,CACxC,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,SAAS,CAAC,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GACnC,OAAO,GACP,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,EAAE,IAAI,EAAE,SAAS,CACvC,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,SAAS,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAClC,MAAM,GACN,KAAK,CAAC;AAEV;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,CAAC,EAAE,IAAI,CACrC,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,mBAAmB,KACvB,SAAS,CACZ,mBAAmB,CAAC,EAAE,CAAC,EACvB,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAC3C,OAAO,CACR,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,cAAc,EACpD,SAAS,EAAE,EAAE,GACZ,oBAAoB,CAAC,EAAE,CAAC,CAE1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-resolve.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-resolve.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAa;IAEb,OAAO,SAAgD,CAAC;AAC1D,CAAC","sourcesContent":["import type { ActivatedRouteSnapshot, RouterStateSnapshot } from './host/craft-router-types';\nimport type { StripCraftException } from './craft-exception';\n\n/**\n * The optional data step of a craft route. Mirrors a route's `canActivate` guard\n * but yields a value rather than a guard decision: it `yield*`s craft services and\n * `yield* craftUntilSettled(...)`, then returns the data the target component reads\n * through the generated `injectXxxResolvedData()` helper.\n *\n * Like the guards, it carries no inline exception handling — any `craftException`\n * it produces flows into the route's exhaustive `handleExceptions` map, and the\n * non-blocking {@link CraftRouterOutletController} drives it after the URL\n * commits (so the\n * target is rendered only once the data resolves).\n *\n * ```ts\n * resolve: craftResolve(function* () {\n * return yield* craftUntilSettled(CraftHttpClient.get<Profile>('/api/profile'));\n * }),\n * ```\n */\nexport type CraftResolveFn = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => Generator<unknown, unknown, unknown>;\n\ntype CraftResolveYielded<Fn> = Fn extends (\n ...args: any[]\n) => Generator<infer Yielded, any, any>\n ? Yielded\n : never;\n\ntype CraftResolveReturn<Fn> = Fn extends (\n ...args: any[]\n) => Generator<any, infer Output, any>\n ? Output\n : never;\n\n/**\n * The resolver returned by {@link craftResolve}. Its generator `Yielded`\n * preserves the resolve body's dependency requests *and* its\n * `CraftGenExceptionMarker`s (so route DI tracking and `handleExceptions`\n * exhaustiveness both see them); its return is the success value (exceptions\n * stripped) surfaced to `injectXxxResolvedData`.\n */\nexport type CraftResolveResultFn<Fn> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => Generator<\n CraftResolveYielded<Fn>,\n StripCraftException<CraftResolveReturn<Fn>>,\n unknown\n>;\n\n/**\n * Packages a resolve generator for the route's `resolve` field. Identity at\n * runtime (the outlet drives the generator); the precise return type carries the\n * resolved data + reachable exceptions for the route's type machinery.\n */\nexport function craftResolve<Fn extends CraftResolveFn>(\n resolveFn: Fn,\n): CraftResolveResultFn<Fn> {\n return resolveFn as unknown as CraftResolveResultFn<Fn>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-resource.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAIrB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAK7D,KAAK,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAC7C,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAC9B,QAAQ,GAAG,QAAQ,CACpB,GAAG;IACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EACzC,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,GAC3C,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAwRjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-resource.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-resource.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n effect,\n inject,\n Injector,\n type ResourceLoaderParams,\n type ResourceOptions,\n type ResourceSnapshot,\n type ResourceStatus,\n type Signal,\n} from './host/craft-compat';\nimport {\n craftBatch,\n craftComputed,\n craftSignal,\n craftWatch,\n untracked,\n} from './host/craft-signal';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport { isCraftReplaying } from './craft-replay';\nimport { ɵcraftInjectorFromHost } from './host/craft-injector-host';\nimport { CRAFT_PLATFORM, type CraftPlatform } from './craft-platform';\n\ntype CraftResourceOptions<Value, Params> = Omit<\n ResourceOptions<Value, Params>,\n 'loader' | 'stream'\n> & {\n loader?: (params: ResourceLoaderParams<Params>) => Value | PromiseLike<Value>;\n stream?: ResourceOptions<Value, Params>['stream'];\n /** @internal Source name used by the server policy gate. */\n ssrSourceName?: string;\n};\n\nexport function craftResource<Value, Params>(\n options: CraftResourceOptions<Value, Params>,\n): CraftResourceRef<Value, Params> {\n const injector = ɵcraftInjectorFromHost(options.injector ?? inject(Injector));\n const valueState = craftSignal<Value | undefined>(options.defaultValue, {\n equal: options.equal as\n | ((a: Value | undefined, b: Value | undefined) => boolean)\n | undefined,\n });\n const statusState = craftSignal<ResourceStatus>('idle');\n const errorState = craftSignal<Error | undefined>(undefined);\n const isLoading = craftComputed(() => {\n const status = statusState();\n return status === 'loading' || status === 'reloading';\n });\n let currentParams: Params | undefined;\n let hasCurrentParams = false;\n let destroyed = false;\n let requestVersion = 0;\n let abortController: AbortController | undefined;\n let stopStream: (() => void) | undefined;\n\n const finishWithError = (version: number, error: unknown): void => {\n if (destroyed || version !== requestVersion) return;\n craftBatch(() => {\n valueState.set(undefined);\n errorState.set(error instanceof Error ? error : new Error(String(error)));\n statusState.set('error');\n });\n };\n\n const startLoad = (params: Params, reload: boolean): void => {\n abortController?.abort();\n stopStream?.();\n stopStream = undefined;\n const controller = new AbortController();\n abortController = controller;\n const version = ++requestVersion;\n const previousStatus = statusState();\n // One transition, one notification. These writes describe a single state,\n // and every write notifies synchronously — a reader let in between them\n // sees a resource half in its old state and half in its new one, and code\n // it wakes (a cache restoring a value, say) is then overwritten by the\n // rest of this very function.\n craftBatch(() => {\n errorState.set(undefined);\n if (reload && valueState() !== undefined) {\n statusState.set('reloading');\n } else {\n statusState.set('loading');\n valueState.set(options.defaultValue);\n }\n });\n const loaderParams: ResourceLoaderParams<Params> = {\n params: params as Exclude<Params, undefined>,\n abortSignal: controller.signal,\n previous: { status: previousStatus },\n };\n\n if (options.loader) {\n let result: Value | PromiseLike<Value>;\n try {\n result = options.loader(loaderParams);\n } catch (error) {\n finishWithError(version, error);\n return;\n }\n Promise.resolve(result).then(\n (value) => {\n if (\n destroyed ||\n controller.signal.aborted ||\n version !== requestVersion\n ) {\n return;\n }\n craftBatch(() => {\n valueState.set(value);\n statusState.set('resolved');\n });\n },\n (error) => finishWithError(version, error),\n );\n return;\n }\n\n if (options.stream) {\n Promise.resolve(options.stream(loaderParams)).then(\n (stream) => {\n if (\n destroyed ||\n controller.signal.aborted ||\n version !== requestVersion\n ) {\n return;\n }\n const streamEffect = effect(\n () => {\n const item =\n typeof stream === 'function'\n ? stream()\n : { value: undefined as Value };\n if (!item) {\n return;\n }\n if ('error' in item) {\n finishWithError(version, item.error);\n } else {\n craftBatch(() => {\n valueState.set(item.value);\n statusState.set('resolved');\n });\n }\n },\n { injector },\n );\n stopStream = () => streamEffect.destroy();\n },\n (error) => finishWithError(version, error),\n );\n }\n };\n\n const synchronizeParams = (params: Params | undefined): void => {\n if (destroyed) return;\n if (hasCurrentParams && Object.is(currentParams, params)) return;\n currentParams = params;\n hasCurrentParams = true;\n // A replay restores a parameter and the value that belongs to it as one\n // pair. Claiming the parameter without loading is what `set` already does\n // for a locally set value — \"this value belongs to the params in force, do\n // not reload over it\" — and it is the same statement here.\n if (isCraftReplaying()) return;\n if (params === undefined) {\n abortController?.abort();\n ++requestVersion;\n craftBatch(() => {\n errorState.set(undefined);\n if (statusState() !== 'local') {\n valueState.set(options.defaultValue);\n statusState.set('idle');\n }\n });\n return;\n }\n startLoad(params, false);\n };\n\n // The params source is a craft signal like everything else, so one watch\n // keeps the resource in step with it. This used to be an Angular linkedSignal,\n // an effect reading it, and a craft watch underneath — three ways of noticing\n // the same change, needed only while two reactive systems had to agree.\n const startParamsWatch = () =>\n options.params\n ? craftWatch(() => {\n const params = options.params!();\n untracked(() => synchronizeParams(params));\n })\n : undefined;\n let paramsWatch: ReturnType<typeof craftWatch> | undefined;\n const platform = injector.get(CRAFT_PLATFORM, null) as CraftPlatform | null;\n if (\n platform?.kind === 'server' &&\n platform.serverResources &&\n options.params &&\n options.ssrSourceName\n ) {\n platform.serverResources.defer(options.ssrSourceName, () => {\n if (!destroyed) paramsWatch = startParamsWatch();\n });\n } else if (platform?.hydrating && options.params) {\n // The transfer registry is primed synchronously while the component tree\n // is being created. Delaying only this first observation lets a restored\n // query claim its params/value pair before a loader can issue a duplicate\n // request. Subsequent param changes remain fully synchronous.\n queueMicrotask(() => {\n if (!destroyed) paramsWatch = startParamsWatch();\n });\n } else {\n paramsWatch = startParamsWatch();\n }\n\n // Readers are the state signals themselves. They used to be wrappers that\n // mirrored each value into an Angular signal AND re-synchronized the params on\n // every read — a lazy pull that could restart a load from inside an unrelated\n // read, wiping whatever was being written at the time.\n const value = craftComputed(() => valueState());\n const status = craftComputed(() => statusState());\n const publicIsLoading = isLoading;\n const error = craftComputed(() => errorState());\n const snapshot = craftComputed(\n () =>\n (status() === 'error'\n ? { status: 'error', error: errorState() }\n : { status: status(), value: value() }) as ResourceSnapshot<\n Value | undefined\n >,\n );\n const destroy = (): void => {\n if (destroyed) return;\n destroyed = true;\n abortController?.abort();\n stopStream?.();\n ++requestVersion;\n craftBatch(() => {\n valueState.set(options.defaultValue);\n errorState.set(undefined);\n statusState.set('idle');\n });\n paramsWatch?.destroy();\n };\n const publish = (next: Value | undefined, status: ResourceStatus): void => {\n abortController?.abort();\n stopStream?.();\n stopStream = undefined;\n ++requestVersion;\n // Claim the params before publishing: a locally set value belongs to the\n // params in force, so the watch must not read the write back as a new\n // request and reload over it.\n if (options.params) {\n currentParams = untracked(() => options.params!());\n hasCurrentParams = true;\n }\n craftBatch(() => {\n valueState.set(next);\n errorState.set(undefined);\n statusState.set(status);\n });\n };\n const set = (next: Value | undefined): void => publish(next, 'local');\n /**\n * Puts back a value the resource had produced itself, rather than one an\n * application decided. `set` means \"this is mine now\" and marks the resource\n * local, which detaches it from its loader for good; a restored value came\n * FROM the loader, so it settles as resolved and the resource stays attached.\n */\n const restore = (next: Value | undefined): void => publish(next, 'resolved');\n const update = (\n updater: (value: Value | undefined) => Value | undefined,\n ): void => set(updater(untracked(valueState)));\n const reload = (): boolean => {\n if (destroyed || !hasCurrentParams || currentParams === undefined) {\n return false;\n }\n startLoad(currentParams, true);\n return true;\n };\n\n const resourceRef = {\n value,\n hasValue: () => status() !== 'error' && value() !== undefined,\n snapshot,\n status,\n // Internal channel only: `error` is not part of the CraftResourceRef surface\n // (replaced by the exceptions API) but stays on the object at runtime so\n // `craftUntilSettled` can rethrow a residual technical failure.\n error,\n isLoading: publicIsLoading,\n reload,\n destroy,\n update,\n set,\n restore,\n asReadonly: () => resourceRef,\n paramSrc: options.params as Signal<Params | undefined>,\n state: value,\n };\n Object.defineProperties(resourceRef, {\n __craftRawValue: {\n value: valueState,\n enumerable: false,\n configurable: true,\n },\n __craftRawStatus: {\n value: statusState,\n enumerable: false,\n configurable: true,\n },\n });\n\n injector.get(DestroyRef).onDestroy(destroy);\n return resourceRef as unknown as CraftResourceRef<Value, Params>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-exceptions.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,KAAK,MAAM,EACX,KAAK,IAAI,EACT,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAClC,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;GAaG;AAMH,8DAA8D;AAC9D,MAAM,MAAM,iCAAiC,CAAC,aAAa,GAAG,MAAM,IAChE;IACE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CACnC,qBAAqB,GAAG;QAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAA;KAAE,CACtE,CAAC;IACF,wEAAwE;IACxE,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC,CAAC;AAEN,MAAM,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AAE7E,sEAAsE;AACtE,MAAM,MAAM,0BAA0B,GAClC,qBAAqB,GACrB,CAAC,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAAC,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAA;CAAE,GACrE;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,iCAAiC,CAAC;CACvD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9B,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC;AACjD,KAAK,uBAAuB,CAAC,IAAI,SAAS,qBAAqB,CAAC,MAAM,CAAC,IACrE,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,CAAC,SAAS,SAAS,iBAAiB,IAC1E;IACE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS;QAAE,OAAO,EAAE,MAAM,OAAO,CAAA;KAAE,GAC1D,OAAO,GACP,OAAO,CAAC;IACZ,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACrD,UAAU,CAAC,KAAK,SAAS,uBAAuB,CAAC,kBAAkB,CAAC,EAClE,KAAK,EAAE,KAAK,GACX,SAAS,CACV,uBAAuB,EACvB,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR,CAAC;IACF,WAAW,CACT,MAAM,EAAE,YAAY,GAAG,MAAM,GAC5B,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACvC,eAAe,CACb,SAAS,EAAE,iCAAiC,GAC3C,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEJ;;;GAGG;AACH,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,KAAK,0BAA0B,CAAC,SAAS,SAAS,iBAAiB,IAAI;IACrE,SAAS;CACV,SAAS,CAAC,KAAK,CAAC,GACb,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,CAC/B,SAAS,SAAS,iBAAiB,EACnC,MAAM,SAAS,SAAS,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,SAAS,CACvE,OAAO,EACP,qBAAqB,EACrB,OAAO,CACR,IACC,CAAC,CAAC,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG;IACnE,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC;CAC1C,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,SAAS,SAAS,iBAAiB,GAAG,iBAAiB,EACvD,MAAM,SAAS,SAAS,CAAC,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,SAAS,CACvE,OAAO,EACP,qBAAqB,EACrB,OAAO,CACR,EAED,OAAO,EAAE,CACP,OAAO,EAAE,4BAA4B,CACnC,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAC/C,KACE,MAAM,GACV,qBAAqB,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAKtE;AAED,oFAAoF;AACpF,eAAO,MAAM,wBAAwB;mCACb,YAAY,GAAG,MAAM;;;;0BAMzC,KAAK,SAAS,uBAAuB,CAAC,kBAAkB,CAAC,SAElD,KAAK,KACX,SAAS,CACV,uBAAuB,EACvB,uBAAuB,CAAC,UAAU,CAAC,EACnC,OAAO,CACR;0CAKY,4BAA4B,KACtC,uBAAuB,CAAC,QAAQ,CAAC;gCACnB,uBAAuB,CAAC,QAAQ,CAAC;yBACxC,uBAAuB,CAAC,MAAM,CAAC;yBAC/B,uBAAuB,CAAC,MAAM,CAAC;CACjC,CAAC;AAMX,KAAK,mBAAmB,CAAC,SAAS,IAAI,SAAS,SAAS;IACtD,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC;CACjC,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,qBAAqB,CAAC,SAAS,EAAE,IAAI,SAAS,MAAM,IAAI,OAAO,CAClE,SAAS,EACT;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CACf,CAAC;AAEF,qFAAqF;AACrF,KAAK,iBAAiB,CAAC,KAAK,IAAI,KAAK,SAAS,CAC5C,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,SAAS,CAAC,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GACnC,OAAO,GACP,KAAK,CAAC;AAEV,sEAAsE;AACtE,KAAK,oBAAoB,CAAC,KAAK,IAAI,yBAAyB,CAC1D,iBAAiB,CAAC,KAAK,CAAC,CACzB,CAAC;AAEF,KAAK,uBAAuB,CAAC,IAAI,SAAS,MAAM,IAAI,cAAc,CAAC;IACjE,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC,CAAC;AAEH,KAAK,wBAAwB,CAAC,eAAe,IAAI;IAC/C,qBAAqB,CAAC,eAAe,CAAC;CACvC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL,qBAAqB,CAAC,eAAe,CAAC,SAAS,MAAM,KAAK,SAAS,MAAM,GACvE,uBAAuB,CAAC,KAAK,CAAC,GAC9B,KAAK,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,eAAe,IAC3C,wBAAwB,CAAC,eAAe,CAAC,GACzC,CAAC,eAAe,SAAS;IAAE,WAAW,EAAE,MAAM,KAAK,CAAA;CAAE,GACjD,oBAAoB,CAAC,KAAK,CAAC,GAC3B,KAAK,CAAC,GACV,CAAC,eAAe,SAAS;IAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;CAAE,GAC9C,oBAAoB,CAAC,KAAK,CAAC,GAC3B,KAAK,CAAC,GACV,CAAC,eAAe,SAAS;IAAE,OAAO,EAAE,MAAM,KAAK,CAAA;CAAE,GAC7C,oBAAoB,CAAC,KAAK,CAAC,GAC3B,KAAK,CAAC,CAAC;AAEf;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,iBAAiB,IAAI;KAC1E,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,qBAAqB,CAC7D,OAAO,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,CACnE;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,CAClC,QAAQ,EACR,SAAS,SAAS,iBAAiB,IACjC;KACD,IAAI,IAAI,MAAM,QAAQ,IAAI,IAAI,SAAS,mBAAmB,CAAC,SAAS,CAAC,GAClE,KAAK,GACL,IAAI,GAAG,KAAK;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,CAAC,eAAe,IAAI;IACpD,mBAAmB,CAAC,eAAe,CAAC;CACrC,SAAS,CAAC,KAAK,CAAC,GACb,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACpB,yBAAyB,CACvB,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CACjE,CAAC;AAcN,KAAK,mBAAmB,CAAC,eAAe,IAAI,mBAAmB,CAC7D,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CACjE,CAAC;AAEF,KAAK,iBAAiB,CAAC,eAAe,IAAI,eAAe,SAAS;IAChE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;CAClC,GACG,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,GAC/B,KAAK,CAAC;AAEV,KAAK,WAAW,CAAC,eAAe,IAAI,eAAe,SAAS;IAC1D,IAAI,EAAE,MAAM,IAAI,SAAS,MAAM,CAAC;CACjC,GACG,IAAI,GACJ,MAAM,CAAC;AAIX,KAAK,oBAAoB,CAAC,eAAe,IAAI;IAC3C,mBAAmB,CAAC,eAAe,CAAC;CACrC,SAAS,CAAC,KAAK,CAAC,GACb,KAAK,GACL;IACI,OAAO,CACL,mBAAmB,CAAC,eAAe,CAAC,EACpC,iBAAiB,CAAC,eAAe,CAAC,CACnC;CACF,SAAS,CAAC,KAAK,CAAC,GACjB;IACE,OAAO,CACL,iBAAiB,CAAC,eAAe,CAAC,EAClC,mBAAmB,CAAC,eAAe,CAAC,CACrC;CACF,SAAS,CAAC,KAAK,CAAC,GACf,KAAK,GACL;IACE,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACpC,kBAAkB,EAAE,OAAO,CACzB,iBAAiB,CAAC,eAAe,CAAC,EAClC,mBAAmB,CAAC,eAAe,CAAC,CACrC,CAAC;CACH,GACH;IACE,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACpC,eAAe,EAAE,OAAO,CACtB,mBAAmB,CAAC,eAAe,CAAC,EACpC,iBAAiB,CAAC,eAAe,CAAC,CACnC,CAAC;CACH,CAAC;AAER,KAAK,4BAA4B,CAAC,MAAM,IAAI,MAAM,SAAS,SAAS,OAAO,EAAE,GACzE;KAAG,KAAK,IAAI,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,GACxE,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CAAC,SAAS,IAAI,SAAS,SAAS;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAC;CAChC,GACG,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpE,OAAO,GACP;IACE,yCAAyC,EAAE,OAAO,CAChD,4BAA4B,CAAC,MAAM,CAAC,EACpC,KAAK,CACN,CAAC;CACH,GACH,OAAO,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EACvD,MAAM,EAAE,SAAS,GAAG,6BAA6B,CAAC,SAAS,CAAC,GAC3D,SAAS,CAEX;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,4BAA4B;CAAG;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,CACjC,SAAS,EACT,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,IACjB,SAAS,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,MAAM,CAAA;CAAE,GACpD,MAAM,SAAS,SAAS,OAAO,EAAE,GAC/B,OAAO,CACL,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,EAC5D;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CACf,GACD,KAAK,GACP,KAAK,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;KACvC,IAAI,IAAI,MAAM,4BAA4B,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC,MAAM,4BAA4B,CAAC,IAAI,CAAC,CAAC;CAC3H,CAAC,MAAM,4BAA4B,CAAC,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,0DAK7B,CAAC;AAEH;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,2BAA2B,CAAC,CAI5E;AAkBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA2C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-exceptions.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,EACd,MAAM,GAIP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,GAKZ,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACL,eAAe,IAAI,cAAc,GAWlC,MAAM,iBAAiB,CAAC;AA+HzB,uFAAuF;AACvF,MAAM,UAAU,qBAAqB,CAQnC,OAIW;IAEX,OAAO,OAGN,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,CAAC,MAA6B,EAAE,EAAE,CAC7C,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,MAAM;KACP,CAAU;IACb,UAAU,EAAE,QAAQ,CAAC,EAGnB,KAAY;QAMZ,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,KAAc,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IACD,eAAe,EAAE,CACf,SAAuC,EACJ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACvE,WAAW,EAAE,GAAsC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1E,IAAI,EAAE,GAAoC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC/D,IAAI,EAAE,GAAoC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;CACvD,CAAC;AAsLX;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAA4D;IAE5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAoDD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAElD,oBAAoB,EAAE;IACtB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAA2B,IAAI,CAAC;CACtD,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CACX,kBAAkB,CAC+B,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG,cAAc,CAAC;IAC7C,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,GAAwC,EAAE,CAChD,MAAM,CACJ,kBAAkB,CAC+B;CACtD,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,gBAAgB,CAAC","sourcesContent":["import {\n inject,\n InjectionToken,\n signal,\n type Signal,\n type Type,\n type WritableSignal,\n} from './host/craft-compat';\nimport {\n CraftRouter,\n type CraftRouterUrlTreeInput,\n type CraftRouterYieldRequest,\n type CraftUrlTree,\n type NavigableRoutePath,\n} from './craft-router';\nimport type { AnyCraftException, CraftException } from './craft-exception';\nimport type { ExtractCraftGenExceptions } from './craft-gen';\nimport type { ComponentExceptionsOf } from './branded-component/branded-component';\nimport type {\n CraftRouteTarget,\n CraftRouteTargetInput,\n} from './craft-route-target';\nimport {\n ɵtoCraftService as toCraftService,\n // These marker symbols are imported type-only so the generated\n // `CraftGlobalError` helper's inferred type is nameable in this\n // module's `.d.ts` (otherwise TS4023 — same recipe as `craft-router.ts`).\n type SERVICE_DEPENDENCY_ACCESS_MARKER,\n type SERVICE_EXPOSURE_TOKEN_MARKER,\n type SERVICE_HELPER_DEPENDENCIES,\n type SERVICE_META_DATA_TYPE,\n type SERVICE_RUNTIME_META,\n type SERVICE_YIELD_METADATA,\n type SERVICE_YIELD_REQUEST_MARKER,\n} from './craft-service';\n\n/**\n * Centralised, typed exception handling for craft routes.\n *\n * A craft route keeps `canActivate` / `canMatch` / `resolve` as its writing API\n * — each may throw a `craftException`. Instead of an inline resolver map per\n * guard, a single **`handleExceptions`** map on the route resolves the **union**\n * of every code reachable from those three steps, exhaustively (a missing or\n * extra code is a compile error). Each handler picks an {@link CraftExceptionOutcome}.\n *\n * Outcomes delegated to the application-wide error component (`globalError()`)\n * are mirrored into the {@link CraftGlobalExceptionRegistry} by an ESLint\n * autofix, so the global error component can read **all** of its possible\n * exceptions, typed, via {@link injectCraftGlobalError}.\n */\n\n// ---------------------------------------------------------------------------\n// Outcomes (issues) a handler can choose\n// ---------------------------------------------------------------------------\n\n/** A DI-checked component rendered on an exception branch. */\nexport type CraftExceptionComponentDescriptor<ComponentDeps = object> =\n | {\n readonly component: CraftRouteTargetInput;\n readonly loadComponent?: never;\n /** @deprecated Functional components carry this metadata themselves. */\n readonly componentDeps?: ComponentDeps;\n }\n | {\n readonly component?: never;\n readonly loadComponent: () => Promise<\n CraftRouteTargetInput | { default: Type<unknown> | CraftRouteTarget }\n >;\n /** @deprecated Functional components carry this metadata themselves. */\n readonly componentDeps?: ComponentDeps;\n };\n\nexport type CraftExceptionComponentInput = CraftExceptionComponentDescriptor;\n\n/** Existing pending-component input; pending DI has its own check. */\nexport type CraftPendingComponentInput =\n | CraftRouteTargetInput\n | (() => Promise<{ default: CraftRouteTargetInput }>);\n\n/**\n * What a route exception handler resolves an exception to:\n *\n * - `redirect` — navigate to a typed internal route or an explicit opaque URL.\n * - `render` — render a dedicated component instead of the target.\n * - `global` — render the application-wide error component (see the registry).\n * - `stay` — cancel the navigation; stay on the triggering page (restore URL).\n * - `noop` — render the target anyway, with resolve data left `undefined`.\n */\nexport type CraftExceptionOutcome =\n | { readonly kind: 'redirect'; readonly target: CraftUrlTree | string }\n | {\n readonly kind: 'render';\n readonly component: CraftExceptionComponentDescriptor;\n }\n | { readonly kind: 'global' }\n | { readonly kind: 'stay' }\n | { readonly kind: 'noop' };\n\n/** Distinguishes the initial route entry from a reactive guard re-evaluation. */\nexport type CraftRoutePhase = 'enter' | 'active';\ntype CraftExceptionOutcomeOf<Kind extends CraftExceptionOutcome['kind']> =\n Extract<CraftExceptionOutcome, { kind: Kind }>;\n\n/**\n * The argument handed to each `handleExceptions` handler: the typed exception\n * being handled, the navigation `phase`, the Angular-native redirect helpers,\n * and the outcome constructors (`redirectTo`, `redirectUrl`, `renderComponent`, `globalError`,\n * `stay`, `noop`).\n */\nexport type CraftExceptionHandlerContext<Exception extends AnyCraftException> =\n {\n readonly exception: Exception;\n readonly payload: Exception extends { payload: infer Payload }\n ? Payload\n : unknown;\n /** `'enter'` for the initial activation, `'active'` for a reactive re-check. */\n readonly phase: CraftRoutePhase;\n readonly router: CraftRouter;\n readonly createUrlTree: CraftRouter['createUrlTree'];\n readonly navigate: CraftRouter['navigate'];\n readonly navigateByUrl: CraftRouter['navigateByUrl'];\n redirectTo<Input extends CraftRouterUrlTreeInput<NavigableRoutePath>>(\n input: Input,\n ): Generator<\n CraftRouterYieldRequest,\n CraftExceptionOutcomeOf<'redirect'>,\n unknown\n >;\n redirectUrl(\n target: CraftUrlTree | string,\n ): CraftExceptionOutcomeOf<'redirect'>;\n renderComponent(\n component: CraftExceptionComponentDescriptor,\n ): CraftExceptionOutcomeOf<'render'>;\n globalError(): CraftExceptionOutcomeOf<'global'>;\n stay(): CraftExceptionOutcomeOf<'stay'>;\n noop(): CraftExceptionOutcomeOf<'noop'>;\n };\n\n/**\n * A single branded generator handler. Its service yields are preserved exactly\n * and folded into the route's DI and HTTP dependency maps.\n */\ndeclare const CRAFT_EXCEPTION_HANDLER: unique symbol;\ntype NormalizedHandlerException<Exception extends AnyCraftException> = [\n Exception,\n] extends [never]\n ? AnyCraftException\n : Exception;\n\nexport type CraftExceptionHandler<\n Exception extends AnyCraftException,\n Result extends Generator<any, CraftExceptionOutcome, unknown> = Generator<\n unknown,\n CraftExceptionOutcome,\n unknown\n >,\n> = ((context: CraftExceptionHandlerContext<Exception>) => Result) & {\n readonly [CRAFT_EXCEPTION_HANDLER]: true;\n};\n\n/** Brands a generator as a route exception handler while preserving its exact type. */\nexport function craftExceptionHandler<\n Exception extends AnyCraftException = AnyCraftException,\n Result extends Generator<any, CraftExceptionOutcome, unknown> = Generator<\n unknown,\n CraftExceptionOutcome,\n unknown\n >,\n>(\n handler: (\n context: CraftExceptionHandlerContext<\n NoInfer<NormalizedHandlerException<Exception>>\n >,\n ) => Result,\n): CraftExceptionHandler<NormalizedHandlerException<Exception>, Result> {\n return handler as CraftExceptionHandler<\n NormalizedHandlerException<Exception>,\n Result\n >;\n}\n\n/** The pure outcome constructors, merged into the handler context by the driver. */\nexport const craftExceptionOutcomeApi = {\n redirectUrl: (target: CraftUrlTree | string) =>\n ({\n kind: 'redirect',\n target,\n }) as const,\n redirectTo: function* <\n Input extends CraftRouterUrlTreeInput<NavigableRoutePath>,\n >(\n input: Input,\n ): Generator<\n CraftRouterYieldRequest,\n CraftExceptionOutcomeOf<'redirect'>,\n unknown\n > {\n const target = yield* CraftRouter.createUrlTree(input as never);\n return { kind: 'redirect', target };\n },\n renderComponent: (\n component: CraftExceptionComponentInput,\n ): CraftExceptionOutcomeOf<'render'> => ({ kind: 'render', component }),\n globalError: (): CraftExceptionOutcomeOf<'global'> => ({ kind: 'global' }),\n stay: (): CraftExceptionOutcomeOf<'stay'> => ({ kind: 'stay' }),\n noop: (): CraftExceptionOutcomeOf<'noop'> => ({ kind: 'noop' }),\n} as const;\n\n// ---------------------------------------------------------------------------\n// Exception-union extraction + exhaustive handler map\n// ---------------------------------------------------------------------------\n\ntype CraftExceptionCodes<Exception> = Exception extends {\n _tag: infer Code extends string;\n}\n ? Code\n : never;\n\ntype CraftExceptionForCode<Exception, Code extends string> = Extract<\n Exception,\n { _tag: Code }\n>;\n\n/** `Yielded` of a generator-returning route field (canActivate/canMatch/resolve). */\ntype RouteFieldYielded<Field> = Field extends (\n ...args: any[]\n) => Generator<infer Yielded, any, any>\n ? Yielded\n : never;\n\n/** The `craftException`s a single guard/resolve field may produce. */\ntype RouteFieldExceptions<Field> = ExtractCraftGenExceptions<\n RouteFieldYielded<Field>\n>;\n\ntype ComponentRouteException<Code extends string> = CraftException<{\n _tag: Code;\n scope: undefined;\n}>;\n\ntype RouteComponentExceptions<RouteDefinition> = [\n ComponentExceptionsOf<RouteDefinition>,\n] extends [never]\n ? never\n : ComponentExceptionsOf<RouteDefinition> extends infer Codes extends string\n ? ComponentRouteException<Codes>\n : never;\n\n/**\n * The full union of `craftException`s reachable from a route's component,\n * `canActivate ∪ canMatch ∪ resolve`. `handleExceptions` must resolve exactly\n * these codes.\n */\nexport type RouteExceptionUnion<RouteDefinition> =\n | RouteComponentExceptions<RouteDefinition>\n | (RouteDefinition extends { canActivate: infer Field }\n ? RouteFieldExceptions<Field>\n : never)\n | (RouteDefinition extends { canMatch: infer Field }\n ? RouteFieldExceptions<Field>\n : never)\n | (RouteDefinition extends { resolve: infer Field }\n ? RouteFieldExceptions<Field>\n : never);\n\n/**\n * The exhaustive handler map for an exception union: one handler per reachable\n * code. A missing key is a compile error; pair with {@link NoExtraExceptionHandlers}\n * at the definition site to also reject codes that cannot occur.\n */\nexport type HandledExceptionsForUnion<Exception extends AnyCraftException> = {\n [Code in CraftExceptionCodes<Exception>]: CraftExceptionHandler<\n Extract<CraftExceptionForCode<Exception, Code>, AnyCraftException>\n >;\n};\n\n/**\n * Forces every key of the supplied `Handlers` literal that is **not** a reachable\n * code to `never`, so an extra handler is a compile error. Intersect with\n * {@link HandledExceptionsForUnion} at the field's definition site.\n */\nexport type NoExtraExceptionHandlers<\n Handlers,\n Exception extends AnyCraftException,\n> = {\n [Code in keyof Handlers as Code extends CraftExceptionCodes<Exception>\n ? never\n : Code]: never;\n};\n\n/**\n * The `handleExceptions` field type for a route definition: exhaustive over the\n * union of its guard/resolve exception codes. `[Exception] extends [never]`\n * short-circuits to an empty object so a route without typed exceptions needs no\n * `handleExceptions`.\n */\nexport type RouteHandledExceptions<RouteDefinition> = [\n RouteExceptionUnion<RouteDefinition>,\n] extends [never]\n ? Record<never, never>\n : HandledExceptionsForUnion<\n Extract<RouteExceptionUnion<RouteDefinition>, AnyCraftException>\n >;\n\n// ---------------------------------------------------------------------------\n// Post-inference exhaustiveness check\n//\n// `handleExceptions` cannot be validated by a self-referential field constraint\n// at `craftRoute(path, def)` — the reachable-code union is derived from the *same*\n// `def` being inferred, which TypeScript can only resolve as `never` (the\n// contextual type is needed before inference completes). Instead the field is\n// typed loosely (so handlers stay usable) and exhaustiveness is asserted once the\n// whole collection is inferred, mirroring this codebase's `ValidateCascadeRoutesFile`\n// DI check: `assertExhaustiveRouteExceptions(demoRoutes)`.\n// ---------------------------------------------------------------------------\n\ntype RouteReachableCodes<RouteDefinition> = CraftExceptionCodes<\n Extract<RouteExceptionUnion<RouteDefinition>, AnyCraftException>\n>;\n\ntype RouteHandledCodes<RouteDefinition> = RouteDefinition extends {\n handleExceptions: infer Handlers;\n}\n ? Extract<keyof Handlers, string>\n : never;\n\ntype RoutePathOf<RouteDefinition> = RouteDefinition extends {\n path: infer Path extends string;\n}\n ? Path\n : string;\n\n// `never` when a route's handlers cover exactly its reachable codes; otherwise an\n// object describing the missing or unexpected codes (surfaced in the type error).\ntype RouteExceptionsError<RouteDefinition> = [\n RouteReachableCodes<RouteDefinition>,\n] extends [never]\n ? never\n : [\n Exclude<\n RouteReachableCodes<RouteDefinition>,\n RouteHandledCodes<RouteDefinition>\n >,\n ] extends [never]\n ? [\n Exclude<\n RouteHandledCodes<RouteDefinition>,\n RouteReachableCodes<RouteDefinition>\n >,\n ] extends [never]\n ? never\n : {\n route: RoutePathOf<RouteDefinition>;\n unexpectedHandlers: Exclude<\n RouteHandledCodes<RouteDefinition>,\n RouteReachableCodes<RouteDefinition>\n >;\n }\n : {\n route: RoutePathOf<RouteDefinition>;\n missingHandlers: Exclude<\n RouteReachableCodes<RouteDefinition>,\n RouteHandledCodes<RouteDefinition>\n >;\n };\n\ntype CollectRouteExceptionsErrors<Routes> = Routes extends readonly unknown[]\n ? { [Index in keyof Routes]: RouteExceptionsError<Routes[Index]> }[number]\n : never;\n\n/**\n * `unknown` when every route in the collection handles exactly its reachable\n * exception codes; otherwise an error object listing the offending routes. Used\n * by {@link assertExhaustiveRouteExceptions}.\n */\nexport type AssertRoutesExceptionsHandled<RoutesApp> = RoutesApp extends {\n readonly _routes: infer Routes;\n}\n ? [Exclude<CollectRouteExceptionsErrors<Routes>, never>] extends [never]\n ? unknown\n : {\n ERROR_unhandled_or_extra_route_exceptions: Exclude<\n CollectRouteExceptionsErrors<Routes>,\n never\n >;\n }\n : unknown;\n\n/**\n * Asserts (at compile time) that every route's `handleExceptions` covers exactly\n * the exception codes reachable from its component and its\n * `canActivate` / `canMatch` / `resolve`.\n * A missing or extra code makes `routes` un-assignable, surfacing the offending\n * route + codes in the error.\n *\n * ```ts\n * export const { demoRoutes } = craftRoutes('demo', [ … ]);\n * assertExhaustiveRouteExceptions(demoRoutes);\n * ```\n */\nexport function assertExhaustiveRouteExceptions<RoutesApp>(\n routes: RoutesApp & AssertRoutesExceptionsHandled<RoutesApp>,\n): RoutesApp {\n return routes;\n}\n\n// ---------------------------------------------------------------------------\n// Global exception registry + global error component access\n// ---------------------------------------------------------------------------\n\n/**\n * Mirrors the codes a route delegates to the global error component (handlers\n * that call `globalError()`), keyed by route path:\n *\n * ```ts\n * declare module '@craft-ts/core' {\n * interface CraftGlobalExceptionRegistry {\n * 'user/:userId': {\n * USER_DISABLED: CraftRouteExceptionType<typeof demoRoutes, 'user/:userId', 'USER_DISABLED'>;\n * };\n * }\n * }\n * ```\n *\n * Maintained automatically by the `global-exception-registry-match` ESLint\n * autofix — do not edit by hand.\n */\nexport interface CraftGlobalExceptionRegistry {}\n\n/**\n * The typed exception object for a `code` on a route `Path` of a `craftRoutes`\n * collection. Resolves through the collection's phantom `_routes`, so the ESLint\n * autofix can write `CraftRouteExceptionType<typeof demoRoutes, '<path>', '<code>'>`\n * from literals alone (no type checker needed).\n */\nexport type CraftRouteExceptionType<\n RoutesApp,\n Path extends string,\n Code extends string,\n> = RoutesApp extends { readonly _routes: infer Routes }\n ? Routes extends readonly unknown[]\n ? Extract<\n RouteExceptionUnion<Extract<Routes[number], { path: Path }>>,\n { _tag: Code }\n >\n : never\n : never;\n\n/**\n * The union of every exception delegated to the global error component, across\n * all registered routes and codes. `never` until the registry is augmented.\n */\nexport type CraftGlobalHandledException = {\n [Path in keyof CraftGlobalExceptionRegistry]: CraftGlobalExceptionRegistry[Path][keyof CraftGlobalExceptionRegistry[Path]];\n}[keyof CraftGlobalExceptionRegistry];\n\n/**\n * The signal the outlet fills with the active global exception just before it\n * renders the global error component. Runtime-typed loosely; the typed view is\n * exposed by {@link injectCraftGlobalError}.\n */\nexport const CRAFT_GLOBAL_ERROR = new InjectionToken<\n WritableSignal<AnyCraftException | null>\n>('CRAFT_GLOBAL_ERROR', {\n providedIn: 'root',\n factory: () => signal<AnyCraftException | null>(null),\n});\n\n/**\n * Reads the exception that routed to the global error component, typed as the\n * exhaustive union of everything the {@link CraftGlobalExceptionRegistry}\n * records. Discriminate on `error().code`.\n *\n * ```ts\n * readonly error = injectCraftGlobalError();\n * // switch (this.error().code) { case 'USER_DISABLED': … }\n * ```\n */\nexport function injectCraftGlobalError(): Signal<CraftGlobalHandledException> {\n return inject(\n CRAFT_GLOBAL_ERROR,\n ) as unknown as Signal<CraftGlobalHandledException>;\n}\n\n/**\n * Adapts the same {@link CRAFT_GLOBAL_ERROR} token as a craft dependency named\n * `CraftGlobalError`, so the global exception can be read from a generator body\n * the way a `toCraftService` dependency is — see {@link CraftGlobalError}.\n * Typed as the exhaustive {@link CraftGlobalHandledException} view, matching\n * {@link injectCraftGlobalError}.\n */\nconst craftGlobalErrorService = toCraftService({\n name: 'CraftGlobalError',\n providedIn: 'global',\n inject: (): Signal<CraftGlobalHandledException> =>\n inject(\n CRAFT_GLOBAL_ERROR,\n ) as unknown as Signal<CraftGlobalHandledException>,\n});\n\n/**\n * Generator counterpart to {@link injectCraftGlobalError}. Reads the exception\n * routed to the global error component from inside a `function*` body:\n *\n * ```ts\n * const error = yield* CraftGlobalError();\n * // switch (error().code) { case 'USER_DISABLED': … }\n * ```\n *\n * Same typed view as {@link injectCraftGlobalError} — the exhaustive union\n * recorded in {@link CraftGlobalExceptionRegistry} — and it tracks as a\n * `CraftGlobalError` dependency, exactly like the property form.\n */\nexport const CraftGlobalError = craftGlobalErrorService.CraftGlobalError;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-load-error.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-load-error.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-load-error.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-load-error.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n computed,\n EnvironmentInjector,\n inject,\n InjectionToken,\n signal,\n type Signal,\n type Type,\n type ValueProvider,\n type WritableSignal,\n} from './host/craft-compat';\nimport { craftException, isCraftException } from './craft-exception';\nimport {\n CRAFT_DYNAMIC_IMPORT,\n createCraftLoadRetry,\n createRetryLazyLoadHelpers,\n INITIAL_LAZY_LOAD_HELPERS,\n isCraftLoadRetry,\n isCraftLoadRetryType,\n type CraftLazyLoadHelpers,\n type CraftLoadRetry,\n type CraftLoadRetryConfig,\n type CraftLoadRetryContextBase,\n type CraftLoadRetryOptions,\n} from './craft-load-retry';\nimport { craftLoadingFeature, type CraftLoadingFeature } from './craft-pending';\nimport type { CraftExceptionComponentDescriptor } from './craft-route-exceptions';\nimport { CRAFT_ROUTER } from './craft-router-tokens';\nimport {\n ɵtoCraftService as toCraftService,\n type SERVICE_DEPENDENCY_ACCESS_MARKER,\n type SERVICE_EXPOSURE_TOKEN_MARKER,\n type SERVICE_HELPER_DEPENDENCIES,\n type SERVICE_META_DATA_TYPE,\n type SERVICE_RUNTIME_META,\n type SERVICE_YIELD_METADATA,\n type SERVICE_YIELD_REQUEST_MARKER,\n} from './craft-service';\n\nconst CRAFT_ROUTE_DYNAMIC_IMPORT_RETRY_PARAM = '__craft_route_retry';\n\nexport const CRAFT_ROUTE_LOAD_ERROR_CODE = 'CRAFT_ROUTE_LOAD_ERROR' as const;\nexport const CRAFT_ROUTE_LOAD_ERROR_PATH = '__craft/route-load-error';\n\nexport type CraftRouteLoadPhase = 'component' | 'children';\n\nexport interface CraftRouteLoadErrorPayload {\n readonly phase: CraftRouteLoadPhase;\n readonly routePath: string;\n readonly targetUrl: string;\n readonly cause: unknown;\n readonly attempt: number;\n}\n\nexport type CraftRouteLoadError = ReturnType<typeof createRouteLoadError>;\n\n/**\n * The route lazy-load helpers. Structurally identical to the generic\n * {@link CraftLazyLoadHelpers}; kept as a named alias for the public route API.\n */\nexport type CraftRouteLazyLoadHelpers = CraftLazyLoadHelpers;\n\n/**\n * The route flavour of {@link CRAFT_DYNAMIC_IMPORT}. It is the **same** token\n * instance, re-exported under the historical name so existing providers keep\n * working; provisioning either overrides the dynamic import for both.\n */\nexport const CRAFT_ROUTE_DYNAMIC_IMPORT = CRAFT_DYNAMIC_IMPORT;\n\nexport interface CraftRouteLoadRetryContext extends CraftLoadRetryContextBase {\n readonly phase: CraftRouteLoadPhase;\n readonly routePath: string;\n readonly targetUrl: string;\n}\n\nexport type CraftRouteLoadRetry = CraftLoadRetry<CraftRouteLoadRetryContext>;\n\nexport type CraftRouteLoadRetryOptions =\n CraftLoadRetryOptions<CraftRouteLoadRetryContext>;\n\nexport type CraftRouteLoadRetryConfig =\n CraftLoadRetryConfig<CraftRouteLoadRetryContext>;\n\nexport const CRAFT_ROUTE_LOAD_RETRY = new InjectionToken<CraftRouteLoadRetry>(\n 'CRAFT_ROUTE_LOAD_RETRY',\n {\n providedIn: 'root',\n factory: () => createRouteLoadRetry(),\n },\n);\n\nexport const CRAFT_ROUTE_LOAD_ERROR_COMPONENT =\n new InjectionToken<CraftExceptionComponentDescriptor | null>(\n 'CRAFT_ROUTE_LOAD_ERROR_COMPONENT',\n { providedIn: 'root', factory: () => null },\n );\n\ninterface ActiveRouteLoadError {\n readonly exception: CraftRouteLoadError;\n readonly injector: EnvironmentInjector;\n}\n\nexport const CRAFT_ACTIVE_ROUTE_LOAD_ERROR = new InjectionToken<\n WritableSignal<ActiveRouteLoadError | null>\n>('CRAFT_ACTIVE_ROUTE_LOAD_ERROR', {\n providedIn: 'root',\n factory: () => signal<ActiveRouteLoadError | null>(null),\n});\n\nlet craftRouteLoadErrorHostComponent: Type<unknown> | undefined;\n\n/**\n * Installs the recovery host. `@craft-ts/component` calls this on import —\n * mounting the recovery UI needs the renderer that only it owns.\n */\nexport function ɵregisterCraftRouteLoadErrorHostComponent(\n component: Type<unknown>,\n): void {\n craftRouteLoadErrorHostComponent = component;\n}\n\n/**\n * Without `@craft-ts/component` there is nothing that can render the recovery\n * UI, so the host is null and the outlet simply shows nothing. The error is\n * still reported through `CRAFT_ROUTE_LOAD_ERROR`.\n */\nfunction getCraftRouteLoadErrorHostComponent(): Type<unknown> | null {\n return craftRouteLoadErrorHostComponent ?? null;\n}\n\nexport const CRAFT_ROUTE_LOAD_ERROR = new InjectionToken<\n Signal<CraftRouteLoadError | null>\n>('CRAFT_ROUTE_LOAD_ERROR', {\n providedIn: 'root',\n factory: () => {\n const active = inject(CRAFT_ACTIVE_ROUTE_LOAD_ERROR);\n return computed(() => active()?.exception ?? null);\n },\n});\n\nexport interface CraftRouteLoadRecovery {\n retry(): Promise<boolean>;\n reload(): void;\n}\n\nexport const CRAFT_ROUTE_LOAD_RECOVERY =\n new InjectionToken<CraftRouteLoadRecovery>('CRAFT_ROUTE_LOAD_RECOVERY', {\n providedIn: 'root',\n factory: () => {\n const router = inject(CRAFT_ROUTER);\n const active = inject(CRAFT_ACTIVE_ROUTE_LOAD_ERROR);\n return {\n retry: async () => {\n const targetUrl = active()?.exception.payload.targetUrl ?? router.url;\n return targetUrl ? router.navigateByUrl(targetUrl) : false;\n },\n reload: () => globalThis.location?.reload(),\n };\n },\n });\n\nexport function setActiveCraftRouteLoadError(\n exception: CraftRouteLoadError,\n injector: EnvironmentInjector,\n): void {\n injector.get(CRAFT_ACTIVE_ROUTE_LOAD_ERROR).set({ exception, injector });\n}\n\nexport function injectCraftRouteLoadError(): Signal<CraftRouteLoadError | null> {\n return inject(CRAFT_ROUTE_LOAD_ERROR);\n}\n\nexport function injectCraftRouteLoadRecovery(): CraftRouteLoadRecovery {\n return inject(CRAFT_ROUTE_LOAD_RECOVERY);\n}\n\nconst craftRouteLoadErrorService = toCraftService({\n name: 'CraftRouteLoadError',\n providedIn: 'global',\n inject: injectCraftRouteLoadError,\n});\n\nconst craftRouteLoadRecoveryService = toCraftService({\n name: 'CraftRouteLoadRecovery',\n providedIn: 'global',\n inject: injectCraftRouteLoadRecovery,\n});\n\nexport const CraftRouteLoadError =\n craftRouteLoadErrorService.CraftRouteLoadError;\nexport const CraftRouteLoadRecovery =\n craftRouteLoadRecoveryService.CraftRouteLoadRecovery;\n\nexport function provideRouteLoadErrorComponent(\n component: CraftExceptionComponentDescriptor,\n) {\n return { provide: CRAFT_ROUTE_LOAD_ERROR_COMPONENT, useValue: component };\n}\n\nexport function provideRouteLoadRetry(retry: CraftRouteLoadRetryConfig) {\n return routeLoadRetryProvider(retry);\n}\n\nexport function createRouteLoadRetry(\n options: CraftRouteLoadRetryOptions = {},\n): CraftRouteLoadRetry {\n return createCraftLoadRetry<CraftRouteLoadRetryContext>(options);\n}\n\nfunction routeLoadRetryProvider(retry: CraftRouteLoadRetryConfig):\n | ValueProvider\n | {\n provide: typeof CRAFT_ROUTE_LOAD_RETRY;\n useClass: Type<CraftRouteLoadRetry>;\n } {\n if (isCraftLoadRetryType(retry)) {\n return { provide: CRAFT_ROUTE_LOAD_RETRY, useClass: retry };\n }\n\n return {\n provide: CRAFT_ROUTE_LOAD_RETRY,\n useValue: isCraftLoadRetry(retry) ? retry : createRouteLoadRetry(retry),\n };\n}\n\nexport interface RouteLoadErrorFeature extends CraftLoadingFeature {\n readonly recoveryRoute: {\n readonly path: string;\n readonly component: Type<unknown>;\n };\n}\n\nexport type CraftRouteLoadErrorConfig = CraftExceptionComponentDescriptor & {\n readonly retry?: CraftRouteLoadRetryConfig;\n};\n\nexport function withRouteLoadError(\n config: CraftRouteLoadErrorConfig,\n): RouteLoadErrorFeature {\n const providers = [\n { provide: CRAFT_ROUTE_LOAD_ERROR_COMPONENT, useValue: config },\n ...(config.retry ? [routeLoadRetryProvider(config.retry)] : []),\n ];\n const feature = craftLoadingFeature(providers) as RouteLoadErrorFeature;\n\n Object.assign(feature, {\n recoveryRoute: {\n path: CRAFT_ROUTE_LOAD_ERROR_PATH,\n component: getCraftRouteLoadErrorHostComponent(),\n },\n });\n\n return feature;\n}\n\nexport function createRouteLoadError(payload: CraftRouteLoadErrorPayload) {\n return craftException(\n { _tag: CRAFT_ROUTE_LOAD_ERROR_CODE, scope: 'router' },\n payload,\n );\n}\n\nexport function isCraftRouteLoadError(\n value: unknown,\n): value is CraftRouteLoadError {\n return isCraftException(value) && value._tag === CRAFT_ROUTE_LOAD_ERROR_CODE;\n}\n\nexport function loadRouteWithRetry<T>(\n loader: (helpers: CraftRouteLazyLoadHelpers) => Promise<T>,\n phase: CraftRouteLoadPhase,\n routePath: string,\n): Promise<T> {\n let dependencies:\n | {\n injector: EnvironmentInjector;\n router: { readonly url: string };\n retry: CraftRouteLoadRetry;\n dynamicImport: (url: string) => Promise<unknown>;\n }\n | undefined;\n try {\n dependencies = {\n injector: inject(EnvironmentInjector),\n router: inject(CRAFT_ROUTER),\n retry: inject(CRAFT_ROUTE_LOAD_RETRY),\n dynamicImport: inject(CRAFT_DYNAMIC_IMPORT),\n };\n } catch {\n // Some consumers invoke emitted loader callbacks directly in tests. Keep\n // the original loader semantics when no Angular injection context exists.\n }\n\n return (async () => {\n try {\n return await loader(INITIAL_LAZY_LOAD_HELPERS);\n } catch (firstError) {\n if (!dependencies) throw firstError;\n\n const context: CraftRouteLoadRetryContext = {\n phase,\n routePath,\n attempt: 1,\n error: firstError,\n targetUrl: dependencies.router.url,\n };\n\n let attempt = 1;\n try {\n const retryHelpers = createRetryLazyLoadHelpers(\n dependencies.dynamicImport,\n CRAFT_ROUTE_DYNAMIC_IMPORT_RETRY_PARAM,\n );\n const retryLoader = () => {\n attempt++;\n return loader(retryHelpers);\n };\n\n return await dependencies.retry.execute(retryLoader, context);\n } catch (cause) {\n const exception = createRouteLoadError({\n ...context,\n cause,\n attempt,\n });\n Object.defineProperty(exception, 'routeInjector', {\n value: dependencies.injector,\n enumerable: false,\n });\n throw exception;\n }\n }\n })();\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-meta.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,uFAAuF;AACvF,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,mBAAmB,KACvB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE1C,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC,mDAAmD;IACnD,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvD,iEAAiE;IACjE,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,qEAAqE;IACrE,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAC/B,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAC/C,CAAC;IACF,4DAA4D;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,iDAAiD;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,4BAA4B,CAAC;IACvD,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CAClD;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACxD,cAAc,GAAG,SAAS,CAM5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-meta.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-meta.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AA8C3D,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAC/B,IAAyD;IAEzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,gBAAgB,CAA+B,CAAC;AAC9D,CAAC","sourcesContent":["import type { Type, WritableSignal } from './host/craft-compat';\nimport type {\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n} from './host/craft-router-types';\nimport type { CraftRouteExceptionHandlerMap } from './craft-guard-runtime';\nimport type {\n CraftExceptionComponentInput,\n CraftPendingComponentInput,\n} from './craft-route-exceptions';\n\n/**\n * Symbol key under which `craftRoutes` stashes a route's craft-only execution\n * metadata onto the Angular `Route.data`. The\n * {@link CraftRouterOutletController} reads it\n * to drive the route's guard/resolve chain *after* the URL commits; it is never\n * a real `data` value the component sees.\n */\nexport const CRAFT_ROUTE_META = Symbol('craft-route-meta');\n\n/** A guard/resolve generator factory — the outlet creates a fresh iterator per run. */\nexport type CraftRouteStepFactory = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => Generator<unknown, unknown, unknown>;\n\n/** The craft-only execution metadata the outlet needs to run a route's chain. */\nexport interface CraftRouteMeta {\n /** `canMatch` composing generator (run first; success discarded). */\n readonly match?: CraftRouteStepFactory;\n /** `canActivate` composing generator (success = guarded data). */\n readonly guard?: CraftRouteStepFactory;\n /** `resolve` composing generator (success = resolved data). */\n readonly resolve?: CraftRouteStepFactory;\n /** Exhaustive exception handlers keyed by code. */\n readonly handleExceptions: CraftRouteExceptionHandlerMap;\n /** Signal the outlet writes the `canActivate` success value into. */\n readonly guardDataSink: WritableSignal<unknown> | null;\n /** Signal the outlet writes the `resolve` success value into. */\n readonly resolveDataSink: WritableSignal<unknown> | null;\n /** Route-scoped exception signals, keyed by locally handled code. */\n readonly exceptionSinks: Readonly<\n Record<string, WritableSignal<unknown | null>>\n >;\n /** Per-route pending component override (eager or lazy). */\n readonly pendingComponent?: CraftPendingComponentInput;\n /** Per-route global error component override. */\n readonly errorComponent?: CraftExceptionComponentInput;\n /** Per-route phase 1 duration: keep the previous page on screen (ms). */\n readonly stayMs?: number;\n /** Per-route phase 2 duration: blank surface before the loader (ms). */\n readonly blankMs?: number;\n /** Per-route phase 3 minimum loader display time (ms). */\n readonly pendingMinMs?: number;\n /** Keep `canActivate` under reactive observation while active (default `true`). */\n readonly reactiveGuards: boolean;\n /**\n * This route opted into a shared-element view transition: the outlet drives\n * `document.startViewTransition()` around its swaps and skips the `'blank'`\n * phase so the morph bridges `previous page → pending skeleton → target`.\n */\n readonly withLoaderViewTransitionImage?: boolean;\n}\n\n/** Reads the craft route meta a `craftRoutes`-built route stashes on its `data`. */\nexport function getCraftRouteMeta(\n data: Record<string | symbol, unknown> | null | undefined,\n): CraftRouteMeta | undefined {\n if (!data) {\n return undefined;\n }\n\n return data[CRAFT_ROUTE_META] as CraftRouteMeta | undefined;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-target.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAE9D,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,yCAG9B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,CAErE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAQ5E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,qBAAqB,GAC3B,gBAAgB,CAElB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-route-target.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-route-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAmBrD,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAClD,oBAAoB,EACpB,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAC5C,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,SAAkB;IACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAAqC,CAAC,IAAI,KAAK,OAAO;QACvD,WAAW,IAAI,KAAK,CACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA4B;IAE5B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { InjectionToken } from './host/craft-compat';\n\n/**\n * What a route mounts. Everything Craft renders is a Craft component, so the\n * kind is informational: it exists because a route target used to be able to\n * be an Angular component too.\n */\nexport type CraftRouteTarget = {\n readonly kind: 'craft';\n /** Opaque in core; `@craft-ts/component` owns the concrete renderer. */\n readonly component: unknown;\n};\n\n/**\n * A route's component: the Craft component itself, or an explicit target. It\n * used to admit an Angular `Type<unknown>` as a third form.\n */\nexport type CraftRouteTargetInput = object | CraftRouteTarget;\n\n/** Route-scoped target consumed by `CraftRouterOutletController`. */\nexport const CRAFT_ROUTE_TARGET = new InjectionToken<CraftRouteTarget | null>(\n 'CRAFT_ROUTE_TARGET',\n { providedIn: 'root', factory: () => null },\n);\n\nexport function craftRouteTarget(component: unknown): CraftRouteTarget {\n return { kind: 'craft', component };\n}\n\nexport function isCraftRouteTarget(value: unknown): value is CraftRouteTarget {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'kind' in value &&\n (value as { readonly kind?: unknown }).kind === 'craft' &&\n 'component' in value\n );\n}\n\n/**\n * A bare component is a Craft component. This used to default to an Angular\n * target, which now resolves to a host that cannot exist — every unwrapped\n * component would have thrown at mount.\n */\nexport function normalizeCraftRouteTarget(\n input: CraftRouteTargetInput,\n): CraftRouteTarget {\n return isCraftRouteTarget(input) ? input : craftRouteTarget(input);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-outlet.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-outlet.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-outlet.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-outlet.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n EnvironmentInjector,\n inject,\n Injector,\n InjectionToken,\n runInInjectionContext,\n type Type,\n} from './host/craft-compat';\nimport { DOCUMENT } from './host/craft-compat';\nimport { CRAFT_A11Y_NAVIGATION_FOCUS } from './craft-a11y';\nimport { isCraftException, type AnyCraftException } from './craft-exception';\nimport {\n evaluateCraftGuardSync,\n runCraftRouteChainAsync,\n type RouteChainOutcome,\n} from './craft-guard-runtime';\nimport {\n CRAFT_BLANK_MS,\n CRAFT_ERROR_COMPONENT,\n CRAFT_PENDING_COMPONENT,\n CRAFT_PENDING_MIN_MS,\n CRAFT_STAY_MS,\n} from './craft-pending';\nimport {\n CRAFT_GLOBAL_ERROR,\n type CraftExceptionComponentInput,\n type CraftPendingComponentInput,\n} from './craft-route-exceptions';\nimport {\n createRouteLoadError,\n isCraftRouteLoadError,\n setActiveCraftRouteLoadError,\n} from './craft-route-load-error';\nimport {\n getCraftRouteMeta,\n type CraftRouteMeta,\n type CraftRouteStepFactory,\n} from './craft-route-meta';\nimport {\n CRAFT_START_VIEW_TRANSITION,\n CRAFT_VIEW_TRANSITION,\n CRAFT_VIEW_TRANSITION_SKIP_BLANK,\n CRAFT_VIEW_TRANSITION_STATE_KEY,\n CRAFT_VIEW_TRANSITIONS_ENABLED,\n type CraftViewTransitionInput,\n} from './craft-view-transition';\nimport {\n CRAFT_TEMPORAL_RUNTIME,\n type TemporalTaskHandle,\n} from './temporal-runtime';\nimport {\n craftRouteTarget,\n CRAFT_ROUTE_TARGET,\n isCraftRouteTarget,\n normalizeCraftRouteTarget,\n type CraftRouteTarget,\n type CraftRouteTargetInput,\n} from './craft-route-target';\nimport {\n craftSignal,\n craftWatch,\n type CraftWritableSignal,\n} from './host/craft-signal';\nimport {\n serializeLocation,\n sliceCraftMatchForOutlet,\n type CraftCompiledRoute,\n type CraftMatch,\n} from './host/craft-router-runtime';\nimport {\n CRAFT_CHILD_MATCH,\n CRAFT_HISTORY,\n CRAFT_MATCH,\n CRAFT_ROUTER,\n type CraftRouterNavigationApi,\n} from './craft-router-tokens';\nimport { CRAFT_SSR_RUNTIME } from './craft-ssr';\nimport { CRAFT_PLATFORM } from './craft-platform';\n\nconst ROUTE_PROP_SKIP = new Set(['craftComponent', 'craftPendingComponent']);\n\nexport function collectMatchProps(\n match: CraftMatch | null | undefined,\n): Record<string, unknown> {\n if (!match) {\n return {};\n }\n const props: Record<string, unknown> = {};\n for (const route of match.routes) {\n assignRoutePropBag(\n props,\n route.data as Record<string, unknown> | undefined,\n );\n }\n assignRoutePropBag(props, match.params);\n assignRoutePropBag(props, match.queryParams);\n return props;\n}\n\n/** @deprecated Use {@link collectMatchProps}. */\nexport const collectActivatedRouteProps = collectMatchProps;\n\nfunction assignRoutePropBag(\n target: Record<string, unknown>,\n bag: Record<string, unknown> | undefined,\n): void {\n if (!bag) {\n return;\n }\n for (const [key, value] of Object.entries(bag)) {\n if (ROUTE_PROP_SKIP.has(key) || typeof value === 'function') {\n continue;\n }\n target[key] = value;\n }\n}\n\nexport type CraftOutletState =\n | 'idle'\n | 'stay'\n | 'blank'\n | 'pending'\n | 'loaded'\n | 'error';\n\nexport const CRAFT_ROUTE_CHAIN_RUNNER = new InjectionToken<\n typeof runCraftRouteChainAsync\n>('CRAFT_ROUTE_CHAIN_RUNNER', {\n providedIn: 'root',\n factory: () => runCraftRouteChainAsync,\n});\n\nconst syncTemplateFlushers = new Set<() => void>();\n\n/** Registers a synchronous template patch invoked from view-transition commits. */\nexport function registerCraftSyncTemplateFlush(fn: () => void): () => void {\n syncTemplateFlushers.add(fn);\n return () => {\n syncTemplateFlushers.delete(fn);\n };\n}\n\nfunction runRegisteredSyncTemplateFlush(): void {\n for (const flush of syncTemplateFlushers) {\n flush();\n }\n}\n\n/**\n * Runs inside `startViewTransition`'s callback after Craft signals commit, so\n * the displayed DOM is patched before the callback returns. Templates driven by\n * `craftEffect` otherwise bump an Angular signal asynchronously.\n */\nexport const CRAFT_SYNC_TEMPLATE_FLUSH = new InjectionToken<() => void>(\n 'CRAFT_SYNC_TEMPLATE_FLUSH',\n {\n providedIn: 'root',\n factory: () => runRegisteredSyncTemplateFlush,\n },\n);\n\n/**\n * A non-blocking replacement for `<router-outlet>`. The URL commits immediately\n * (history.push); this outlet reads the route's {@link CraftRouteMeta} and\n * drives canMatch → canActivate → resolve **after** commit.\n */\nexport class CraftRouterOutletController {\n name = 'primary';\n\n private readonly rootInjector = inject(EnvironmentInjector);\n private readonly router =\n inject(CRAFT_ROUTER, { optional: true }) ?? silentRouter();\n private readonly history = inject(CRAFT_HISTORY, { optional: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly temporalRuntime = inject(CRAFT_TEMPORAL_RUNTIME);\n\n private readonly defaultPendingComponent = inject(CRAFT_PENDING_COMPONENT);\n private readonly defaultErrorComponent = inject(CRAFT_ERROR_COMPONENT);\n private readonly defaultStayMs = inject(CRAFT_STAY_MS);\n private readonly defaultBlankMs = inject(CRAFT_BLANK_MS);\n private readonly defaultPendingMinMs = inject(CRAFT_PENDING_MIN_MS);\n private readonly chainRunner = inject(CRAFT_ROUTE_CHAIN_RUNNER);\n\n private readonly viewTransitionsEnabled = inject(\n CRAFT_VIEW_TRANSITIONS_ENABLED,\n );\n private readonly viewTransitionSkipBlank = inject(\n CRAFT_VIEW_TRANSITION_SKIP_BLANK,\n );\n private readonly startViewTransition = inject(CRAFT_START_VIEW_TRANSITION);\n private readonly syncTemplateFlush = inject(CRAFT_SYNC_TEMPLATE_FLUSH);\n private readonly viewTransitionSink = inject(\n CRAFT_VIEW_TRANSITION,\n ) as unknown as {\n set(value: CraftViewTransitionInput): void;\n };\n private readonly a11yNavigationFocus = inject(CRAFT_A11Y_NAVIGATION_FOCUS);\n private readonly platform = inject(CRAFT_PLATFORM, { optional: true });\n private readonly document = this.platform?.document ?? inject(DOCUMENT);\n private readonly ssrRuntime = inject(CRAFT_SSR_RUNTIME, { optional: true });\n private a11yHasCompletedInitialActivation = false;\n\n readonly displayedComponent: CraftWritableSignal<Type<unknown> | null> =\n craftSignal<Type<unknown> | null>(null);\n readonly displayedTarget: CraftWritableSignal<CraftRouteTarget | null> =\n craftSignal<CraftRouteTarget | null>(null);\n readonly displayedInjector: CraftWritableSignal<Injector | undefined> =\n craftSignal<Injector | undefined>(undefined);\n readonly displayedProps: CraftWritableSignal<\n Readonly<Record<string, unknown>>\n > = craftSignal<Readonly<Record<string, unknown>>>({});\n\n readonly state: CraftWritableSignal<CraftOutletState> =\n craftSignal<CraftOutletState>('idle');\n readonly targetComponent: CraftWritableSignal<Type<unknown> | null> =\n craftSignal<Type<unknown> | null>(null);\n readonly pendingComponent: CraftWritableSignal<Type<unknown> | null> =\n craftSignal<Type<unknown> | null>(null);\n readonly errorComponent: CraftWritableSignal<Type<unknown> | null> =\n craftSignal<Type<unknown> | null>(null);\n readonly pendingTarget: CraftWritableSignal<CraftRouteTarget | null> =\n craftSignal<CraftRouteTarget | null>(null);\n readonly errorTarget: CraftWritableSignal<CraftRouteTarget | null> =\n craftSignal<CraftRouteTarget | null>(null);\n\n private _match: CraftMatch | null = null;\n private _liveMatch: CraftWritableSignal<CraftMatch> | null = null;\n private _childMatch: CraftWritableSignal<CraftMatch | null> | null = null;\n private _activeRouteInjector: Injector | null = null;\n private _meta: CraftRouteMeta | null = null;\n private _navId = 0;\n private _stayTimer: TemporalTaskHandle | null = null;\n private _blankTimer: TemporalTaskHandle | null = null;\n private _pendingCommitTimer: TemporalTaskHandle | null = null;\n private _pendingShownAt = 0;\n private _previousUrl = this.router.url;\n private _pendingDeactivation = false;\n private _reactiveWatch: { destroy(): void } | null = null;\n private _matchWatch: { destroy(): void } | null = null;\n private _frozen = false;\n private _displayVersion = 0;\n\n get isActivated(): boolean {\n return this._match !== null;\n }\n\n get component(): object {\n if (!this._match) {\n throw new Error('CraftRouterOutlet is not activated');\n }\n return (this.targetComponent() ?? {}) as object;\n }\n\n constructor() {\n const matchSignal =\n inject(CRAFT_CHILD_MATCH, { optional: true }) ??\n inject(CRAFT_MATCH, { optional: true });\n if (matchSignal) {\n this._matchWatch = craftWatch(() => {\n const match = matchSignal();\n if (match) {\n this.activateMatch(match, this.rootInjector);\n } else if (this._match) {\n this.deactivate();\n }\n });\n }\n this.destroyRef.onDestroy(() => this.destroy());\n }\n\n destroy(): void {\n this._matchWatch?.destroy();\n this._matchWatch = null;\n this.teardown();\n }\n\n deactivate(): void {\n this.teardown();\n this._match = null;\n this._liveMatch = null;\n this._childMatch = null;\n this._activeRouteInjector = null;\n this._meta = null;\n this._previousUrl = this.router.url;\n this._pendingDeactivation = true;\n queueMicrotask(() => {\n if (this._pendingDeactivation) {\n this._pendingDeactivation = false;\n this.state.set('idle');\n this.displayedComponent.set(null);\n this.displayedTarget.set(null);\n this.targetComponent.set(null);\n this.errorComponent.set(null);\n }\n });\n }\n\n activateMatch(\n match: CraftMatch,\n environmentInjector?: EnvironmentInjector,\n ): void {\n this._pendingDeactivation = false;\n const previousMatchUrl = this._match\n ? serializeLocation(this._match)\n : this._previousUrl;\n const { activated, child } = sliceCraftMatchForOutlet(match);\n\n if (\n this._match &&\n this._liveMatch &&\n this._childMatch &&\n this._activeRouteInjector &&\n this.state() !== 'error' &&\n canReuseActivation(this._match, activated, this._meta)\n ) {\n this._liveMatch.set(activated);\n this._childMatch.set(child);\n this.displayedProps.set(collectMatchProps(activated));\n this.publishViewTransitionPayload();\n return;\n }\n\n this._previousUrl = previousMatchUrl;\n this.teardown();\n this._match = activated;\n this._liveMatch = craftSignal(activated);\n this._childMatch = craftSignal(child);\n const routeProviders = activated.route.providers;\n this._activeRouteInjector = Injector.create({\n providers: [\n { provide: CRAFT_MATCH, useValue: this._liveMatch },\n { provide: CRAFT_CHILD_MATCH, useValue: this._childMatch },\n ...(Array.isArray(routeProviders) ? (routeProviders as never[]) : []),\n ],\n parent: environmentInjector ?? this.rootInjector,\n name: 'CraftRouterOutlet',\n });\n\n this.publishViewTransitionPayload();\n\n const leafMeta = getCraftRouteMeta(\n (activated.route.data ?? activated.data) as Record<\n string | symbol,\n unknown\n >,\n );\n const meta = composeRouteMetas(\n collectAncestorGuardMetas(match, activated),\n leafMeta ?? null,\n );\n this._meta = meta ?? null;\n this.clearExceptionSinks(meta);\n const activation = this.finishActivation(activated, meta ?? null);\n if (this.ssrRuntime) {\n this.ssrRuntime.track(`route:${activated.route.path}`, activation);\n } else {\n void activation;\n }\n }\n\n private async finishActivation(\n match: CraftMatch,\n meta: CraftRouteMeta | null,\n ): Promise<void> {\n if (!this.isCurrentActivation(match)) {\n return;\n }\n if (\n typeof match.route.loadComponent === 'function' &&\n !match.route.component\n ) {\n try {\n const loaded = await runInInjectionContext(\n this._activeRouteInjector ?? this.rootInjector,\n () => Promise.resolve(match.route.loadComponent!()),\n );\n if (!this.isCurrentActivation(match)) {\n return;\n }\n const component =\n loaded && typeof loaded === 'object' && 'default' in loaded\n ? (loaded as { default: unknown }).default\n : loaded;\n match.route.component = component;\n } catch (error) {\n if (!this.isCurrentActivation(match)) {\n return;\n }\n const exception = isCraftRouteLoadError(error)\n ? error\n : createRouteLoadError({\n phase: 'component',\n routePath: match.route.path,\n targetUrl: this.router.url,\n cause: error,\n attempt: 1,\n });\n setActiveCraftRouteLoadError(exception, this.rootInjector);\n this.publishGlobalError(exception);\n void this.showErrorComponent(\n this._meta?.errorComponent ?? this.defaultErrorComponent,\n exception,\n );\n return;\n }\n }\n const component = this.resolveRouteComponent(match);\n this.displayedProps.set(collectMatchProps(match));\n\n if (!meta || (!meta.match && !meta.guard && !meta.resolve)) {\n this.showComponent(\n component,\n this._activeRouteInjector,\n this.resolveRouteTarget(component),\n );\n this.targetComponent.set(component);\n this.state.set('loaded');\n return;\n }\n\n await this.runChain(meta, component, 'enter');\n }\n\n private runChain(\n meta: CraftRouteMeta,\n component: Type<unknown> | null,\n phase: 'enter' | 'active',\n ): Promise<void> {\n const navId = ++this._navId;\n const injector = this._activeRouteInjector ?? this.rootInjector;\n const routeSnapshot = matchToSnapshot(this._match!);\n const stateSnapshot = { url: this.router.url, root: routeSnapshot };\n\n this.state.set('stay');\n void this.resolvePendingComponent(meta);\n\n const stayMs = meta.stayMs ?? this.defaultStayMs;\n const skipBlank = this.shouldSkipBlank(meta);\n const blankMs = skipBlank ? 0 : (meta.blankMs ?? this.defaultBlankMs);\n\n if (!skipBlank) {\n this._stayTimer = this.temporalRuntime.schedule(\n () => {\n if (this._navId === navId && this.state() === 'stay') {\n this.state.set('blank');\n this.displayedComponent.set(null);\n this.displayedTarget.set(null);\n }\n },\n stayMs,\n {\n kind: 'router-stay',\n owner: 'craft-router-outlet',\n destroyRef: this.destroyRef,\n },\n );\n }\n\n this._blankTimer = this.temporalRuntime.schedule(\n () => {\n if (\n this._navId === navId &&\n (this.state() === 'stay' || this.state() === 'blank')\n ) {\n this._pendingShownAt = this.temporalRuntime.now();\n this.state.set('pending');\n this.showComponent(\n this.pendingComponent(),\n injector,\n this.pendingTarget(),\n );\n }\n },\n stayMs + blankMs,\n {\n kind: 'router-pending',\n owner: 'craft-router-outlet',\n destroyRef: this.destroyRef,\n },\n );\n\n return this.chainRunner(\n {\n match: meta.match?.(routeSnapshot as never, stateSnapshot as never),\n guard: meta.guard?.(routeSnapshot as never, stateSnapshot as never),\n resolve:\n phase === 'enter'\n ? meta.resolve?.(routeSnapshot as never, stateSnapshot as never)\n : undefined,\n },\n injector,\n this.router as import('./craft-router').CraftRouter,\n meta.handleExceptions,\n phase,\n ).then(\n (outcome) => {\n if (this._navId === navId) {\n this.applyOutcome(outcome, meta, component, phase);\n }\n },\n (error) => {\n if (this._navId === navId) {\n this.applyOutcome(\n { kind: 'thrownError', error },\n meta,\n component,\n phase,\n );\n }\n },\n );\n }\n\n private applyOutcome(\n outcome: RouteChainOutcome,\n meta: CraftRouteMeta,\n component: Type<unknown> | null,\n _phase: 'enter' | 'active',\n ): void {\n this.clearTimers();\n\n switch (outcome.kind) {\n case 'data':\n meta.guardDataSink?.set(outcome.guardData);\n meta.resolveDataSink?.set(outcome.resolveData);\n this.showTarget(component, meta);\n this.installReactiveGuard(meta, component);\n return;\n case 'noop':\n this.showTarget(component, meta);\n this.installReactiveGuard(meta, component);\n return;\n case 'redirect':\n void this.router.navigateByUrl(String(outcome.target));\n return;\n case 'stay':\n if (this._previousUrl !== this.router.url) {\n void this.router.navigateByUrl(this._previousUrl);\n }\n return;\n case 'render':\n meta.exceptionSinks[outcome.exception._tag]?.set(outcome.exception);\n void this.showErrorComponent(outcome.component, outcome.exception);\n return;\n case 'global':\n this.publishGlobalError(outcome.exception);\n void this.showErrorComponent(\n meta.errorComponent ?? this.defaultErrorComponent,\n outcome.exception,\n );\n return;\n case 'thrownError': {\n const exception = isCraftException(outcome.error)\n ? outcome.error\n : null;\n this.publishGlobalError(exception);\n void this.showErrorComponent(\n meta.errorComponent ?? this.defaultErrorComponent,\n exception,\n );\n return;\n }\n }\n }\n\n private showComponent(\n component: Type<unknown> | null,\n injector: Injector | null,\n target: CraftRouteTarget | null = component\n ? craftRouteTarget(component)\n : null,\n ): void {\n const activationId = this._navId;\n const displayVersion = ++this._displayVersion;\n const props = this.routeProps();\n const commit = () => {\n // The browser may invoke a View Transition callback after a newer\n // activation or swap has already been requested. Such a callback must\n // not resurrect its old component, and its props must belong to the\n // component captured at request time rather than the current route.\n if (\n this._navId !== activationId ||\n this._displayVersion !== displayVersion\n ) {\n return;\n }\n this.displayedInjector.set(injector ?? undefined);\n this.displayedProps.set(props);\n // Publish the target last: CraftRouterOutlet mounts it as soon as the\n // target becomes visible, so its route injector and inputs must already\n // be available or the first render is created with the parent injector\n // and immediately remounted when the injector signal catches up.\n this.displayedTarget.set(target);\n this.displayedComponent.set(component);\n this.syncTemplateFlush();\n };\n\n if (!this.viewTransitionsEnabled) {\n commit();\n this.scheduleA11yNavigationFocus();\n return;\n }\n\n this.startViewTransition(() => {\n commit();\n });\n this.scheduleA11yNavigationFocus();\n }\n\n private scheduleA11yNavigationFocus(): void {\n if (!this.a11yNavigationFocus) {\n return;\n }\n if (!this.a11yHasCompletedInitialActivation) {\n this.a11yHasCompletedInitialActivation = true;\n return;\n }\n queueMicrotask(() => {\n const target =\n this.document.getElementById('main') ??\n this.document.querySelector('main');\n if (!target || target.nodeType !== 1) {\n return;\n }\n const element = target as HTMLElement;\n if (!element.hasAttribute('tabindex')) {\n element.tabIndex = -1;\n }\n element.focus();\n });\n }\n\n private showTarget(\n component: Type<unknown> | null,\n meta: CraftRouteMeta,\n ): void {\n const injector = this._activeRouteInjector ?? this.rootInjector;\n const commit = () => {\n this.showComponent(\n component,\n injector,\n this.resolveRouteTarget(component),\n );\n this.targetComponent.set(component);\n this.state.set('loaded');\n };\n this.commitWithAntiFlicker(commit, meta);\n }\n\n private async showErrorComponent(\n input: CraftExceptionComponentInput | null,\n _exception: AnyCraftException | null,\n ): Promise<void> {\n const resolved = await resolveComponentInput(input);\n const target = resolved ? normalizeCraftRouteTarget(resolved) : null;\n // Removing the Angular interop left this pinned at `null`, which silently\n // emptied the error surface: nothing was reported through\n // `errorComponent()` and nothing was mounted. The component IS the\n // normalized target's — everything Craft renders is a Craft component.\n const component = (target?.component ?? null) as Type<unknown> | null;\n this.errorComponent.set(component);\n this.errorTarget.set(target);\n this.showComponent(\n component,\n this._activeRouteInjector ?? this.rootInjector,\n target,\n );\n this.state.set('error');\n this._frozen = true;\n }\n\n private commitWithAntiFlicker(\n commit: () => void,\n meta: CraftRouteMeta,\n ): void {\n const minMs = meta.pendingMinMs ?? this.defaultPendingMinMs;\n if (this.state() === 'pending' && minMs > 0) {\n const elapsed = this.temporalRuntime.now() - this._pendingShownAt;\n const remaining = minMs - elapsed;\n if (remaining > 0) {\n const navId = this._navId;\n this._pendingCommitTimer = this.temporalRuntime.schedule(\n () => {\n if (this._navId === navId) {\n commit();\n }\n },\n remaining,\n {\n kind: 'router-anti-flicker',\n owner: 'craft-router-outlet',\n destroyRef: this.destroyRef,\n },\n );\n return;\n }\n }\n commit();\n }\n\n private installReactiveGuard(\n meta: CraftRouteMeta,\n component: Type<unknown> | null,\n ): void {\n this._frozen = false;\n\n if (meta.reactiveGuards === false || !meta.guard) {\n return;\n }\n\n const injector = this._activeRouteInjector ?? this.rootInjector;\n const guardFactory = meta.guard;\n const routeSnapshot = matchToSnapshot(this._match!);\n const stateSnapshot = { url: this.router.url, root: routeSnapshot };\n\n this._reactiveWatch = runInInjectionContext(injector, () =>\n craftWatch(() => {\n const result = evaluateCraftGuardSync(\n guardFactory(routeSnapshot as never, stateSnapshot as never),\n injector,\n );\n\n if (this._frozen || result.kind !== 'exception') {\n return;\n }\n\n void this.handleReactiveException(result.exception, meta, component);\n }),\n );\n }\n\n private async handleReactiveException(\n exception: AnyCraftException,\n meta: CraftRouteMeta,\n component: Type<unknown> | null,\n ): Promise<void> {\n const outcome = await this.chainRunner(\n {\n guard: (function* () {\n return exception;\n })(),\n },\n this._activeRouteInjector ?? this.rootInjector,\n this.router as import('./craft-router').CraftRouter,\n meta.handleExceptions,\n 'active',\n );\n this.applyOutcome(outcome, meta, component, 'active');\n }\n\n private shouldSkipBlank(meta: CraftRouteMeta): boolean {\n return (\n this.viewTransitionsEnabled &&\n (meta.withLoaderViewTransitionImage === true ||\n this.viewTransitionSkipBlank)\n );\n }\n\n private publishViewTransitionPayload(): void {\n const extras = this.router.getCurrentNavigation()?.extras;\n const fromNavigation = extras?.state as Record<string, unknown> | undefined;\n const craftState = this.history?.getState() as\n | Record<string, unknown>\n | null\n | undefined;\n const windowState =\n typeof history !== 'undefined'\n ? (history.state as Record<string, unknown> | null | undefined)\n : undefined;\n const source = this.history\n ? craftState\n : extras?.skipLocationChange\n ? fromNavigation\n : windowState;\n const raw =\n source?.[CRAFT_VIEW_TRANSITION_STATE_KEY] ??\n fromNavigation?.[CRAFT_VIEW_TRANSITION_STATE_KEY] ??\n null;\n\n this.viewTransitionSink.set(raw as CraftViewTransitionInput);\n }\n\n private publishGlobalError(exception: AnyCraftException | null): void {\n const sink = this.rootInjector.get(CRAFT_GLOBAL_ERROR) as unknown as {\n set(value: AnyCraftException | null): void;\n };\n sink.set(exception);\n }\n\n private async resolvePendingComponent(meta: CraftRouteMeta): Promise<void> {\n const resolved = await resolvePendingComponentInput(\n meta.pendingComponent ?? this.defaultPendingComponent,\n );\n const target = resolved ? normalizeCraftRouteTarget(resolved) : null;\n const component = null;\n this.pendingComponent.set(component);\n this.pendingTarget.set(target);\n }\n\n private resolveRouteComponent(match: CraftMatch): Type<unknown> | null {\n const component = match.route.component;\n return (component as Type<unknown> | undefined) ?? null;\n }\n\n private resolveRouteTarget(\n component: Type<unknown> | null,\n ): CraftRouteTarget | null {\n return (\n this._activeRouteInjector?.get(CRAFT_ROUTE_TARGET, null) ??\n (component ? craftRouteTarget(component) : null)\n );\n }\n\n private routeProps(): Readonly<Record<string, unknown>> {\n return collectMatchProps(this._match);\n }\n\n private clearTimers(): void {\n if (this._stayTimer !== null) {\n this._stayTimer.cancel();\n this._stayTimer = null;\n }\n if (this._blankTimer !== null) {\n this._blankTimer.cancel();\n this._blankTimer = null;\n }\n if (this._pendingCommitTimer !== null) {\n this._pendingCommitTimer.cancel();\n this._pendingCommitTimer = null;\n }\n }\n\n private teardown(): void {\n this._navId++;\n this.clearTimers();\n this._reactiveWatch?.destroy();\n this._reactiveWatch = null;\n this._frozen = false;\n this.clearExceptionSinks(this._meta);\n }\n\n private clearExceptionSinks(meta: CraftRouteMeta | null | undefined): void {\n if (!meta) return;\n for (const sink of Object.values(meta.exceptionSinks)) sink.set(null);\n }\n\n private isCurrentActivation(match: CraftMatch): boolean {\n return this._match !== null && isSameActivation(this._match, match);\n }\n}\n\nexport function createCraftRouterOutletController(): CraftRouterOutletController {\n return new CraftRouterOutletController();\n}\n\nexport async function resolveComponentInput(\n input: CraftExceptionComponentInput | null | undefined,\n): Promise<CraftRouteTargetInput | null> {\n if (!input) {\n return null;\n }\n if (input.loadComponent) {\n const loaded = await input.loadComponent();\n return loaded && typeof loaded === 'object' && 'default' in loaded\n ? loaded.default\n : loaded;\n }\n return input.component;\n}\n\nasync function resolvePendingComponentInput(\n input: CraftPendingComponentInput | null | undefined,\n): Promise<CraftRouteTargetInput | null> {\n if (!input) return null;\n if (isLazyPendingComponent(input)) {\n return (await input()).default;\n }\n return input;\n}\n\nfunction isLazyPendingComponent(\n input: CraftPendingComponentInput,\n): input is () => Promise<{ default: CraftRouteTargetInput }> {\n return (\n typeof input === 'function' &&\n !isCraftRouteTarget(input) &&\n input.prototype === undefined\n );\n}\n\nexport function craftOutletStateOf(\n outlet: CraftRouterOutletController,\n): CraftWritableSignal<CraftOutletState> {\n return outlet.state;\n}\n\nfunction silentRouter(): CraftRouterNavigationApi {\n return {\n url: '/',\n createUrlTree: (input) => ({\n toString: () => `/${input.to}`,\n __craftUrlTree: true as const,\n }),\n navigate: async () => true,\n navigateByUrl: async () => true,\n serializeUrl: (tree) => tree.toString(),\n getCurrentNavigation: () => null,\n };\n}\n\nfunction collectAncestorGuardMetas(\n fullMatch: CraftMatch,\n activated: CraftMatch,\n): CraftRouteMeta[] {\n const index = fullMatch.routes.indexOf(activated.route);\n if (index <= 0) {\n return [];\n }\n const metas: CraftRouteMeta[] = [];\n for (const route of fullMatch.routes.slice(0, index)) {\n const meta = getCraftRouteMeta(\n route.data as Record<string | symbol, unknown> | undefined,\n );\n if (meta?.match || meta?.guard) {\n metas.push(meta);\n }\n }\n return metas;\n}\n\nfunction composeRouteMetas(\n ancestors: CraftRouteMeta[],\n leaf: CraftRouteMeta | null,\n): CraftRouteMeta | null {\n if (ancestors.length === 0) {\n return leaf;\n }\n const guard: CraftRouteStepFactory = function* (route, state) {\n for (const ancestor of ancestors) {\n if (ancestor.match) {\n const matchResult = yield* ancestor.match(route, state);\n if (matchResult === false) {\n return false;\n }\n }\n if (ancestor.guard) {\n const guardResult = yield* ancestor.guard(route, state);\n if (guardResult === false) {\n return false;\n }\n }\n }\n if (leaf?.match) {\n const matchResult = yield* leaf.match(route, state);\n if (matchResult === false) {\n return false;\n }\n }\n if (leaf?.guard) {\n return yield* leaf.guard(route, state);\n }\n return true;\n };\n if (!leaf) {\n return {\n match: undefined,\n guard,\n resolve: undefined,\n handleExceptions: Object.assign(\n {},\n ...ancestors.map((ancestor) => ancestor.handleExceptions),\n ),\n guardDataSink: null,\n resolveDataSink: null,\n exceptionSinks: {},\n reactiveGuards: false,\n };\n }\n return {\n ...leaf,\n match: undefined,\n guard,\n };\n}\n\nfunction paramNamesForPath(path: string): string[] {\n if (!path || path === '**') {\n return [];\n }\n return path\n .split('/')\n .filter((segment) => segment.startsWith(':'))\n .map((segment) => segment.slice(1).replace(/\\?$/, ''));\n}\n\nfunction paramsForActivatedRoute(\n route: CraftCompiledRoute,\n params: Record<string, string>,\n): Record<string, string> {\n const names = paramNamesForPath(route.path);\n const owned: Record<string, string> = {};\n for (const name of names) {\n if (params[name] !== undefined) {\n owned[name] = params[name];\n }\n }\n return owned;\n}\n\n/**\n * Whether the live component survives this navigation.\n *\n * Angular decides this on the route config ALONE — `RouteReuseStrategy` keeps\n * the instance when `future.routeConfig === curr.routeConfig`, and a separate\n * `runGuardsAndResolvers` decides whether the chain re-runs on a param change.\n * Craft drove both from one comparison, so changing `:userId` tore the\n * component down and took with it whatever state it held — which is why a\n * `preservePreviousValue` query could never preserve anything across a\n * navigation.\n *\n * Craft keeps the component and lets reactivity carry the new params: the\n * fast-path publishes them on the live match signal, `injectRouteParamsSignal`\n * derives from it, and reactive guards re-evaluate off their own watch.\n *\n * Resolvers have no such reactivity yet — `meta.resolve` runs once, in the\n * `'enter'` phase — so a route carrying one still gets a full activation\n * instead of silently stale resolve data.\n */\nfunction canReuseActivation(\n current: CraftMatch,\n next: CraftMatch,\n meta: CraftRouteMeta | null,\n): boolean {\n if (current.route !== next.route) {\n return false;\n }\n return meta?.resolve ? isSameActivation(current, next) : true;\n}\n\nfunction isSameActivation(current: CraftMatch, next: CraftMatch): boolean {\n if (current.route !== next.route) {\n return false;\n }\n const currentParams = paramsForActivatedRoute(current.route, current.params);\n const nextParams = paramsForActivatedRoute(next.route, next.params);\n const currentKeys = Object.keys(currentParams);\n const nextKeys = Object.keys(nextParams);\n if (currentKeys.length !== nextKeys.length) {\n return false;\n }\n return currentKeys.every((key) => currentParams[key] === nextParams[key]);\n}\n\nfunction matchToSnapshot(match: CraftMatch): {\n params: Record<string, string>;\n queryParams: Record<string, string>;\n data: Record<string | symbol, unknown>;\n url: unknown[];\n routeConfig: { path: string };\n pathFromRoot: unknown[];\n component: unknown;\n} {\n return {\n params: match.params,\n queryParams: match.queryParams,\n data: match.data,\n url: [],\n routeConfig: { path: match.route.path },\n pathFromRoot: match.routes.map((route) => ({\n params: match.params,\n data: route.data ?? {},\n queryParams: match.queryParams,\n routeConfig: route,\n })),\n component: match.route.component,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-tokens.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAS7B,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC;IAC9B,QAAQ,IAAI,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,EAAE,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,KAAK,EAAE;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC5C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,YAAY,CAAC;IACjB,QAAQ,CACN,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;QAC5C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,qBAAqB,GACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CACX,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC3C,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IACzC,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,aAAa,8BAAmD,CAAC;AAE9E,eAAO,MAAM,cAAc,oDAER,CAAC;AAEpB,eAAO,MAAM,WAAW,gDAEvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,gDAER,CAAC;AAEvB,eAAO,MAAM,qBAAqB,+CAER,CAAC;AAE3B,eAAO,MAAM,YAAY,0CAExB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-tokens.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAYjF,SAAS,iBAAiB,CAAI,SAAiB;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAI,SAAS,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAI,SAAS,CAAC,CAAC;IAC9C,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAiDD,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAe,eAAe,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAE7C,gBAAgB,CAAC,CAAC;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAC1C,aAAa,CACd,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAEhD,mBAAmB,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAEpD,uBAAuB,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAC3C,cAAc,CACf,CAAC","sourcesContent":["import { InjectionToken } from './host/craft-compat';\nimport { craftToken, ɵregisterCraftTokenHostToken } from './host/craft-injector';\nimport type {\n CraftCompiledRoute,\n CraftHistory,\n CraftLocation,\n CraftMatch,\n} from './host/craft-router-runtime';\nimport type {\n CraftSignal,\n CraftWritableSignal,\n} from './host/craft-signal';\n\nfunction angularCraftToken<T>(debugName: string): InjectionToken<T> {\n const native = craftToken<T>(debugName);\n const host = new InjectionToken<T>(debugName);\n ɵregisterCraftTokenHostToken(native, host);\n return host;\n}\n\nexport type CraftUrlTree = {\n readonly __craftUrlTree: true;\n toString(): string;\n};\n\nexport type CraftRouterEvent = {\n readonly type: 'NavigationStart' | 'NavigationEnd';\n readonly url: string;\n};\n\nexport type CraftNavigationExtras = {\n replaceUrl?: boolean;\n skipLocationChange?: boolean;\n state?: Record<string, unknown>;\n queryParamsHandling?: 'merge' | 'preserve' | '';\n fragment?: string | null;\n preserveFragment?: boolean;\n};\n\nexport type CraftNavigation = {\n extras?: CraftNavigationExtras;\n};\n\nexport type CraftRouterNavigationApi = {\n readonly url: string;\n createUrlTree(input: {\n to: string;\n params?: Record<string, string>;\n queryParams?: Record<string, string> | null;\n fragment?: string | null;\n }): CraftUrlTree;\n navigate(\n input: {\n to: string;\n params?: Record<string, string>;\n queryParams?: Record<string, string> | null;\n fragment?: string | null;\n } & CraftNavigationExtras,\n ): Promise<boolean>;\n navigateByUrl(\n url: string | CraftUrlTree | { to: string },\n extras?: CraftNavigationExtras,\n ): Promise<boolean>;\n serializeUrl(tree: CraftUrlTree): string;\n getCurrentNavigation(): CraftNavigation | null;\n};\n\nexport const CRAFT_HISTORY = angularCraftToken<CraftHistory>('CRAFT_HISTORY');\n\nexport const CRAFT_LOCATION = angularCraftToken<\n CraftWritableSignal<CraftLocation>\n>('CRAFT_LOCATION');\n\nexport const CRAFT_MATCH = angularCraftToken<CraftSignal<CraftMatch | null>>(\n 'CRAFT_MATCH',\n);\n\nexport const CRAFT_CHILD_MATCH = angularCraftToken<\n CraftSignal<CraftMatch | null>\n>('CRAFT_CHILD_MATCH');\n\nexport const CRAFT_COMPILED_ROUTES = angularCraftToken<\n readonly CraftCompiledRoute[]\n>('CRAFT_COMPILED_ROUTES');\n\nexport const CRAFT_ROUTER = angularCraftToken<CraftRouterNavigationApi>(\n 'CRAFT_ROUTER',\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-trace.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,QAAQ,EAGR,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,OAAO,GACP,SAAS,GACT,kBAAkB,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;IAClD,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,MAAM,OAAO,KAChB,OAAO,CAAC;AAEb,eAAO,MAAM,kBAAkB,oDAM7B,CAAC;AAeH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,uBAAuB,GAC/B,CAAC,QAAQ,GAAG,oBAAoB,CAAC,EAAE,CAgCrC;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,MAAM,KAAK,GAChB,KAAK,CAgBP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router-trace.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,GAGtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,GAEb,MAAM,uBAAuB,CAAC;AAuB/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAElD,oBAAoB,EAAE;IACtB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;IACjB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAY,CAAC;AAMrD,SAAS,iBAAiB,CACxB,MAAc;IAEd,MAAM,MAAM,GAAI,MAAyC,CAAC,MAAM,CAAC;IACjE,OAAO,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAgC;IAEhC,OAAO;QACL;YACE,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,IAAI;SACZ;QACD,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9D,IAAI,CAAC,MAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEnC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACzB,uBAAuB,CACrB,QAAQ,EACR;oBACE,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,KAAK;oBACL,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf,EACD,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAkB,EAClB,OAAgC,EAChC,IAAiB;IAEjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,KAAa,EAAS,EAAE;QACnC,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,CAAU,CAAC;IACzD,CAAC,CAAC;IAEF,OAAO,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import {\n inject,\n InjectionToken,\n Injector,\n provideAppInitializer,\n runInInjectionContext,\n type EnvironmentProviders,\n type Provider,\n} from './host/craft-compat';\nimport type { CraftRoutePhase } from './craft-route-exceptions';\nimport {\n CRAFT_ROUTER,\n type CraftRouterEvent,\n} from './craft-router-tokens';\n\nexport type CraftRouterTraceStage =\n | 'match'\n | 'guard'\n | 'resolve'\n | 'exceptionHandler';\n\nexport type CraftRouterTraceContext = Readonly<{\n kind: 'routerEvent' | 'routeChain' | 'routeStage';\n phase: 'event' | 'run';\n eventName?: string;\n event?: CraftRouterEvent;\n stage?: CraftRouterTraceStage;\n routePhase?: CraftRoutePhase;\n url?: string;\n}>;\n\nexport type CraftRouterTraceWrapper = (\n context: CraftRouterTraceContext,\n next: () => unknown,\n) => unknown;\n\nexport const CRAFT_ROUTER_TRACE = new InjectionToken<\n readonly CraftRouterTraceWrapper[]\n>('CRAFT_ROUTER_TRACE', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\nconst routerTraceListeners = new WeakSet<Injector>();\n\ntype CraftRouterEvents = {\n subscribe(fn: (event: CraftRouterEvent) => void): { unsubscribe(): void };\n};\n\nfunction craftRouterEvents(\n router: object,\n): CraftRouterEvents | undefined {\n const events = (router as { events?: CraftRouterEvents }).events;\n return events && typeof events.subscribe === 'function' ? events : undefined;\n}\n\nexport function provideCraftRouterTrace(\n wrapper: CraftRouterTraceWrapper,\n): (Provider | EnvironmentProviders)[] {\n return [\n {\n provide: CRAFT_ROUTER_TRACE,\n useValue: wrapper,\n multi: true,\n },\n provideAppInitializer(() => {\n const injector = inject(Injector);\n const router = inject(CRAFT_ROUTER, { optional: true });\n const events = router ? craftRouterEvents(router) : undefined;\n\n if (!events || routerTraceListeners.has(injector)) {\n return;\n }\n routerTraceListeners.add(injector);\n\n events.subscribe((event) => {\n executeCraftRouterTrace(\n injector,\n {\n kind: 'routerEvent',\n phase: 'event',\n eventName: event.type,\n event,\n url: event.url,\n },\n () => undefined,\n );\n });\n }),\n ];\n}\n\nexport function executeCraftRouterTrace<Value>(\n injector: Injector,\n context: CraftRouterTraceContext,\n next: () => Value,\n): Value {\n const wrappers = injector.get(CRAFT_ROUTER_TRACE, []);\n if (wrappers.length === 0) {\n return next();\n }\n\n const run = (index: number): Value => {\n if (index === wrappers.length) {\n return next();\n }\n\n const wrapper = wrappers[index];\n return wrapper(context, () => run(index + 1)) as Value;\n };\n\n return runInInjectionContext(injector, () => run(0));\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"craft-router.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-router.ts"],"names":[],"mappings":"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"}