@craft-ts/core 0.7.0-beta.13

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 (682) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +58 -0
  3. package/src/index.d.ts +148 -0
  4. package/src/index.d.ts.map +1 -0
  5. package/src/index.js +150 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/after-recomputation.d.ts +327 -0
  8. package/src/lib/after-recomputation.d.ts.map +1 -0
  9. package/src/lib/after-recomputation.js +25 -0
  10. package/src/lib/after-recomputation.js.map +1 -0
  11. package/src/lib/app-checked-di.d.ts +82 -0
  12. package/src/lib/app-checked-di.d.ts.map +1 -0
  13. package/src/lib/app-checked-di.js +1 -0
  14. package/src/lib/app-checked-di.js.map +1 -0
  15. package/src/lib/async-process.d.ts +411 -0
  16. package/src/lib/async-process.d.ts.map +1 -0
  17. package/src/lib/async-process.js +702 -0
  18. package/src/lib/async-process.js.map +1 -0
  19. package/src/lib/branded-component/branded-component.d.ts +129 -0
  20. package/src/lib/branded-component/branded-component.d.ts.map +1 -0
  21. package/src/lib/branded-component/branded-component.js +7 -0
  22. package/src/lib/branded-component/branded-component.js.map +1 -0
  23. package/src/lib/browser-boundaries.d.ts +165 -0
  24. package/src/lib/browser-boundaries.d.ts.map +1 -0
  25. package/src/lib/browser-boundaries.js +550 -0
  26. package/src/lib/browser-boundaries.js.map +1 -0
  27. package/src/lib/client-di-requirement.d.ts +28 -0
  28. package/src/lib/client-di-requirement.d.ts.map +1 -0
  29. package/src/lib/client-di-requirement.js +11 -0
  30. package/src/lib/client-di-requirement.js.map +1 -0
  31. package/src/lib/client-function-middleware.d.ts +130 -0
  32. package/src/lib/client-function-middleware.d.ts.map +1 -0
  33. package/src/lib/client-function-middleware.js +144 -0
  34. package/src/lib/client-function-middleware.js.map +1 -0
  35. package/src/lib/component-monitoring.d.ts +7 -0
  36. package/src/lib/component-monitoring.d.ts.map +1 -0
  37. package/src/lib/component-monitoring.js +28 -0
  38. package/src/lib/component-monitoring.js.map +1 -0
  39. package/src/lib/component-register.d.ts +12 -0
  40. package/src/lib/component-register.d.ts.map +1 -0
  41. package/src/lib/component-register.js +13 -0
  42. package/src/lib/component-register.js.map +1 -0
  43. package/src/lib/computed-source.d.ts +303 -0
  44. package/src/lib/computed-source.d.ts.map +1 -0
  45. package/src/lib/computed-source.js +319 -0
  46. package/src/lib/computed-source.js.map +1 -0
  47. package/src/lib/correlation-id-plugin.d.ts +3 -0
  48. package/src/lib/correlation-id-plugin.d.ts.map +1 -0
  49. package/src/lib/correlation-id-plugin.js +73 -0
  50. package/src/lib/correlation-id-plugin.js.map +1 -0
  51. package/src/lib/correlation-id.d.ts +30 -0
  52. package/src/lib/correlation-id.d.ts.map +1 -0
  53. package/src/lib/correlation-id.js +86 -0
  54. package/src/lib/correlation-id.js.map +1 -0
  55. package/src/lib/craft-a11y.d.ts +22 -0
  56. package/src/lib/craft-a11y.d.ts.map +1 -0
  57. package/src/lib/craft-a11y.js +32 -0
  58. package/src/lib/craft-a11y.js.map +1 -0
  59. package/src/lib/craft-activated-route.d.ts +21 -0
  60. package/src/lib/craft-activated-route.d.ts.map +1 -0
  61. package/src/lib/craft-activated-route.js +20 -0
  62. package/src/lib/craft-activated-route.js.map +1 -0
  63. package/src/lib/craft-app-config.d.ts +91 -0
  64. package/src/lib/craft-app-config.d.ts.map +1 -0
  65. package/src/lib/craft-app-config.js +64 -0
  66. package/src/lib/craft-app-config.js.map +1 -0
  67. package/src/lib/craft-codec.d.ts +16 -0
  68. package/src/lib/craft-codec.d.ts.map +1 -0
  69. package/src/lib/craft-codec.js +1 -0
  70. package/src/lib/craft-codec.js.map +1 -0
  71. package/src/lib/craft-computed.d.ts +31 -0
  72. package/src/lib/craft-computed.d.ts.map +1 -0
  73. package/src/lib/craft-computed.js +81 -0
  74. package/src/lib/craft-computed.js.map +1 -0
  75. package/src/lib/craft-control-flow.d.ts +14 -0
  76. package/src/lib/craft-control-flow.d.ts.map +1 -0
  77. package/src/lib/craft-control-flow.js +18 -0
  78. package/src/lib/craft-control-flow.js.map +1 -0
  79. package/src/lib/craft-effect.d.ts +13 -0
  80. package/src/lib/craft-effect.d.ts.map +1 -0
  81. package/src/lib/craft-effect.js +93 -0
  82. package/src/lib/craft-effect.js.map +1 -0
  83. package/src/lib/craft-exception.d.ts +40 -0
  84. package/src/lib/craft-exception.d.ts.map +1 -0
  85. package/src/lib/craft-exception.js +16 -0
  86. package/src/lib/craft-exception.js.map +1 -0
  87. package/src/lib/craft-gen.d.ts +123 -0
  88. package/src/lib/craft-gen.d.ts.map +1 -0
  89. package/src/lib/craft-gen.js +90 -0
  90. package/src/lib/craft-gen.js.map +1 -0
  91. package/src/lib/craft-generator-runtime.d.ts +110 -0
  92. package/src/lib/craft-generator-runtime.d.ts.map +1 -0
  93. package/src/lib/craft-generator-runtime.js +191 -0
  94. package/src/lib/craft-generator-runtime.js.map +1 -0
  95. package/src/lib/craft-guard-runtime.d.ts +70 -0
  96. package/src/lib/craft-guard-runtime.d.ts.map +1 -0
  97. package/src/lib/craft-guard-runtime.js +195 -0
  98. package/src/lib/craft-guard-runtime.js.map +1 -0
  99. package/src/lib/craft-handshake.d.ts +35 -0
  100. package/src/lib/craft-handshake.d.ts.map +1 -0
  101. package/src/lib/craft-handshake.js +34 -0
  102. package/src/lib/craft-handshake.js.map +1 -0
  103. package/src/lib/craft-http-client.d.ts +236 -0
  104. package/src/lib/craft-http-client.d.ts.map +1 -0
  105. package/src/lib/craft-http-client.js +437 -0
  106. package/src/lib/craft-http-client.js.map +1 -0
  107. package/src/lib/craft-http-trace.d.ts +12 -0
  108. package/src/lib/craft-http-trace.d.ts.map +1 -0
  109. package/src/lib/craft-http-trace.js +28 -0
  110. package/src/lib/craft-http-trace.js.map +1 -0
  111. package/src/lib/craft-lazy.d.ts +42 -0
  112. package/src/lib/craft-lazy.d.ts.map +1 -0
  113. package/src/lib/craft-lazy.js +83 -0
  114. package/src/lib/craft-lazy.js.map +1 -0
  115. package/src/lib/craft-load-retry.d.ts +76 -0
  116. package/src/lib/craft-load-retry.d.ts.map +1 -0
  117. package/src/lib/craft-load-retry.js +160 -0
  118. package/src/lib/craft-load-retry.js.map +1 -0
  119. package/src/lib/craft-machine-history.d.ts +145 -0
  120. package/src/lib/craft-machine-history.d.ts.map +1 -0
  121. package/src/lib/craft-machine-history.js +276 -0
  122. package/src/lib/craft-machine-history.js.map +1 -0
  123. package/src/lib/craft-match.d.ts +49 -0
  124. package/src/lib/craft-match.d.ts.map +1 -0
  125. package/src/lib/craft-match.js +58 -0
  126. package/src/lib/craft-match.js.map +1 -0
  127. package/src/lib/craft-method.d.ts +28 -0
  128. package/src/lib/craft-method.d.ts.map +1 -0
  129. package/src/lib/craft-method.js +45 -0
  130. package/src/lib/craft-method.js.map +1 -0
  131. package/src/lib/craft-node-directive.d.ts +32 -0
  132. package/src/lib/craft-node-directive.d.ts.map +1 -0
  133. package/src/lib/craft-node-directive.js +22 -0
  134. package/src/lib/craft-node-directive.js.map +1 -0
  135. package/src/lib/craft-pending.d.ts +115 -0
  136. package/src/lib/craft-pending.d.ts.map +1 -0
  137. package/src/lib/craft-pending.js +187 -0
  138. package/src/lib/craft-pending.js.map +1 -0
  139. package/src/lib/craft-pipe.d.ts +63 -0
  140. package/src/lib/craft-pipe.d.ts.map +1 -0
  141. package/src/lib/craft-pipe.js +57 -0
  142. package/src/lib/craft-pipe.js.map +1 -0
  143. package/src/lib/craft-platform.d.ts +50 -0
  144. package/src/lib/craft-platform.d.ts.map +1 -0
  145. package/src/lib/craft-platform.js +175 -0
  146. package/src/lib/craft-platform.js.map +1 -0
  147. package/src/lib/craft-primitive-gen.d.ts +137 -0
  148. package/src/lib/craft-primitive-gen.d.ts.map +1 -0
  149. package/src/lib/craft-primitive-gen.js +76 -0
  150. package/src/lib/craft-primitive-gen.js.map +1 -0
  151. package/src/lib/craft-primitive-registry.d.ts +113 -0
  152. package/src/lib/craft-primitive-registry.d.ts.map +1 -0
  153. package/src/lib/craft-primitive-registry.js +159 -0
  154. package/src/lib/craft-primitive-registry.js.map +1 -0
  155. package/src/lib/craft-program-operators.d.ts +101 -0
  156. package/src/lib/craft-program-operators.d.ts.map +1 -0
  157. package/src/lib/craft-program-operators.js +116 -0
  158. package/src/lib/craft-program-operators.js.map +1 -0
  159. package/src/lib/craft-program-runtime.d.ts +80 -0
  160. package/src/lib/craft-program-runtime.d.ts.map +1 -0
  161. package/src/lib/craft-program-runtime.js +166 -0
  162. package/src/lib/craft-program-runtime.js.map +1 -0
  163. package/src/lib/craft-register-for-runtime.d.ts +39 -0
  164. package/src/lib/craft-register-for-runtime.d.ts.map +1 -0
  165. package/src/lib/craft-register-for-runtime.js +96 -0
  166. package/src/lib/craft-register-for-runtime.js.map +1 -0
  167. package/src/lib/craft-register-for.d.ts +57 -0
  168. package/src/lib/craft-register-for.d.ts.map +1 -0
  169. package/src/lib/craft-register-for.js +200 -0
  170. package/src/lib/craft-register-for.js.map +1 -0
  171. package/src/lib/craft-render-identity.d.ts +19 -0
  172. package/src/lib/craft-render-identity.d.ts.map +1 -0
  173. package/src/lib/craft-render-identity.js +23 -0
  174. package/src/lib/craft-render-identity.js.map +1 -0
  175. package/src/lib/craft-replay.d.ts +5 -0
  176. package/src/lib/craft-replay.d.ts.map +1 -0
  177. package/src/lib/craft-replay.js +28 -0
  178. package/src/lib/craft-replay.js.map +1 -0
  179. package/src/lib/craft-resolve.d.ts +39 -0
  180. package/src/lib/craft-resolve.d.ts.map +1 -0
  181. package/src/lib/craft-resolve.js +9 -0
  182. package/src/lib/craft-resolve.js.map +1 -0
  183. package/src/lib/craft-resource.d.ts +11 -0
  184. package/src/lib/craft-resource.d.ts.map +1 -0
  185. package/src/lib/craft-resource.js +264 -0
  186. package/src/lib/craft-resource.js.map +1 -0
  187. package/src/lib/craft-route-exceptions.d.ts +785 -0
  188. package/src/lib/craft-route-exceptions.d.ts.map +1 -0
  189. package/src/lib/craft-route-exceptions.js +86 -0
  190. package/src/lib/craft-route-exceptions.js.map +1 -0
  191. package/src/lib/craft-route-load-error.d.ts +1145 -0
  192. package/src/lib/craft-route-load-error.d.ts.map +1 -0
  193. package/src/lib/craft-route-load-error.js +173 -0
  194. package/src/lib/craft-route-load-error.js.map +1 -0
  195. package/src/lib/craft-route-meta.d.ts +52 -0
  196. package/src/lib/craft-route-meta.d.ts.map +1 -0
  197. package/src/lib/craft-route-meta.js +16 -0
  198. package/src/lib/craft-route-meta.js.map +1 -0
  199. package/src/lib/craft-route-target.d.ts +27 -0
  200. package/src/lib/craft-route-target.d.ts.map +1 -0
  201. package/src/lib/craft-route-target.js +22 -0
  202. package/src/lib/craft-route-target.js.map +1 -0
  203. package/src/lib/craft-router-outlet.d.ts +105 -0
  204. package/src/lib/craft-router-outlet.d.ts.map +1 -0
  205. package/src/lib/craft-router-outlet.js +735 -0
  206. package/src/lib/craft-router-outlet.js.map +1 -0
  207. package/src/lib/craft-router-tokens.d.ts +49 -0
  208. package/src/lib/craft-router-tokens.d.ts.map +1 -0
  209. package/src/lib/craft-router-tokens.js +15 -0
  210. package/src/lib/craft-router-tokens.js.map +1 -0
  211. package/src/lib/craft-router-trace.d.ts +18 -0
  212. package/src/lib/craft-router-trace.d.ts.map +1 -0
  213. package/src/lib/craft-router-trace.js +54 -0
  214. package/src/lib/craft-router-trace.js.map +1 -0
  215. package/src/lib/craft-router.d.ts +248 -0
  216. package/src/lib/craft-router.d.ts.map +1 -0
  217. package/src/lib/craft-router.js +559 -0
  218. package/src/lib/craft-router.js.map +1 -0
  219. package/src/lib/craft-routes.d.ts +755 -0
  220. package/src/lib/craft-routes.d.ts.map +1 -0
  221. package/src/lib/craft-routes.js +510 -0
  222. package/src/lib/craft-routes.js.map +1 -0
  223. package/src/lib/craft-service.d.ts +1034 -0
  224. package/src/lib/craft-service.d.ts.map +1 -0
  225. package/src/lib/craft-service.js +1072 -0
  226. package/src/lib/craft-service.js.map +1 -0
  227. package/src/lib/craft-service.shared.d.ts +35 -0
  228. package/src/lib/craft-service.shared.d.ts.map +1 -0
  229. package/src/lib/craft-service.shared.js +4 -0
  230. package/src/lib/craft-service.shared.js.map +1 -0
  231. package/src/lib/craft-settled.d.ts +171 -0
  232. package/src/lib/craft-settled.d.ts.map +1 -0
  233. package/src/lib/craft-settled.js +130 -0
  234. package/src/lib/craft-settled.js.map +1 -0
  235. package/src/lib/craft-ssr.d.ts +29 -0
  236. package/src/lib/craft-ssr.d.ts.map +1 -0
  237. package/src/lib/craft-ssr.js +27 -0
  238. package/src/lib/craft-ssr.js.map +1 -0
  239. package/src/lib/craft-state-machine-runtime.d.ts +88 -0
  240. package/src/lib/craft-state-machine-runtime.d.ts.map +1 -0
  241. package/src/lib/craft-state-machine-runtime.js +167 -0
  242. package/src/lib/craft-state-machine-runtime.js.map +1 -0
  243. package/src/lib/craft-state-machine.d.ts +233 -0
  244. package/src/lib/craft-state-machine.d.ts.map +1 -0
  245. package/src/lib/craft-state-machine.js +254 -0
  246. package/src/lib/craft-state-machine.js.map +1 -0
  247. package/src/lib/craft-target-runtime.d.ts +20 -0
  248. package/src/lib/craft-target-runtime.d.ts.map +1 -0
  249. package/src/lib/craft-target-runtime.js +42 -0
  250. package/src/lib/craft-target-runtime.js.map +1 -0
  251. package/src/lib/craft-transfer-snapshot.d.ts +19 -0
  252. package/src/lib/craft-transfer-snapshot.d.ts.map +1 -0
  253. package/src/lib/craft-transfer-snapshot.js +90 -0
  254. package/src/lib/craft-transfer-snapshot.js.map +1 -0
  255. package/src/lib/craft-unique.d.ts +7 -0
  256. package/src/lib/craft-unique.d.ts.map +1 -0
  257. package/src/lib/craft-unique.js +16 -0
  258. package/src/lib/craft-unique.js.map +1 -0
  259. package/src/lib/craft-until-settled.d.ts +99 -0
  260. package/src/lib/craft-until-settled.d.ts.map +1 -0
  261. package/src/lib/craft-until-settled.js +81 -0
  262. package/src/lib/craft-until-settled.js.map +1 -0
  263. package/src/lib/craft-use.d.ts +26 -0
  264. package/src/lib/craft-use.d.ts.map +1 -0
  265. package/src/lib/craft-use.js +37 -0
  266. package/src/lib/craft-use.js.map +1 -0
  267. package/src/lib/craft-view-transition.d.ts +102 -0
  268. package/src/lib/craft-view-transition.d.ts.map +1 -0
  269. package/src/lib/craft-view-transition.js +130 -0
  270. package/src/lib/craft-view-transition.js.map +1 -0
  271. package/src/lib/dom-event-hook.d.ts +30 -0
  272. package/src/lib/dom-event-hook.d.ts.map +1 -0
  273. package/src/lib/dom-event-hook.js +16 -0
  274. package/src/lib/dom-event-hook.js.map +1 -0
  275. package/src/lib/fn-wrapper.d.ts +13 -0
  276. package/src/lib/fn-wrapper.d.ts.map +1 -0
  277. package/src/lib/fn-wrapper.js +66 -0
  278. package/src/lib/fn-wrapper.js.map +1 -0
  279. package/src/lib/form/craft-field.d.ts +155 -0
  280. package/src/lib/form/craft-field.d.ts.map +1 -0
  281. package/src/lib/form/craft-field.directive.d.ts +70 -0
  282. package/src/lib/form/craft-field.directive.d.ts.map +1 -0
  283. package/src/lib/form/craft-field.directive.js +549 -0
  284. package/src/lib/form/craft-field.directive.js.map +1 -0
  285. package/src/lib/form/craft-field.js +586 -0
  286. package/src/lib/form/craft-field.js.map +1 -0
  287. package/src/lib/form/field-exception.d.ts +62 -0
  288. package/src/lib/form/field-exception.d.ts.map +1 -0
  289. package/src/lib/form/field-exception.js +37 -0
  290. package/src/lib/form/field-exception.js.map +1 -0
  291. package/src/lib/form/field-lens.d.ts +29 -0
  292. package/src/lib/form/field-lens.d.ts.map +1 -0
  293. package/src/lib/form/field-lens.js +32 -0
  294. package/src/lib/form/field-lens.js.map +1 -0
  295. package/src/lib/form/insert-form-attributes.d.ts +69 -0
  296. package/src/lib/form/insert-form-attributes.d.ts.map +1 -0
  297. package/src/lib/form/insert-form-attributes.js +163 -0
  298. package/src/lib/form/insert-form-attributes.js.map +1 -0
  299. package/src/lib/form/insert-form-internals.d.ts +110 -0
  300. package/src/lib/form/insert-form-internals.d.ts.map +1 -0
  301. package/src/lib/form/insert-form-internals.js +276 -0
  302. package/src/lib/form/insert-form-internals.js.map +1 -0
  303. package/src/lib/form/insert-form-schema.d.ts +10 -0
  304. package/src/lib/form/insert-form-schema.d.ts.map +1 -0
  305. package/src/lib/form/insert-form-schema.js +62 -0
  306. package/src/lib/form/insert-form-schema.js.map +1 -0
  307. package/src/lib/form/insert-form-submit.d.ts +79 -0
  308. package/src/lib/form/insert-form-submit.d.ts.map +1 -0
  309. package/src/lib/form/insert-form-submit.js +126 -0
  310. package/src/lib/form/insert-form-submit.js.map +1 -0
  311. package/src/lib/form/insert-form.d.ts +39 -0
  312. package/src/lib/form/insert-form.d.ts.map +1 -0
  313. package/src/lib/form/insert-form.js +255 -0
  314. package/src/lib/form/insert-form.js.map +1 -0
  315. package/src/lib/form/insert-select-form-tree.d.ts +33 -0
  316. package/src/lib/form/insert-select-form-tree.d.ts.map +1 -0
  317. package/src/lib/form/insert-select-form-tree.js +144 -0
  318. package/src/lib/form/insert-select-form-tree.js.map +1 -0
  319. package/src/lib/form/insert-sub-form-field.d.ts +17 -0
  320. package/src/lib/form/insert-sub-form-field.d.ts.map +1 -0
  321. package/src/lib/form/insert-sub-form-field.js +41 -0
  322. package/src/lib/form/insert-sub-form-field.js.map +1 -0
  323. package/src/lib/form/make-form-tree-insert.d.ts +22 -0
  324. package/src/lib/form/make-form-tree-insert.d.ts.map +1 -0
  325. package/src/lib/form/make-form-tree-insert.js +43 -0
  326. package/src/lib/form/make-form-tree-insert.js.map +1 -0
  327. package/src/lib/form/target-form-field.d.ts +11 -0
  328. package/src/lib/form/target-form-field.d.ts.map +1 -0
  329. package/src/lib/form/target-form-field.js +1 -0
  330. package/src/lib/form/target-form-field.js.map +1 -0
  331. package/src/lib/form/validator.d.ts +174 -0
  332. package/src/lib/form/validator.d.ts.map +1 -0
  333. package/src/lib/form/validator.js +465 -0
  334. package/src/lib/form/validator.js.map +1 -0
  335. package/src/lib/from-event-to-source$.d.ts +210 -0
  336. package/src/lib/from-event-to-source$.d.ts.map +1 -0
  337. package/src/lib/from-event-to-source$.js +29 -0
  338. package/src/lib/from-event-to-source$.js.map +1 -0
  339. package/src/lib/global-persister-handler.service.d.ts +10 -0
  340. package/src/lib/global-persister-handler.service.d.ts.map +1 -0
  341. package/src/lib/global-persister-handler.service.js +40 -0
  342. package/src/lib/global-persister-handler.service.js.map +1 -0
  343. package/src/lib/host/craft-compat.d.ts +242 -0
  344. package/src/lib/host/craft-compat.d.ts.map +1 -0
  345. package/src/lib/host/craft-compat.js +444 -0
  346. package/src/lib/host/craft-compat.js.map +1 -0
  347. package/src/lib/host/craft-dom.d.ts +16 -0
  348. package/src/lib/host/craft-dom.d.ts.map +1 -0
  349. package/src/lib/host/craft-dom.js +24 -0
  350. package/src/lib/host/craft-dom.js.map +1 -0
  351. package/src/lib/host/craft-http.d.ts +22 -0
  352. package/src/lib/host/craft-http.d.ts.map +1 -0
  353. package/src/lib/host/craft-http.js +80 -0
  354. package/src/lib/host/craft-http.js.map +1 -0
  355. package/src/lib/host/craft-injector-host.d.ts +3 -0
  356. package/src/lib/host/craft-injector-host.d.ts.map +1 -0
  357. package/src/lib/host/craft-injector-host.js +2 -0
  358. package/src/lib/host/craft-injector-host.js.map +1 -0
  359. package/src/lib/host/craft-injector.d.ts +40 -0
  360. package/src/lib/host/craft-injector.d.ts.map +1 -0
  361. package/src/lib/host/craft-injector.js +318 -0
  362. package/src/lib/host/craft-injector.js.map +1 -0
  363. package/src/lib/host/craft-linked-signal.d.ts +17 -0
  364. package/src/lib/host/craft-linked-signal.d.ts.map +1 -0
  365. package/src/lib/host/craft-linked-signal.js +86 -0
  366. package/src/lib/host/craft-linked-signal.js.map +1 -0
  367. package/src/lib/host/craft-router-runtime.d.ts +61 -0
  368. package/src/lib/host/craft-router-runtime.d.ts.map +1 -0
  369. package/src/lib/host/craft-router-runtime.js +456 -0
  370. package/src/lib/host/craft-router-runtime.js.map +1 -0
  371. package/src/lib/host/craft-router-types.d.ts +84 -0
  372. package/src/lib/host/craft-router-types.d.ts.map +1 -0
  373. package/src/lib/host/craft-router-types.js +35 -0
  374. package/src/lib/host/craft-router-types.js.map +1 -0
  375. package/src/lib/host/craft-signal.d.ts +45 -0
  376. package/src/lib/host/craft-signal.d.ts.map +1 -0
  377. package/src/lib/host/craft-signal.js +161 -0
  378. package/src/lib/host/craft-signal.js.map +1 -0
  379. package/src/lib/host/craft-test-bed.d.ts +63 -0
  380. package/src/lib/host/craft-test-bed.d.ts.map +1 -0
  381. package/src/lib/host/craft-test-bed.js +114 -0
  382. package/src/lib/host/craft-test-bed.js.map +1 -0
  383. package/src/lib/host-tag.d.ts +2 -0
  384. package/src/lib/host-tag.d.ts.map +1 -0
  385. package/src/lib/host-tag.js +2 -0
  386. package/src/lib/host-tag.js.map +1 -0
  387. package/src/lib/insert-entities.d.ts +131 -0
  388. package/src/lib/insert-entities.d.ts.map +1 -0
  389. package/src/lib/insert-entities.js +159 -0
  390. package/src/lib/insert-entities.js.map +1 -0
  391. package/src/lib/insert-noop-typing-anchor.d.ts +15 -0
  392. package/src/lib/insert-noop-typing-anchor.d.ts.map +1 -0
  393. package/src/lib/insert-noop-typing-anchor.js +16 -0
  394. package/src/lib/insert-noop-typing-anchor.js.map +1 -0
  395. package/src/lib/insert-pagination-placeholder-data.d.ts +122 -0
  396. package/src/lib/insert-pagination-placeholder-data.d.ts.map +1 -0
  397. package/src/lib/insert-pagination-placeholder-data.js +244 -0
  398. package/src/lib/insert-pagination-placeholder-data.js.map +1 -0
  399. package/src/lib/insert-react-on-mutation.d.ts +261 -0
  400. package/src/lib/insert-react-on-mutation.d.ts.map +1 -0
  401. package/src/lib/insert-react-on-mutation.js +227 -0
  402. package/src/lib/insert-react-on-mutation.js.map +1 -0
  403. package/src/lib/insert-select-resource.d.ts +31 -0
  404. package/src/lib/insert-select-resource.d.ts.map +1 -0
  405. package/src/lib/insert-select-resource.js +27 -0
  406. package/src/lib/insert-select-resource.js.map +1 -0
  407. package/src/lib/insert-select.d.ts +126 -0
  408. package/src/lib/insert-select.d.ts.map +1 -0
  409. package/src/lib/insert-select.js +535 -0
  410. package/src/lib/insert-select.js.map +1 -0
  411. package/src/lib/insert-storage-persister.d.ts +27 -0
  412. package/src/lib/insert-storage-persister.d.ts.map +1 -0
  413. package/src/lib/insert-storage-persister.js +65 -0
  414. package/src/lib/insert-storage-persister.js.map +1 -0
  415. package/src/lib/insert-typed-pipes.d.ts +64 -0
  416. package/src/lib/insert-typed-pipes.d.ts.map +1 -0
  417. package/src/lib/insert-typed-pipes.js +32 -0
  418. package/src/lib/insert-typed-pipes.js.map +1 -0
  419. package/src/lib/linked-source.d.ts +8 -0
  420. package/src/lib/linked-source.d.ts.map +1 -0
  421. package/src/lib/linked-source.js +24 -0
  422. package/src/lib/linked-source.js.map +1 -0
  423. package/src/lib/local-storage-persister.d.ts +4 -0
  424. package/src/lib/local-storage-persister.d.ts.map +1 -0
  425. package/src/lib/local-storage-persister.js +342 -0
  426. package/src/lib/local-storage-persister.js.map +1 -0
  427. package/src/lib/middleware-schema-shared.d.ts +67 -0
  428. package/src/lib/middleware-schema-shared.d.ts.map +1 -0
  429. package/src/lib/middleware-schema-shared.js +34 -0
  430. package/src/lib/middleware-schema-shared.js.map +1 -0
  431. package/src/lib/mock-http-request-for-route.d.ts +173 -0
  432. package/src/lib/mock-http-request-for-route.d.ts.map +1 -0
  433. package/src/lib/mock-http-request-for-route.js +127 -0
  434. package/src/lib/mock-http-request-for-route.js.map +1 -0
  435. package/src/lib/mutation.d.ts +332 -0
  436. package/src/lib/mutation.d.ts.map +1 -0
  437. package/src/lib/mutation.js +923 -0
  438. package/src/lib/mutation.js.map +1 -0
  439. package/src/lib/on$.d.ts +26 -0
  440. package/src/lib/on$.d.ts.map +1 -0
  441. package/src/lib/on$.js +19 -0
  442. package/src/lib/on$.js.map +1 -0
  443. package/src/lib/portable-server-function.d.ts +68 -0
  444. package/src/lib/portable-server-function.d.ts.map +1 -0
  445. package/src/lib/portable-server-function.js +97 -0
  446. package/src/lib/portable-server-function.js.map +1 -0
  447. package/src/lib/preserved-resource.d.ts +4 -0
  448. package/src/lib/preserved-resource.d.ts.map +1 -0
  449. package/src/lib/preserved-resource.js +60 -0
  450. package/src/lib/preserved-resource.js.map +1 -0
  451. package/src/lib/primitive-method-runtime-context.d.ts +28 -0
  452. package/src/lib/primitive-method-runtime-context.d.ts.map +1 -0
  453. package/src/lib/primitive-method-runtime-context.js +38 -0
  454. package/src/lib/primitive-method-runtime-context.js.map +1 -0
  455. package/src/lib/primitive-resource-runtime-context.d.ts +46 -0
  456. package/src/lib/primitive-resource-runtime-context.d.ts.map +1 -0
  457. package/src/lib/primitive-resource-runtime-context.js +102 -0
  458. package/src/lib/primitive-resource-runtime-context.js.map +1 -0
  459. package/src/lib/query-params.d.ts +216 -0
  460. package/src/lib/query-params.d.ts.map +1 -0
  461. package/src/lib/query-params.js +324 -0
  462. package/src/lib/query-params.js.map +1 -0
  463. package/src/lib/query.core.d.ts +214 -0
  464. package/src/lib/query.core.d.ts.map +1 -0
  465. package/src/lib/query.core.js +210 -0
  466. package/src/lib/query.core.js.map +1 -0
  467. package/src/lib/query.d.ts +324 -0
  468. package/src/lib/query.d.ts.map +1 -0
  469. package/src/lib/query.js +971 -0
  470. package/src/lib/query.js.map +1 -0
  471. package/src/lib/reactive-read.d.ts +162 -0
  472. package/src/lib/reactive-read.d.ts.map +1 -0
  473. package/src/lib/reactive-read.js +389 -0
  474. package/src/lib/reactive-read.js.map +1 -0
  475. package/src/lib/resource-by-id.d.ts +71 -0
  476. package/src/lib/resource-by-id.d.ts.map +1 -0
  477. package/src/lib/resource-by-id.js +294 -0
  478. package/src/lib/resource-by-id.js.map +1 -0
  479. package/src/lib/resource-exception.d.ts +30 -0
  480. package/src/lib/resource-exception.d.ts.map +1 -0
  481. package/src/lib/resource-exception.js +86 -0
  482. package/src/lib/resource-exception.js.map +1 -0
  483. package/src/lib/route-checked-di.d.ts +229 -0
  484. package/src/lib/route-checked-di.d.ts.map +1 -0
  485. package/src/lib/route-checked-di.js +1 -0
  486. package/src/lib/route-checked-di.js.map +1 -0
  487. package/src/lib/schema-validation.d.ts +89 -0
  488. package/src/lib/schema-validation.d.ts.map +1 -0
  489. package/src/lib/schema-validation.js +110 -0
  490. package/src/lib/schema-validation.js.map +1 -0
  491. package/src/lib/send-context-to-ai.d.ts +20 -0
  492. package/src/lib/send-context-to-ai.d.ts.map +1 -0
  493. package/src/lib/send-context-to-ai.js +18 -0
  494. package/src/lib/send-context-to-ai.js.map +1 -0
  495. package/src/lib/send-context-to-ai.tokens.d.ts +12 -0
  496. package/src/lib/send-context-to-ai.tokens.d.ts.map +1 -0
  497. package/src/lib/send-context-to-ai.tokens.js +1 -0
  498. package/src/lib/send-context-to-ai.tokens.js.map +1 -0
  499. package/src/lib/server-function-client.d.ts +102 -0
  500. package/src/lib/server-function-client.d.ts.map +1 -0
  501. package/src/lib/server-function-client.js +106 -0
  502. package/src/lib/server-function-client.js.map +1 -0
  503. package/src/lib/server-function-contract.d.ts +42 -0
  504. package/src/lib/server-function-contract.d.ts.map +1 -0
  505. package/src/lib/server-function-contract.js +23 -0
  506. package/src/lib/server-function-contract.js.map +1 -0
  507. package/src/lib/server-function-middleware.d.ts +222 -0
  508. package/src/lib/server-function-middleware.d.ts.map +1 -0
  509. package/src/lib/server-function-middleware.js +189 -0
  510. package/src/lib/server-function-middleware.js.map +1 -0
  511. package/src/lib/server-function.d.ts +114 -0
  512. package/src/lib/server-function.d.ts.map +1 -0
  513. package/src/lib/server-function.js +80 -0
  514. package/src/lib/server-function.js.map +1 -0
  515. package/src/lib/server-layer.d.ts +185 -0
  516. package/src/lib/server-layer.d.ts.map +1 -0
  517. package/src/lib/server-layer.js +121 -0
  518. package/src/lib/server-layer.js.map +1 -0
  519. package/src/lib/server.d.ts +83 -0
  520. package/src/lib/server.d.ts.map +1 -0
  521. package/src/lib/server.js +266 -0
  522. package/src/lib/server.js.map +1 -0
  523. package/src/lib/setup-craft-service-test.d.ts +90 -0
  524. package/src/lib/setup-craft-service-test.d.ts.map +1 -0
  525. package/src/lib/setup-craft-service-test.js +193 -0
  526. package/src/lib/setup-craft-service-test.js.map +1 -0
  527. package/src/lib/setup-craft-service-testing-by-register.d.ts +245 -0
  528. package/src/lib/setup-craft-service-testing-by-register.d.ts.map +1 -0
  529. package/src/lib/setup-craft-service-testing-by-register.js +316 -0
  530. package/src/lib/setup-craft-service-testing-by-register.js.map +1 -0
  531. package/src/lib/signal-proxy.d.ts +21 -0
  532. package/src/lib/signal-proxy.d.ts.map +1 -0
  533. package/src/lib/signal-proxy.js +79 -0
  534. package/src/lib/signal-proxy.js.map +1 -0
  535. package/src/lib/signal-source.d.ts +392 -0
  536. package/src/lib/signal-source.d.ts.map +1 -0
  537. package/src/lib/signal-source.js +433 -0
  538. package/src/lib/signal-source.js.map +1 -0
  539. package/src/lib/source$.d.ts +121 -0
  540. package/src/lib/source$.d.ts.map +1 -0
  541. package/src/lib/source$.js +171 -0
  542. package/src/lib/source$.js.map +1 -0
  543. package/src/lib/source-from-event.d.ts +350 -0
  544. package/src/lib/source-from-event.d.ts.map +1 -0
  545. package/src/lib/source-from-event.js +26 -0
  546. package/src/lib/source-from-event.js.map +1 -0
  547. package/src/lib/stacked-source.d.ts +6 -0
  548. package/src/lib/stacked-source.d.ts.map +1 -0
  549. package/src/lib/stacked-source.js +29 -0
  550. package/src/lib/stacked-source.js.map +1 -0
  551. package/src/lib/standard-schema.d.ts +43 -0
  552. package/src/lib/standard-schema.d.ts.map +1 -0
  553. package/src/lib/standard-schema.js +1 -0
  554. package/src/lib/standard-schema.js.map +1 -0
  555. package/src/lib/state-method-runtime-context.d.ts +13 -0
  556. package/src/lib/state-method-runtime-context.d.ts.map +1 -0
  557. package/src/lib/state-method-runtime-context.js +11 -0
  558. package/src/lib/state-method-runtime-context.js.map +1 -0
  559. package/src/lib/state.d.ts +158 -0
  560. package/src/lib/state.d.ts.map +1 -0
  561. package/src/lib/state.js +388 -0
  562. package/src/lib/state.js.map +1 -0
  563. package/src/lib/storage-persister.service.d.ts +25 -0
  564. package/src/lib/storage-persister.service.d.ts.map +1 -0
  565. package/src/lib/storage-persister.service.js +27 -0
  566. package/src/lib/storage-persister.service.js.map +1 -0
  567. package/src/lib/take-app-snapshot.d.ts +31 -0
  568. package/src/lib/take-app-snapshot.d.ts.map +1 -0
  569. package/src/lib/take-app-snapshot.js +93 -0
  570. package/src/lib/take-app-snapshot.js.map +1 -0
  571. package/src/lib/template-trace.d.ts +37 -0
  572. package/src/lib/template-trace.d.ts.map +1 -0
  573. package/src/lib/template-trace.js +37 -0
  574. package/src/lib/template-trace.js.map +1 -0
  575. package/src/lib/temporal-runtime.d.ts +146 -0
  576. package/src/lib/temporal-runtime.d.ts.map +1 -0
  577. package/src/lib/temporal-runtime.js +375 -0
  578. package/src/lib/temporal-runtime.js.map +1 -0
  579. package/src/lib/to-source.d.ts +335 -0
  580. package/src/lib/to-source.d.ts.map +1 -0
  581. package/src/lib/to-source.js +359 -0
  582. package/src/lib/to-source.js.map +1 -0
  583. package/src/lib/util/craft-resource-ref.d.ts +29 -0
  584. package/src/lib/util/craft-resource-ref.d.ts.map +1 -0
  585. package/src/lib/util/craft-resource-ref.js +1 -0
  586. package/src/lib/util/craft-resource-ref.js.map +1 -0
  587. package/src/lib/util/craft-resource-status.d.ts +17 -0
  588. package/src/lib/util/craft-resource-status.d.ts.map +1 -0
  589. package/src/lib/util/craft-resource-status.js +14 -0
  590. package/src/lib/util/craft-resource-status.js.map +1 -0
  591. package/src/lib/util/entities-util.d.ts +340 -0
  592. package/src/lib/util/entities-util.d.ts.map +1 -0
  593. package/src/lib/util/entities-util.js +136 -0
  594. package/src/lib/util/entities-util.js.map +1 -0
  595. package/src/lib/util/explicit-effect.d.ts +42 -0
  596. package/src/lib/util/explicit-effect.d.ts.map +1 -0
  597. package/src/lib/util/explicit-effect.js +37 -0
  598. package/src/lib/util/explicit-effect.js.map +1 -0
  599. package/src/lib/util/extract-signal-props-and-methods.d.ts +20 -0
  600. package/src/lib/util/extract-signal-props-and-methods.d.ts.map +1 -0
  601. package/src/lib/util/extract-signal-props-and-methods.js +1 -0
  602. package/src/lib/util/extract-signal-props-and-methods.js.map +1 -0
  603. package/src/lib/util/method-trigger-nonce.d.ts +45 -0
  604. package/src/lib/util/method-trigger-nonce.d.ts.map +1 -0
  605. package/src/lib/util/method-trigger-nonce.js +58 -0
  606. package/src/lib/util/method-trigger-nonce.js.map +1 -0
  607. package/src/lib/util/persister.type.d.ts +37 -0
  608. package/src/lib/util/persister.type.d.ts.map +1 -0
  609. package/src/lib/util/persister.type.js +1 -0
  610. package/src/lib/util/persister.type.js.map +1 -0
  611. package/src/lib/util/persister.util.d.ts +8 -0
  612. package/src/lib/util/persister.util.d.ts.map +1 -0
  613. package/src/lib/util/persister.util.js +71 -0
  614. package/src/lib/util/persister.util.js.map +1 -0
  615. package/src/lib/util/react-on-mutation-effect.d.ts +16 -0
  616. package/src/lib/util/react-on-mutation-effect.d.ts.map +1 -0
  617. package/src/lib/util/react-on-mutation-effect.js +148 -0
  618. package/src/lib/util/react-on-mutation-effect.js.map +1 -0
  619. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts +27 -0
  620. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts.map +1 -0
  621. package/src/lib/util/resource-by-id-changes-tracker.util.js +97 -0
  622. package/src/lib/util/resource-by-id-changes-tracker.util.js.map +1 -0
  623. package/src/lib/util/source.type.d.ts +6 -0
  624. package/src/lib/util/source.type.d.ts.map +1 -0
  625. package/src/lib/util/source.type.js +1 -0
  626. package/src/lib/util/source.type.js.map +1 -0
  627. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts +4 -0
  628. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts.map +1 -0
  629. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js +1 -0
  630. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js.map +1 -0
  631. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts +27 -0
  632. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts.map +1 -0
  633. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js +1 -0
  634. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js.map +1 -0
  635. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts +24 -0
  636. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts.map +1 -0
  637. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js +1 -0
  638. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js.map +1 -0
  639. package/src/lib/util/types/brand.d.ts +7 -0
  640. package/src/lib/util/types/brand.d.ts.map +1 -0
  641. package/src/lib/util/types/brand.js +9 -0
  642. package/src/lib/util/types/brand.js.map +1 -0
  643. package/src/lib/util/types/object-deep-path-mapper.type.d.ts +13 -0
  644. package/src/lib/util/types/object-deep-path-mapper.type.d.ts.map +1 -0
  645. package/src/lib/util/types/object-deep-path-mapper.type.js +1 -0
  646. package/src/lib/util/types/object-deep-path-mapper.type.js.map +1 -0
  647. package/src/lib/util/types/resource-by-id-config.type.d.ts +115 -0
  648. package/src/lib/util/types/resource-by-id-config.type.d.ts.map +1 -0
  649. package/src/lib/util/types/resource-by-id-config.type.js +1 -0
  650. package/src/lib/util/types/resource-by-id-config.type.js.map +1 -0
  651. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts +52 -0
  652. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts.map +1 -0
  653. package/src/lib/util/types/resource-with-params-or-params-fn.type.js +1 -0
  654. package/src/lib/util/types/resource-with-params-or-params-fn.type.js.map +1 -0
  655. package/src/lib/util/types/shared.type.d.ts +66 -0
  656. package/src/lib/util/types/shared.type.d.ts.map +1 -0
  657. package/src/lib/util/types/shared.type.js +1 -0
  658. package/src/lib/util/types/shared.type.js.map +1 -0
  659. package/src/lib/util/types/util.d.ts +16 -0
  660. package/src/lib/util/types/util.d.ts.map +1 -0
  661. package/src/lib/util/types/util.js +60 -0
  662. package/src/lib/util/types/util.js.map +1 -0
  663. package/src/lib/util/types/util.type.d.ts +67 -0
  664. package/src/lib/util/types/util.type.d.ts.map +1 -0
  665. package/src/lib/util/types/util.type.js +5 -0
  666. package/src/lib/util/types/util.type.js.map +1 -0
  667. package/src/lib/util/update-state.util.d.ts +10 -0
  668. package/src/lib/util/update-state.util.d.ts.map +1 -0
  669. package/src/lib/util/update-state.util.js +31 -0
  670. package/src/lib/util/update-state.util.js.map +1 -0
  671. package/src/lib/util/util.d.ts +19 -0
  672. package/src/lib/util/util.d.ts.map +1 -0
  673. package/src/lib/util/util.js +50 -0
  674. package/src/lib/util/util.js.map +1 -0
  675. package/src/lib/util/util.type.d.ts +107 -0
  676. package/src/lib/util/util.type.d.ts.map +1 -0
  677. package/src/lib/util/util.type.js +9 -0
  678. package/src/lib/util/util.type.js.map +1 -0
  679. package/src/lib/yieldable.d.ts +94 -0
  680. package/src/lib/yieldable.d.ts.map +1 -0
  681. package/src/lib/yieldable.js +109 -0
  682. package/src/lib/yieldable.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-craft-service-test.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/setup-craft-service-test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createEnvironmentInjector,\n ErrorHandler,\n getCraftRootDefaultProviders,\n type EnvironmentInjector,\n inject,\n Injector,\n runInInjectionContext,\n ɵEffectScheduler,\n ɵINJECTOR_SCOPE,\n} from './host/craft-compat';\nimport {\n createExposedServiceValue,\n getServiceMetaData,\n SERVICE_RUNTIME_OVERRIDES,\n} from './craft-service';\nimport { CRAFT_SERVICE_PROVIDER_BRAND } from './craft-service.shared';\nimport { ɵcraftInjectorFromHost } from './host/craft-injector-host';\nimport {\n createCraftInjector,\n type CraftInjector,\n type CraftProvider,\n} from './host/craft-injector';\nimport { APP_SNAPSHOT_REGISTRY, AppSnapshotRegistry } from './take-app-snapshot';\nimport type {\n BrandedServiceProvider,\n CraftServiceProvider,\n GetServiceDependencies,\n GetServiceReferenceOutput,\n ResolvedServiceOutput,\n ServiceBindings,\n ServiceMetaData,\n ServiceReference,\n} from './craft-service';\nimport type {\n CallableShell,\n ConcreteServiceScope,\n DependencyNodeScope,\n DependencyTreeChildren,\n FlattenDependencyTree,\n RequirementScope,\n RootExposureKey,\n Simplify,\n} from './craft-service.shared';\n\ntype GetServiceDependenciesTree<Target extends ServiceReference> =\n Target extends ServiceMetaData<\n any,\n any,\n any,\n any,\n infer Dependencies,\n any,\n any,\n any,\n any,\n any,\n boolean\n >\n ? Dependencies\n : GetServiceDependencies<Target>;\n\ntype ServiceDependencyChildren<Target extends ServiceReference> =\n GetServiceDependenciesTree<Target> extends {\n dependencies: infer Dependencies extends object;\n }\n ? Dependencies\n : {};\n\ntype FlattenedServiceTestingDependencyTree<Target extends ServiceReference> =\n FlattenDependencyTree<ServiceDependencyChildren<Target>>;\n\ntype DependencyNodeDerivedPropertiesUsed<Node> = Node extends {\n derivedPropertiesUsed: infer Used extends object;\n}\n ? Used\n : {};\n\ntype RequiredUsedMockImplementation<UsedProperties extends object> = Simplify<{\n [Key in Extract<keyof UsedProperties, string>]-?: Key extends RootExposureKey\n ? UsedProperties[Key] extends (...args: any[]) => any\n ? CallableShell<UsedProperties[Key]>\n : never\n : UsedProperties[Key];\n}>;\n\ntype MockImplementation<Output> = Simplify<\n (Output extends object\n ? Partial<{\n [Key in Extract<keyof Output, string>]: Output[Key];\n }>\n : {}) &\n (Output extends (...args: any[]) => any\n ? { $self?: CallableShell<Output> }\n : {})\n>;\n\ntype DerivedMockImplementationForNode<Node> = Simplify<\n Record<string, unknown> &\n RequiredUsedMockImplementation<DependencyNodeDerivedPropertiesUsed<Node>>\n>;\n\ntype MockImplementationForNode<Node> = Simplify<\n [keyof DependencyNodeDerivedPropertiesUsed<Node>] extends [never]\n ? Record<string, unknown>\n : DerivedMockImplementationForNode<Node>\n>;\n\ntype PublicMockShape<Implementation> = Implementation extends object\n ? Omit<Implementation, RootExposureKey>\n : {};\n\ntype MockPublicValue<Output, Implementation> = [Implementation] extends [\n undefined,\n]\n ? {}\n : Output extends (...args: any[]) => any\n ? RootExposureKey extends keyof NonNullable<Implementation>\n ? CallableShell<Output> & PublicMockShape<NonNullable<Implementation>>\n : PublicMockShape<NonNullable<Implementation>>\n : PublicMockShape<NonNullable<Implementation>>;\n\ntype MockRootCallable<Implementation> =\n NonNullable<Implementation> extends {\n $self: infer Root extends (...args: any[]) => any;\n }\n ? CallableShell<Root>\n : never;\n\ntype MockPublicValueFromImplementation<Implementation> = [\n Implementation,\n] extends [undefined]\n ? {}\n : [MockRootCallable<Implementation>] extends [never]\n ? PublicMockShape<NonNullable<Implementation>>\n : MockRootCallable<Implementation> &\n PublicMockShape<NonNullable<Implementation>>;\n\ntype ImplicitMockServiceOverride<Implementation extends object> = {\n readonly kind: 'mock';\n readonly implementation: Implementation;\n readonly reference?: undefined;\n};\n\ntype ExplicitMockServiceOverride<\n Reference extends ServiceReference = ServiceReference,\n Implementation extends object = object,\n> = {\n readonly kind: 'mock';\n readonly reference: Reference;\n readonly implementation: Implementation;\n};\n\ntype AnyMockServiceOverride =\n | ImplicitMockServiceOverride<any>\n | ExplicitMockServiceOverride<any, any>;\n\ntype AnyServiceOverride =\n | AnyMockServiceOverride\n | BrandedServiceProvider<string, RequirementScope>;\n\ntype OverrideForDependencyNode<Name extends string, Node> =\n | ImplicitMockServiceOverride<MockImplementationForNode<Node>>\n | ExplicitMockServiceOverride<\n ServiceReference<\n Name,\n Extract<DependencyNodeScope<Node>, ConcreteServiceScope>\n >,\n MockImplementationForNode<Node>\n >\n | (DependencyNodeScope<Node> extends RequirementScope\n ? BrandedServiceProvider<\n Name,\n Extract<DependencyNodeScope<Node>, RequirementScope>\n >\n : never);\n\ntype MissingCoverageForTree<Tree extends object, Overrides> = {\n [Name in Extract<keyof Tree, string>]: MissingCoverageForNode<\n Name,\n Tree[Name],\n Overrides\n >;\n}[Extract<keyof Tree, string>];\n\ntype OverrideAtPath<\n Overrides,\n Name extends string,\n> = Name extends keyof Overrides ? NonNullable<Overrides[Name]> : never;\n\ntype InvalidOverrideEntry<\n Target extends ServiceReference,\n Name extends string,\n Override,\n> = [NonNullable<Override>] extends [never]\n ? never\n : Name extends keyof FlattenedServiceTestingDependencyTree<Target>\n ? NonNullable<Override> extends OverrideForDependencyNode<\n Name,\n FlattenedServiceTestingDependencyTree<Target>[Name]\n >\n ? never\n : Name\n : Name;\n\ntype InvalidOverrideEntries<Target extends ServiceReference, Overrides> = {\n [Name in Extract<keyof Overrides, string>]: InvalidOverrideEntry<\n Target,\n Name,\n Overrides[Name]\n >;\n}[Extract<keyof Overrides, string>];\n\ntype AssertValidServiceTestOverrides<\n Target extends ServiceReference,\n Overrides,\n> = [InvalidOverrideEntries<Target, Overrides>] extends [never]\n ? {}\n : {\n ERROR_invalid_service_test_overrides: InvalidOverrideEntries<\n Target,\n Overrides\n >;\n };\n\ntype MissingCoverageForNode<Name extends string, Node, Overrides> = [\n OverrideAtPath<Overrides, Name>,\n] extends [never]\n ? DependencyNodeScope<Node> extends RequirementScope\n ? Name\n : MissingCoverageForTree<DependencyTreeChildren<Node>, Overrides>\n : OverrideAtPath<Overrides, Name> extends AnyMockServiceOverride\n ? never\n : OverrideAtPath<Overrides, Name> extends BrandedServiceProvider<\n Name,\n RequirementScope\n >\n ? MissingCoverageForTree<DependencyTreeChildren<Node>, Overrides>\n : DependencyNodeScope<Node> extends RequirementScope\n ? Name\n : MissingCoverageForTree<DependencyTreeChildren<Node>, Overrides>;\n\ntype AssertServiceTestCoverage<Target extends ServiceReference, Overrides> = [\n MissingCoverageForTree<ServiceDependencyChildren<Target>, Overrides>,\n] extends [never]\n ? {}\n : {\n ERROR_missing_service_test_overrides: MissingCoverageForTree<\n ServiceDependencyChildren<Target>,\n Overrides\n >;\n };\n\ntype ResolvedMockValueForNode<_Node, Override> =\n Override extends ImplicitMockServiceOverride<infer Implementation>\n ? MockPublicValueFromImplementation<Implementation>\n : Override extends ExplicitMockServiceOverride<any, infer Implementation>\n ? MockPublicValueFromImplementation<Implementation>\n : never;\n\ntype ExtractMockOverride<Override> = Extract<\n NonNullable<Override>,\n AnyMockServiceOverride\n>;\n\ntype CreateAngularTestMocks<\n Target extends ServiceReference,\n Overrides,\n> = Simplify<{\n [Name in keyof Overrides as [ExtractMockOverride<Overrides[Name]>] extends [\n never,\n ]\n ? never\n : Name]: Name extends keyof FlattenedServiceTestingDependencyTree<Target>\n ? ResolvedMockValueForNode<\n FlattenedServiceTestingDependencyTree<Target>[Name],\n ExtractMockOverride<Overrides[Name]>\n >\n : never;\n}>;\n\nfunction createMockPublicValue(implementation: unknown): unknown {\n return implementation === undefined\n ? {}\n : createExposedServiceValue(implementation);\n}\n\nfunction getProviderOverrideMeta(\n value: unknown,\n): { name: string; scope: RequirementScope } | undefined {\n if (\n typeof value !== 'object' ||\n value === null ||\n !(CRAFT_SERVICE_PROVIDER_BRAND in value)\n ) {\n return undefined;\n }\n\n return Reflect.get(value, CRAFT_SERVICE_PROVIDER_BRAND) as\n | { name: string; scope: RequirementScope }\n | undefined;\n}\n\nfunction assertOverrideReferenceName(name: string, reference: unknown) {\n const metaData = getServiceMetaData(reference);\n\n if (metaData.name !== name) {\n throw new Error(\n `Test override \"${name}\" does not match craftService/toCraftService reference \"${metaData.name}\".`,\n );\n }\n}\n\nfunction assertProviderOverrideName(name: string, provider: unknown) {\n const metaData = getProviderOverrideMeta(provider);\n\n if (!metaData) {\n throw new Error(`Expected a raw provider returned by provide${name}(...).`);\n }\n\n if (metaData.name !== name) {\n throw new Error(\n `Test override \"${name}\" does not match provider value for \"${metaData.name}\".`,\n );\n }\n}\n\nfunction isMockServiceOverride(\n override: AnyServiceOverride,\n): override is AnyMockServiceOverride {\n return (\n typeof override === 'object' &&\n override !== null &&\n 'kind' in override &&\n override.kind === 'mock'\n );\n}\n\nexport function mock<Implementation extends object>(\n implementation: Implementation,\n): ImplicitMockServiceOverride<Implementation>;\nexport function mock<\n Reference extends ServiceReference,\n Implementation extends MockImplementation<\n GetServiceReferenceOutput<Reference>\n >,\n>(\n reference: Reference,\n implementation: Implementation,\n): ExplicitMockServiceOverride<Reference, Implementation>;\nexport function mock(\n referenceOrImplementation: unknown,\n implementation?: unknown,\n): AnyMockServiceOverride {\n if (implementation === undefined) {\n return {\n kind: 'mock',\n implementation: referenceOrImplementation as object,\n };\n }\n\n return {\n kind: 'mock',\n reference: referenceOrImplementation as ServiceReference,\n implementation: implementation as object,\n };\n}\n\n/**\n * Sets up a `craftService` or `toCraftService` in an isolated injector with\n * typed dependency coverage.\n *\n * `setupCraftServiceTest` reads the runtime metadata attached to an inject helper\n * or a metadata object and instantiates the target inside an isolated injection\n * context. Its type system checks the dependency tree so required child services\n * are either:\n *\n * - mocked through `mock(...)`\n * - covered by the real raw provider returned by `provideX(...)`\n * - or pruned by mocking one of their ancestors\n *\n * Global dependencies remain optional to override, but can still be mocked. For\n * real Angular providers such as `provideRouter(...)`, use the `options.providers`\n * array.\n *\n * The returned `sut` is the fully injected service output. The returned `mocks`\n * object contains the public mock values actually injected into the test tree.\n *\n * @example\n * Mock a required child service\n * ```ts\n * const { sut, mocks } = setupCraftServiceTest(CounterExtended, {\n * Counter: mock({\n * $self: vi.fn(() => 41),\n * increment: vi.fn(),\n * }),\n * });\n *\n * sut.incrementCounter();\n * expect(mocks.Counter.increment).toHaveBeenCalledTimes(1);\n * ```\n *\n * @example\n * Use the real router while keeping explicit Angular providers in the test setup\n * ```ts\n * const { sut } = setupCraftServiceTest(Navigation, {}, {\n * providers: [provideRouter([])],\n * });\n * ```\n *\n * @example\n * Force explicit coverage for a manually provided dependency\n * ```ts\n * const { sut } = setupCraftServiceTest(Navigation, {\n * Router: provideAppRouter(),\n * });\n * ```\n */\nfunction createAngularHostCraftInjector(\n extraProviders: readonly CraftServiceProvider[] = [],\n): { injector: CraftInjector; environmentInjector: EnvironmentInjector } {\n const environmentInjector = createEnvironmentInjector(\n [\n ...getCraftRootDefaultProviders(),\n { provide: ɵINJECTOR_SCOPE, useValue: 'root' },\n { provide: ErrorHandler, useClass: ErrorHandler },\n { provide: APP_SNAPSHOT_REGISTRY, useValue: new AppSnapshotRegistry() },\n ...extraProviders,\n ],\n Injector.NULL as EnvironmentInjector,\n 'setupCraftServiceTest',\n );\n return {\n environmentInjector,\n injector: ɵcraftInjectorFromHost(environmentInjector),\n };\n}\n\n/** Flush queued microtasks and the host effect scheduler without TestBed.tick(). */\nexport async function flushCraftTest(injector: CraftInjector): Promise<void> {\n const flushScheduler = () => {\n injector.run(() => {\n inject(ɵEffectScheduler).flush();\n });\n };\n for (let index = 0; index < 5; index += 1) {\n flushScheduler();\n await Promise.resolve();\n }\n flushScheduler();\n}\n\nexport function setupCraftServiceTest(): { injector: CraftInjector };\nexport function setupCraftServiceTest(options: {\n providers: readonly CraftProvider[];\n}): { injector: CraftInjector };\nexport function setupCraftServiceTest<\n Target extends ServiceReference,\n const Overrides extends Record<string, unknown>,\n Bindings extends ServiceBindings<Target> | undefined = undefined,\n>(\n target: Target,\n overrides: Overrides &\n AssertValidServiceTestOverrides<Target, Overrides> &\n AssertServiceTestCoverage<Target, Overrides>,\n options?: {\n bindings?: Bindings;\n providers?: CraftServiceProvider[];\n },\n): {\n sut: ResolvedServiceOutput<Target, Bindings>;\n mocks: CreateAngularTestMocks<Target, Overrides>;\n injector: CraftInjector;\n};\nexport function setupCraftServiceTest(\n targetOrOptions?: ServiceReference | { providers: readonly CraftProvider[] },\n overrides?: Record<string, unknown>,\n options?: {\n bindings?: ServiceBindings<ServiceReference>;\n providers?: CraftServiceProvider[];\n },\n):\n | {\n injector: CraftInjector;\n }\n | {\n sut: unknown;\n mocks: Record<string, unknown>;\n injector: CraftInjector;\n } {\n if (arguments.length === 0) {\n return {\n injector: createAngularHostCraftInjector().injector,\n };\n }\n\n if (arguments.length === 1) {\n const nativeOptions = targetOrOptions as {\n providers: readonly CraftProvider[];\n };\n return {\n injector: createCraftInjector(nativeOptions.providers),\n };\n }\n\n const target = targetOrOptions as ServiceReference;\n const internalMetaData = getServiceMetaData(target);\n const providers: CraftServiceProvider[] = [...(options?.providers ?? [])];\n const runtimeOverrides = new Map<\n string,\n { kind: 'useValue'; value: unknown }\n >();\n const mocks: Record<string, unknown> = {};\n const hasExplicitTargetProvider = providers.some(\n (provider) =>\n getProviderOverrideMeta(provider)?.name === internalMetaData.name,\n );\n\n if (\n internalMetaData.providedIn === 'toProvide' ||\n internalMetaData.providedIn === 'manuallyProvidedAtRoot'\n ) {\n if (\n !('provide' in internalMetaData) ||\n typeof internalMetaData.provide !== 'function'\n ) {\n throw new Error(\n `Missing provide helper for craftService/toCraftService \"${internalMetaData.name}\" in setupCraftServiceTest.`,\n );\n }\n\n if (!hasExplicitTargetProvider) {\n if (Reflect.get(internalMetaData, 'usesProvidedInput') === true) {\n throw new Error(\n `setupCraftServiceTest requires an explicit provider for \"${internalMetaData.name}\" because it uses $provided.`,\n );\n }\n\n providers.push(internalMetaData.provide());\n }\n }\n\n for (const [name, override] of Object.entries(overrides ?? {}) as Array<\n [string, AnyServiceOverride | undefined]\n >) {\n if (!override) {\n continue;\n }\n\n if (!isMockServiceOverride(override)) {\n assertProviderOverrideName(name, override);\n providers.push(override);\n continue;\n }\n\n if (override.reference) {\n assertOverrideReferenceName(name, override.reference);\n }\n\n const publicValue = createMockPublicValue(override.implementation);\n\n runtimeOverrides.set(name, {\n kind: 'useValue',\n value: publicValue,\n });\n mocks[name] = publicValue;\n }\n\n providers.push({\n provide: SERVICE_RUNTIME_OVERRIDES,\n useValue: runtimeOverrides,\n });\n\n const { environmentInjector, injector } =\n createAngularHostCraftInjector(providers);\n\n return injector.run(() =>\n runInInjectionContext(environmentInjector, () => ({\n sut:\n options?.bindings === undefined\n ? internalMetaData.inject()\n : internalMetaData.inject(options.bindings),\n mocks,\n injector,\n })),\n ) as {\n sut: unknown;\n mocks: Record<string, unknown>;\n injector: CraftInjector;\n };\n}\n"]}
@@ -0,0 +1,245 @@
1
+ import { type Signal, type WritableSignal } from './host/craft-compat';
2
+ import type { BrandedServiceProvider, CraftServiceProvider, GetServiceDependencies, GetMergedServiceDependencyNodeMap, GetServiceReferenceMeta, GetServiceReferenceOutput, GetServiceTrackingMetadata, ResolvedServiceOutput, ServiceBindings, ServiceMetaData, ServiceReference, ServiceTrackingMetadata, ServiceYieldRequest } from './craft-service';
3
+ import type { CallableShell, ConcreteServiceScope, DependencyNodeScope, DependencyTreeChildren, MergeObjectUnion, RequirementScope, RootExposureKey, Simplify } from './craft-service.shared';
4
+ import type { CraftInjector } from './host/craft-injector';
5
+ type RegisterRealEntry = 'real';
6
+ type RegisterNotReachedEntry = 'notReached';
7
+ type AppStartDecision = 'run' | 'ignore';
8
+ type TrackingYielded<Tracking> = Tracking extends ServiceTrackingMetadata<any, any, any, infer Yielded, any, any, any, any> ? Yielded : never;
9
+ type FlattenedDependencyOutputRecordsFromTracking<Tracking> = Simplify<MergeObjectUnion<Extract<TrackingYielded<Tracking>, ServiceYieldRequest<any, any, any>> extends infer Request ? Request extends ServiceYieldRequest<any, any, infer DependencyTracking> ? DependencyOutputRecordFromTracking<DependencyTracking> | FlattenedDependencyOutputRecordsFromTracking<DependencyTracking> : never : never>>;
10
+ type DependencyOutputRecordFromTracking<Tracking> = Tracking extends ServiceTrackingMetadata<infer Name extends string, any, infer Output, any, any, any, any, any> ? {
11
+ [Key in Name]: Output extends WritableSignal<infer Value> ? Signal<Value> & Omit<Output, 'set' | 'update' | 'asReadonly'> : Output;
12
+ } : never;
13
+ type GetServiceDependenciesTree<Target extends ServiceReference> = Target extends ServiceMetaData<any, any, any, any, infer Dependencies, any, any, any, any, any, boolean> ? Dependencies : GetServiceDependencies<Target>;
14
+ type RootServiceName<Target extends ServiceReference> = Extract<GetServiceReferenceMeta<Target>['name'], string>;
15
+ type RootServiceScope<Target extends ServiceReference> = Extract<GetServiceReferenceMeta<Target>['providedIn'], ConcreteServiceScope>;
16
+ type RootNodeRecord<Target extends ServiceReference> = {
17
+ [Name in RootServiceName<Target>]: GetServiceDependenciesTree<Target>;
18
+ };
19
+ type RegisterNodeMap<Target extends ServiceReference> = Simplify<RootNodeRecord<Target> & GetMergedServiceDependencyNodeMap<Target>>;
20
+ type RootOutputRecord<Target extends ServiceReference> = {
21
+ [Name in RootServiceName<Target>]: GetServiceReferenceOutput<Target>;
22
+ };
23
+ type DependencyOutputMap<Target extends ServiceReference> = Simplify<RootOutputRecord<Target> & FlattenedDependencyOutputRecordsFromTracking<GetServiceTrackingMetadata<Target>>>;
24
+ type DependencyOutputForName<Target extends ServiceReference, Name extends string> = Name extends keyof DependencyOutputMap<Target> ? DependencyOutputMap<Target>[Name] : never;
25
+ type DependencyNodeDerivedPropertiesUsed<Node> = Node extends {
26
+ derivedPropertiesUsed: infer Used extends object;
27
+ } ? Used : {};
28
+ type RequiredUsedMockImplementation<UsedProperties extends object> = Simplify<{
29
+ [Key in Extract<keyof UsedProperties, string>]-?: Key extends RootExposureKey ? UsedProperties[Key] extends (...args: any[]) => any ? CallableShell<UsedProperties[Key]> : never : UsedProperties[Key] extends (...args: any[]) => any ? UsedProperties[Key] : Simplify<UsedProperties[Key]>;
30
+ }>;
31
+ type CompleteMockImplementation<Output> = Simplify<(Output extends object ? {
32
+ [Key in Extract<keyof Output, string>]-?: Output[Key];
33
+ } : {}) & (Output extends (...args: any[]) => any ? {
34
+ $self: CallableShell<Output>;
35
+ } : {})>;
36
+ type DependencyNodeUsesWholeService<Node> = Node extends {
37
+ usesWholeService: true;
38
+ } ? true : false;
39
+ type PartialMockOutputWithUsedOverrides<Output, Used extends object> = Output extends object ? Partial<{
40
+ [Key in Extract<keyof Output, string>]: Key extends keyof Used ? Used[Key] : Output[Key];
41
+ }> : {};
42
+ type MockImplementationForNode<Target extends ServiceReference, Name extends string, Node> = DependencyNodeUsesWholeService<Node> extends true ? CompleteMockImplementation<DependencyOutputForName<Target, Name>> : Simplify<PartialMockOutputWithUsedOverrides<DependencyOutputForName<Target, Name>, DependencyNodeDerivedPropertiesUsed<Node>> & (DependencyOutputForName<Target, Name> extends (...args: any[]) => any ? {
43
+ $self?: CallableShell<DependencyOutputForName<Target, Name>>;
44
+ } : {}) & RequiredUsedMockImplementation<DependencyNodeDerivedPropertiesUsed<Node>>>;
45
+ type ProviderOverrideForNode<Name extends string, Node> = DependencyNodeScope<Node> extends RequirementScope ? BrandedServiceProvider<Name, Extract<DependencyNodeScope<Node>, RequirementScope>> : never;
46
+ type OpenMarkerForScope<Scope> = Extract<Scope, RequirementScope> extends never ? RegisterRealEntry : never;
47
+ type OpenRegisterEntryForNode<Name extends string, Node> = ProviderOverrideForNode<Name, Node> | OpenMarkerForScope<DependencyNodeScope<Node>>;
48
+ type RegisterEntryForNode<Target extends ServiceReference, Name extends string, Node> = OpenRegisterEntryForNode<Name, Node> | MockImplementationForNode<Target, Name, Node> | RegisterNotReachedEntry;
49
+ type RootRegisterEntry<Target extends ServiceReference, Name extends RootServiceName<Target>> = RootServiceScope<Target> extends RequirementScope ? ProviderOverrideForNode<Name, GetServiceDependenciesTree<Target>> : RegisterRealEntry;
50
+ type RegisterShapeForTarget<Target extends ServiceReference> = Simplify<{
51
+ [Name in Extract<keyof RegisterNodeMap<Target>, string>]: Name extends RootServiceName<Target> ? RootRegisterEntry<Target, Extract<Name, RootServiceName<Target>>> : RegisterEntryForNode<Target, Name, RegisterNodeMap<Target>[Name]>;
52
+ }>;
53
+ type RegisterEntryKind<Entry> = Entry extends RegisterNotReachedEntry ? 'notReached' : Entry extends RegisterRealEntry ? 'real' : Entry extends BrandedServiceProvider<any, any> ? 'provider' : 'mock';
54
+ type EntryOpensBranch<Node, Entry> = DependencyNodeScope<Node> extends RequirementScope ? Entry extends BrandedServiceProvider<any, any> ? true : false : Entry extends RegisterRealEntry ? true : false;
55
+ type ReachableNamesForTree<Tree extends object, Register extends object> = {
56
+ [Name in Extract<keyof Tree, string>]: ReachableNamesForNode<Name, Tree[Name], Register>;
57
+ }[Extract<keyof Tree, string>];
58
+ type ReachableNamesForNode<Name extends string, Node, Register extends object> = Name | (EntryOpensBranch<Node, Name extends keyof Register ? Register[Name] : never> extends true ? ReachableNamesForTree<DependencyTreeChildren<Node>, Register> : never);
59
+ type ReachableRegisterNames<Target extends ServiceReference, Register extends object> = ReachableNamesForNode<RootServiceName<Target>, GetServiceDependenciesTree<Target>, Register>;
60
+ type RegisterNames<Target extends ServiceReference> = Extract<keyof RegisterShapeForTarget<Target>, string>;
61
+ type DependencyNodeAppStart<Node> = Node extends {
62
+ appStart: infer AppStart extends boolean;
63
+ } ? true extends AppStart ? true : false : false;
64
+ type DependencyNodeBrowserBoundary<Node> = Node extends {
65
+ browserBoundary: infer BrowserBoundary extends boolean;
66
+ } ? true extends BrowserBoundary ? true : false : false;
67
+ type DependencyNodeRequiresProvider<Node> = DependencyNodeScope<Node> extends RequirementScope ? true : false;
68
+ type RealReachableAppStartNames<ReachableNames extends string, NodeMap extends object, Register extends object> = Extract<{
69
+ [Name in ReachableNames]: Name extends keyof NodeMap ? DependencyNodeAppStart<NodeMap[Name]> extends true ? Name extends keyof Register ? Name extends MockedRegisterKeys<Register> ? never : RegisterEntryKind<Register[Name]> extends 'notReached' ? never : Name : never : never : never;
70
+ }[ReachableNames], string>;
71
+ type RealReachableServiceAppStartNames<Target extends ServiceReference, Register extends object> = RealReachableAppStartNames<Extract<ReachableRegisterNames<Target, Register>, string>, RegisterNodeMap<Target>, Register>;
72
+ type AppStartDecisionRecord<Names extends string> = Simplify<{
73
+ [Name in Names]-?: AppStartDecision;
74
+ }>;
75
+ type ReachableNotReachedNames<Target extends ServiceReference, Register extends object> = Extract<{
76
+ [Name in Extract<ReachableRegisterNames<Target, Register>, string>]: Name extends keyof Register ? RegisterEntryKind<Register[Name]> extends 'notReached' ? Name : never : Name;
77
+ }[Extract<ReachableRegisterNames<Target, Register>, string>], string>;
78
+ type UnreachableNonNotReachedNames<Target extends ServiceReference, Register extends object> = Extract<{
79
+ [Name in Exclude<RegisterNames<Target>, Extract<ReachableRegisterNames<Target, Register>, string>>]: Name extends keyof Register ? RegisterEntryKind<Register[Name]> extends 'notReached' ? never : Name : never;
80
+ }[Exclude<RegisterNames<Target>, Extract<ReachableRegisterNames<Target, Register>, string>>], string>;
81
+ type ExtraRegisterKeys<Target extends ServiceReference, Register extends object> = Exclude<Extract<keyof Register, string>, RegisterNames<Target>>;
82
+ type InvalidRootRegisterValue<Target extends ServiceReference, Register extends object> = RootServiceName<Target> extends keyof Register ? Register[RootServiceName<Target>] extends RootRegisterEntry<Target, RootServiceName<Target>> ? never : RootServiceName<Target> : RootServiceName<Target>;
83
+ type AssertValidRegister<Target extends ServiceReference, Register extends object> = [ExtraRegisterKeys<Target, Register>] extends [never] ? [InvalidRootRegisterValue<Target, Register>] extends [never] ? [ReachableNotReachedNames<Target, Register>] extends [never] ? [UnreachableNonNotReachedNames<Target, Register>] extends [never] ? {} : {
84
+ ERROR_register_entries_must_be_notReached: UnreachableNonNotReachedNames<Target, Register>;
85
+ } : {
86
+ ERROR_register_entries_cannot_be_notReached: ReachableNotReachedNames<Target, Register>;
87
+ } : {
88
+ ERROR_invalid_root_register_value: InvalidRootRegisterValue<Target, Register>;
89
+ } : {
90
+ ERROR_invalid_register_keys: ExtraRegisterKeys<Target, Register>;
91
+ };
92
+ type SetupTestingRegister<Target extends ServiceReference> = RegisterShapeForTarget<Target>;
93
+ type BoundaryOnlyToProvideRegisterShape<NodeMap extends object> = Simplify<Partial<{
94
+ [Name in Extract<keyof NodeMap, string> as DependencyNodeRequiresProvider<NodeMap[Name]> extends true ? Name : never]: ProviderOverrideForNode<Name, NodeMap[Name]>;
95
+ }>>;
96
+ type ServiceBoundaryOnlyToProvideRegisterShape<Target extends ServiceReference> = BoundaryOnlyToProvideRegisterShape<RegisterNodeMap<Target>>;
97
+ type ServiceBoundaryOnlyBoundaryRegisterShape<Target extends ServiceReference> = Simplify<Partial<{
98
+ [Name in Extract<keyof RegisterNodeMap<Target>, string> as DependencyNodeBrowserBoundary<RegisterNodeMap<Target>[Name]> extends true ? Name extends RootServiceName<Target> ? never : Name : never]: RegisterRealEntry | MockImplementationForNode<Target, Name, RegisterNodeMap<Target>[Name]> | RegisterNotReachedEntry;
99
+ }>>;
100
+ type BoundaryOnlyRegisterKeys<Register extends object> = Extract<keyof Register, string>;
101
+ type BoundaryOnlyEntryOpensBranch<Name extends string, Node, BoundaryRegister extends object, ToProvideRegister extends object, ForcedRealNames extends string> = Name extends ForcedRealNames ? DependencyNodeRequiresProvider<Node> extends true ? Name extends keyof ToProvideRegister ? true : false : true : DependencyNodeBrowserBoundary<Node> extends true ? Name extends keyof BoundaryRegister ? RegisterEntryKind<BoundaryRegister[Name]> extends 'real' ? true : false : false : DependencyNodeRequiresProvider<Node> extends true ? Name extends keyof ToProvideRegister ? true : false : true;
102
+ type BoundaryOnlyReachableNamesForTree<Tree extends object, BoundaryRegister extends object, ToProvideRegister extends object, ForcedRealNames extends string> = {
103
+ [Name in Extract<keyof Tree, string>]: BoundaryOnlyReachableNamesForNode<Name, Tree[Name], BoundaryRegister, ToProvideRegister, ForcedRealNames>;
104
+ }[Extract<keyof Tree, string>];
105
+ type BoundaryOnlyReachableNamesForNode<Name extends string, Node, BoundaryRegister extends object, ToProvideRegister extends object, ForcedRealNames extends string> = Name | (BoundaryOnlyEntryOpensBranch<Name, Node, BoundaryRegister, ToProvideRegister, ForcedRealNames> extends true ? BoundaryOnlyReachableNamesForTree<DependencyTreeChildren<Node>, BoundaryRegister, ToProvideRegister, ForcedRealNames> : never);
106
+ type ServiceBoundaryOnlyReachableNames<Target extends ServiceReference, BoundaryRegister extends object, ToProvideRegister extends object> = BoundaryOnlyReachableNamesForNode<RootServiceName<Target>, GetServiceDependenciesTree<Target>, BoundaryRegister, ToProvideRegister, RootServiceName<Target>>;
107
+ type BoundaryOnlyReachableBoundaryNames<ReachableNames extends string, NodeMap extends object, ForcedRealNames extends string> = Extract<{
108
+ [Name in ReachableNames]: Name extends keyof NodeMap ? Name extends ForcedRealNames ? never : DependencyNodeBrowserBoundary<NodeMap[Name]> extends true ? Name : never : never;
109
+ }[ReachableNames], string>;
110
+ type ServiceBoundaryOnlyReachableBoundaryNames<Target extends ServiceReference, BoundaryRegister extends object, ToProvideRegister extends object> = BoundaryOnlyReachableBoundaryNames<Extract<ServiceBoundaryOnlyReachableNames<Target, BoundaryRegister, ToProvideRegister>, string>, RegisterNodeMap<Target>, RootServiceName<Target>>;
111
+ type BoundaryOnlyProviderNameNeedsProvider<Name extends string, Node, BoundaryRegister extends object, ForcedRealNames extends string> = DependencyNodeRequiresProvider<Node> extends true ? Name extends ForcedRealNames ? Name : DependencyNodeBrowserBoundary<Node> extends true ? Name extends keyof BoundaryRegister ? RegisterEntryKind<BoundaryRegister[Name]> extends 'real' ? Name : never : never : Name : never;
112
+ type BoundaryOnlyRequiredProviderNames<ReachableNames extends string, NodeMap extends object, BoundaryRegister extends object, ForcedRealNames extends string> = Extract<{
113
+ [Name in ReachableNames]: Name extends keyof NodeMap ? BoundaryOnlyProviderNameNeedsProvider<Name, NodeMap[Name], BoundaryRegister, ForcedRealNames> : never;
114
+ }[ReachableNames], string>;
115
+ type ServiceBoundaryOnlyRequiredProviderNames<Target extends ServiceReference, BoundaryRegister extends object, ToProvideRegister extends object> = BoundaryOnlyRequiredProviderNames<Extract<ServiceBoundaryOnlyReachableNames<Target, BoundaryRegister, ToProvideRegister>, string>, RegisterNodeMap<Target>, BoundaryRegister, RootServiceName<Target>>;
116
+ type BoundaryOnlyRealReachableAppStartNames<ReachableNames extends string, NodeMap extends object, BoundaryRegister extends object, ForcedRealNames extends string> = Extract<{
117
+ [Name in ReachableNames]: Name extends keyof NodeMap ? DependencyNodeAppStart<NodeMap[Name]> extends true ? Name extends ForcedRealNames ? Name : DependencyNodeBrowserBoundary<NodeMap[Name]> extends true ? Name extends keyof BoundaryRegister ? RegisterEntryKind<BoundaryRegister[Name]> extends 'real' ? Name : never : never : Name : never : never;
118
+ }[ReachableNames], string>;
119
+ type ServiceBoundaryOnlyRealReachableAppStartNames<Target extends ServiceReference, BoundaryRegister extends object, ToProvideRegister extends object> = BoundaryOnlyRealReachableAppStartNames<Extract<ServiceBoundaryOnlyReachableNames<Target, BoundaryRegister, ToProvideRegister>, string>, RegisterNodeMap<Target>, BoundaryRegister, RootServiceName<Target>>;
120
+ type BoundaryOnlyReachableNotReachedBoundaryNames<ReachableBoundaryNames extends string, BoundaryRegister extends object> = Extract<{
121
+ [Name in ReachableBoundaryNames]: Name extends keyof BoundaryRegister ? RegisterEntryKind<BoundaryRegister[Name]> extends 'notReached' ? Name : never : never;
122
+ }[ReachableBoundaryNames], string>;
123
+ type BoundaryOnlyUnreachableNonNotReachedBoundaryNames<BoundaryNames extends string, ReachableBoundaryNames extends string, BoundaryRegister extends object> = Extract<{
124
+ [Name in Exclude<Extract<keyof BoundaryRegister, string>, ReachableBoundaryNames>]: Name extends BoundaryNames ? RegisterEntryKind<BoundaryRegister[Name]> extends 'notReached' ? never : Name : never;
125
+ }[Exclude<Extract<keyof BoundaryRegister, string>, ReachableBoundaryNames>], string>;
126
+ type BoundaryOnlyExtraRegisterKeys<Register extends object, Shape extends object> = Exclude<BoundaryOnlyRegisterKeys<Register>, BoundaryOnlyRegisterKeys<Shape>>;
127
+ type BoundaryOnlyRequiredRecord<Names extends string, Shape extends object> = Simplify<{
128
+ [Name in Names]-?: Name extends keyof Shape ? Shape[Name] : never;
129
+ }>;
130
+ type AssertValidBoundaryOnlyToProvideRegister<ToProvideRegister extends object, ToProvideShape extends object> = [BoundaryOnlyExtraRegisterKeys<ToProvideRegister, ToProvideShape>] extends [
131
+ never
132
+ ] ? {} : {
133
+ ERROR_invalid_toProvideRegister_keys: BoundaryOnlyExtraRegisterKeys<ToProvideRegister, ToProvideShape>;
134
+ };
135
+ type AssertValidBoundaryOnlyBoundaryRegister<BoundaryRegister extends object, BoundaryShape extends object, ReachableBoundaryNames extends string> = [BoundaryOnlyExtraRegisterKeys<BoundaryRegister, BoundaryShape>] extends [
136
+ never
137
+ ] ? [
138
+ BoundaryOnlyReachableNotReachedBoundaryNames<ReachableBoundaryNames, BoundaryRegister>
139
+ ] extends [never] ? [
140
+ BoundaryOnlyUnreachableNonNotReachedBoundaryNames<BoundaryOnlyRegisterKeys<BoundaryShape>, ReachableBoundaryNames, BoundaryRegister>
141
+ ] extends [never] ? {} : {
142
+ ERROR_boundary_entries_must_be_notReached: BoundaryOnlyUnreachableNonNotReachedBoundaryNames<BoundaryOnlyRegisterKeys<BoundaryShape>, ReachableBoundaryNames, BoundaryRegister>;
143
+ } : {
144
+ ERROR_boundary_entries_cannot_be_notReached: BoundaryOnlyReachableNotReachedBoundaryNames<ReachableBoundaryNames, BoundaryRegister>;
145
+ } : {
146
+ ERROR_invalid_boundaryRegister_keys: BoundaryOnlyExtraRegisterKeys<BoundaryRegister, BoundaryShape>;
147
+ };
148
+ type PublicMockShape<Implementation> = Implementation extends object ? Omit<Implementation, RootExposureKey> : {};
149
+ type MockRootCallable<Implementation> = NonNullable<Implementation> extends {
150
+ $self: infer Root extends (...args: any[]) => any;
151
+ } ? Root : never;
152
+ type MockPublicValueFromImplementation<Implementation> = [
153
+ Implementation
154
+ ] extends [undefined] ? {} : [MockRootCallable<Implementation>] extends [never] ? PublicMockShape<NonNullable<Implementation>> : MockRootCallable<Implementation> & PublicMockShape<NonNullable<Implementation>>;
155
+ type MockedRegisterKeys<Register extends object> = Extract<{
156
+ [Name in Extract<keyof Register, string>]: Register[Name] extends RegisterRealEntry | RegisterNotReachedEntry | BrandedServiceProvider<any, any> ? never : Name;
157
+ }[Extract<keyof Register, string>], string>;
158
+ type CreateRegisterMocks<Register extends object> = Simplify<{
159
+ [Name in MockedRegisterKeys<Register>]: MockPublicValueFromImplementation<Register[Name]>;
160
+ }>;
161
+ type BaseServiceTestingByRegisterOptions<Bindings extends ServiceBindings<any> | undefined> = {
162
+ bindings?: Bindings;
163
+ providers?: CraftServiceProvider[];
164
+ appStart?: Record<string, AppStartDecision>;
165
+ };
166
+ type ServiceTestingByRegisterOptionsParameter<Target extends ServiceReference, Register extends object, Bindings extends ServiceBindings<Target> | undefined> = [RealReachableServiceAppStartNames<Target, Register>] extends [never] ? [options?: BaseServiceTestingByRegisterOptions<Bindings>] : [
167
+ options: BaseServiceTestingByRegisterOptions<Bindings> & {
168
+ appStart: AppStartDecisionRecord<RealReachableServiceAppStartNames<Target, Register>>;
169
+ }
170
+ ];
171
+ type BoundaryOnlyToProvideConfig<ToProvideRegister extends object, ToProvideShape extends object, RequiredProviderNames extends string> = [RequiredProviderNames] extends [never] ? {
172
+ toProvideRegister?: ToProvideRegister & AssertValidBoundaryOnlyToProvideRegister<ToProvideRegister, ToProvideShape>;
173
+ } : {
174
+ toProvideRegister: ToProvideRegister & BoundaryOnlyRequiredRecord<RequiredProviderNames, ToProvideShape> & AssertValidBoundaryOnlyToProvideRegister<ToProvideRegister, ToProvideShape>;
175
+ };
176
+ type BoundaryOnlyBoundaryConfig<BoundaryRegister extends object, BoundaryShape extends object, ReachableBoundaryNames extends string> = [ReachableBoundaryNames] extends [never] ? {
177
+ boundaryRegister?: BoundaryRegister & AssertValidBoundaryOnlyBoundaryRegister<BoundaryRegister, BoundaryShape, ReachableBoundaryNames>;
178
+ } : {
179
+ boundaryRegister: BoundaryRegister & BoundaryOnlyRequiredRecord<ReachableBoundaryNames, BoundaryShape> & AssertValidBoundaryOnlyBoundaryRegister<BoundaryRegister, BoundaryShape, ReachableBoundaryNames>;
180
+ };
181
+ type BoundaryOnlyAppStartConfig<AppStartNames extends string> = [
182
+ AppStartNames
183
+ ] extends [never] ? {
184
+ appStart?: Record<string, AppStartDecision>;
185
+ } : {
186
+ appStart: AppStartDecisionRecord<AppStartNames>;
187
+ };
188
+ type BaseServiceBoundaryOnlyTestingOptions<Bindings extends ServiceBindings<any> | undefined> = {
189
+ bindings?: Bindings;
190
+ providers?: CraftServiceProvider[];
191
+ };
192
+ type ServiceBoundaryOnlyTestingConfig<Target extends ServiceReference, ToProvideRegister extends object, BoundaryRegister extends object, Bindings extends ServiceBindings<Target> | undefined> = Simplify<BaseServiceBoundaryOnlyTestingOptions<Bindings> & BoundaryOnlyToProvideConfig<ToProvideRegister, ServiceBoundaryOnlyToProvideRegisterShape<Target>, ServiceBoundaryOnlyRequiredProviderNames<Target, BoundaryRegister, ToProvideRegister>> & BoundaryOnlyBoundaryConfig<BoundaryRegister, ServiceBoundaryOnlyBoundaryRegisterShape<Target>, ServiceBoundaryOnlyReachableBoundaryNames<Target, BoundaryRegister, ToProvideRegister>> & BoundaryOnlyAppStartConfig<ServiceBoundaryOnlyRealReachableAppStartNames<Target, BoundaryRegister, ToProvideRegister>>>;
193
+ /**
194
+ * Sets up a crafted service from an explicit flat register derived from its full
195
+ * dependency graph.
196
+ *
197
+ * Each dependency must be present in the register and resolved as one of:
198
+ * - a real provider for `toProvide` / `manuallyProvidedAtRoot`
199
+ * - the literal `"real"` for non-provider scopes
200
+ * - a raw mock object
201
+ * - the literal `"notReached"` when the node is fully pruned by mocked ancestors
202
+ *
203
+ * The returned `sut` is the resolved root service. The returned `mocks` object
204
+ * only contains entries for dependencies that were actually mocked with raw
205
+ * objects.
206
+ *
207
+ * @example
208
+ * ```ts
209
+ * const { sut, mocks } = await setupCraftServiceTestingByRegister(
210
+ * CounterConsumer,
211
+ * {
212
+ * CounterConsumer: provideCounterConsumer(),
213
+ * Counter: {
214
+ * $self: vi.fn(() => 41),
215
+ * increment: vi.fn(),
216
+ * },
217
+ * },
218
+ * );
219
+ *
220
+ * expect(sut.read()).toBe(41);
221
+ * expect(mocks.Counter.increment).toBeDefined();
222
+ * ```
223
+ */
224
+ declare function setupCraftServiceTestingByRegisterImpl<Target extends ServiceReference, const Register extends SetupTestingRegister<Target>, Bindings extends ServiceBindings<Target> | undefined = undefined>(target: Target, register: Register & AssertValidRegister<Target, Register>, ...[options]: ServiceTestingByRegisterOptionsParameter<Target, Register, Bindings>): Promise<{
225
+ sut: ResolvedServiceOutput<Target, Bindings>;
226
+ mocks: CreateRegisterMocks<Register>;
227
+ injector: CraftInjector;
228
+ }>;
229
+ declare function setupCraftServiceTestingByRegisterBoundaryOnly<Target extends ServiceReference, const ToProvideRegister extends object = {}, const BoundaryRegister extends object = {}, Bindings extends ServiceBindings<Target> | undefined = undefined>(target: Target, config: ServiceBoundaryOnlyTestingConfig<Target, ToProvideRegister, BoundaryRegister, Bindings> & {
230
+ toProvideRegister?: ToProvideRegister;
231
+ boundaryRegister?: BoundaryRegister;
232
+ }): Promise<{
233
+ sut: ResolvedServiceOutput<Target, Bindings>;
234
+ mocks: CreateRegisterMocks<BoundaryRegister>;
235
+ injector: CraftInjector;
236
+ }>;
237
+ export declare const setupCraftServiceTestingByRegister: typeof setupCraftServiceTestingByRegisterImpl & {
238
+ boundaryOnly: typeof setupCraftServiceTestingByRegisterBoundaryOnly;
239
+ };
240
+ /** Backward-compatible alias for `setupCraftServiceTestingByRegister`. */
241
+ export declare const setupTestingService: typeof setupCraftServiceTestingByRegisterImpl & {
242
+ boundaryOnly: typeof setupCraftServiceTestingByRegisterBoundaryOnly;
243
+ };
244
+ export {};
245
+ //# sourceMappingURL=setup-craft-service-testing-by-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-craft-service-testing-by-register.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/setup-craft-service-testing-by-register.ts"],"names":[],"mappings":"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"}