@alloy-js/core 0.23.0-dev.12 → 0.23.0-dev.15

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 (521) hide show
  1. package/api-extractor.json +1 -8
  2. package/api-extractor.testing.json +19 -0
  3. package/dist/dev/src/binder.js +108 -1
  4. package/dist/dev/src/binder.js.map +1 -1
  5. package/dist/dev/src/components/Block.js +17 -5
  6. package/dist/dev/src/components/Block.js.map +1 -1
  7. package/dist/dev/src/components/List.js +1 -1
  8. package/dist/dev/src/components/List.js.map +1 -1
  9. package/dist/dev/src/components/MemberDeclaration.js +6 -6
  10. package/dist/dev/src/components/MemberName.js +7 -0
  11. package/dist/dev/src/components/MemberName.js.map +1 -1
  12. package/dist/dev/src/components/MemberScope.js +7 -2
  13. package/dist/dev/src/components/MemberScope.js.map +1 -1
  14. package/dist/dev/src/components/Output.js +4 -4
  15. package/dist/dev/src/components/Output.js.map +1 -1
  16. package/dist/dev/src/components/Scope.js +7 -1
  17. package/dist/dev/src/components/Scope.js.map +1 -1
  18. package/dist/dev/src/components/SourceFile.js +3 -3
  19. package/dist/dev/src/components/SourceFile.js.map +1 -1
  20. package/dist/dev/src/context/binder.js +5 -0
  21. package/dist/dev/src/context/binder.js.map +1 -1
  22. package/dist/dev/src/context/format-options.js +14 -1
  23. package/dist/dev/src/context/format-options.js.map +1 -1
  24. package/dist/dev/src/context/scope.js +5 -0
  25. package/dist/dev/src/context/scope.js.map +1 -1
  26. package/dist/dev/src/context/source-directory.js +9 -0
  27. package/dist/dev/src/context/source-directory.js.map +1 -1
  28. package/dist/dev/src/debug/cli.js +3 -2
  29. package/dist/dev/src/debug/cli.js.map +1 -1
  30. package/dist/dev/src/debug/source-map.browser.js +24 -0
  31. package/dist/dev/src/debug/source-map.browser.js.map +1 -0
  32. package/dist/dev/src/debug/trace.js +7 -6
  33. package/dist/dev/src/debug/trace.js.map +1 -1
  34. package/dist/dev/src/host/node-host.browser.js +21 -0
  35. package/dist/dev/src/host/node-host.browser.js.map +1 -0
  36. package/dist/dev/src/host/node-host.js +20 -0
  37. package/dist/dev/src/host/node-host.js.map +1 -0
  38. package/dist/dev/src/library-symbol-reference.js +54 -0
  39. package/dist/dev/src/library-symbol-reference.js.map +1 -1
  40. package/dist/dev/src/name-policy.js +27 -0
  41. package/dist/dev/src/name-policy.js.map +1 -1
  42. package/dist/dev/src/reactivity.js +16 -0
  43. package/dist/dev/src/reactivity.js.map +1 -1
  44. package/dist/dev/src/render-stack.js +4 -3
  45. package/dist/dev/src/render-stack.js.map +1 -1
  46. package/dist/dev/src/render.js.map +1 -1
  47. package/dist/dev/src/symbols/output-scope.js +34 -1
  48. package/dist/dev/src/symbols/output-scope.js.map +1 -1
  49. package/dist/dev/src/symbols/output-space.js +15 -0
  50. package/dist/dev/src/symbols/output-space.js.map +1 -1
  51. package/dist/dev/src/symbols/output-symbol.js +81 -11
  52. package/dist/dev/src/symbols/output-symbol.js.map +1 -1
  53. package/dist/dev/src/symbols/symbol-slot.js +7 -0
  54. package/dist/dev/src/symbols/symbol-slot.js.map +1 -1
  55. package/dist/dev/src/symbols/symbol-slot.test.js +27 -2
  56. package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -1
  57. package/dist/dev/src/write-output.js +6 -5
  58. package/dist/dev/src/write-output.js.map +1 -1
  59. package/dist/dev/test/browser-build.test.js +67 -68
  60. package/dist/dev/test/browser-build.test.js.map +1 -1
  61. package/dist/dev/testing/create-test-wrapper.js +59 -5
  62. package/dist/dev/testing/create-test-wrapper.js.map +1 -1
  63. package/dist/dev/testing/extend-expect.js +20 -0
  64. package/dist/dev/testing/extend-expect.js.map +1 -1
  65. package/dist/dev/testing/index.js +1 -1
  66. package/dist/dev/testing/index.js.map +1 -1
  67. package/dist/dev/testing/render.js +11 -0
  68. package/dist/dev/testing/render.js.map +1 -1
  69. package/dist/src/binder.d.ts +107 -3
  70. package/dist/src/binder.d.ts.map +1 -1
  71. package/dist/src/binder.js +108 -1
  72. package/dist/src/binder.js.map +1 -1
  73. package/dist/src/components/Block.d.ts +12 -0
  74. package/dist/src/components/Block.d.ts.map +1 -1
  75. package/dist/src/components/Block.js +12 -0
  76. package/dist/src/components/Block.js.map +1 -1
  77. package/dist/src/components/List.d.ts +11 -1
  78. package/dist/src/components/List.d.ts.map +1 -1
  79. package/dist/src/components/List.js.map +1 -1
  80. package/dist/src/components/MemberDeclaration.d.ts +6 -6
  81. package/dist/src/components/MemberDeclaration.js +6 -6
  82. package/dist/src/components/MemberName.d.ts +6 -0
  83. package/dist/src/components/MemberName.d.ts.map +1 -1
  84. package/dist/src/components/MemberName.js +7 -0
  85. package/dist/src/components/MemberName.js.map +1 -1
  86. package/dist/src/components/MemberScope.d.ts +5 -0
  87. package/dist/src/components/MemberScope.d.ts.map +1 -1
  88. package/dist/src/components/MemberScope.js +5 -0
  89. package/dist/src/components/MemberScope.js.map +1 -1
  90. package/dist/src/components/Output.d.ts +4 -2
  91. package/dist/src/components/Output.d.ts.map +1 -1
  92. package/dist/src/components/Output.js.map +1 -1
  93. package/dist/src/components/Scope.d.ts +6 -0
  94. package/dist/src/components/Scope.d.ts.map +1 -1
  95. package/dist/src/components/Scope.js +6 -0
  96. package/dist/src/components/Scope.js.map +1 -1
  97. package/dist/src/components/SourceFile.d.ts +22 -2
  98. package/dist/src/components/SourceFile.d.ts.map +1 -1
  99. package/dist/src/components/SourceFile.js.map +1 -1
  100. package/dist/src/context/binder.d.ts +4 -0
  101. package/dist/src/context/binder.d.ts.map +1 -1
  102. package/dist/src/context/binder.js +5 -0
  103. package/dist/src/context/binder.js.map +1 -1
  104. package/dist/src/context/format-options.d.ts +14 -1
  105. package/dist/src/context/format-options.d.ts.map +1 -1
  106. package/dist/src/context/format-options.js +14 -1
  107. package/dist/src/context/format-options.js.map +1 -1
  108. package/dist/src/context/scope.d.ts +4 -0
  109. package/dist/src/context/scope.d.ts.map +1 -1
  110. package/dist/src/context/scope.js +5 -0
  111. package/dist/src/context/scope.js.map +1 -1
  112. package/dist/src/context/source-directory.d.ts +9 -0
  113. package/dist/src/context/source-directory.d.ts.map +1 -1
  114. package/dist/src/context/source-directory.js +9 -0
  115. package/dist/src/context/source-directory.js.map +1 -1
  116. package/dist/src/debug/cli.d.ts.map +1 -1
  117. package/dist/src/debug/cli.js +3 -2
  118. package/dist/src/debug/cli.js.map +1 -1
  119. package/dist/src/debug/source-map.browser.d.ts +16 -0
  120. package/dist/src/debug/source-map.browser.d.ts.map +1 -0
  121. package/dist/src/debug/source-map.browser.js +24 -0
  122. package/dist/src/debug/source-map.browser.js.map +1 -0
  123. package/dist/src/debug/trace.d.ts.map +1 -1
  124. package/dist/src/debug/trace.js +7 -6
  125. package/dist/src/debug/trace.js.map +1 -1
  126. package/dist/src/host/node-host.browser.d.ts +11 -0
  127. package/dist/src/host/node-host.browser.d.ts.map +1 -0
  128. package/dist/src/host/node-host.browser.js +21 -0
  129. package/dist/src/host/node-host.browser.js.map +1 -0
  130. package/dist/src/host/node-host.d.ts +11 -0
  131. package/dist/src/host/node-host.d.ts.map +1 -0
  132. package/dist/src/host/node-host.js +20 -0
  133. package/dist/src/host/node-host.js.map +1 -0
  134. package/dist/src/library-symbol-reference.d.ts +52 -0
  135. package/dist/src/library-symbol-reference.d.ts.map +1 -1
  136. package/dist/src/library-symbol-reference.js +54 -0
  137. package/dist/src/library-symbol-reference.js.map +1 -1
  138. package/dist/src/name-policy.d.ts +30 -3
  139. package/dist/src/name-policy.d.ts.map +1 -1
  140. package/dist/src/name-policy.js +27 -0
  141. package/dist/src/name-policy.js.map +1 -1
  142. package/dist/src/reactivity.d.ts +15 -0
  143. package/dist/src/reactivity.d.ts.map +1 -1
  144. package/dist/src/reactivity.js +16 -0
  145. package/dist/src/reactivity.js.map +1 -1
  146. package/dist/src/render-stack.d.ts.map +1 -1
  147. package/dist/src/render-stack.js +4 -3
  148. package/dist/src/render-stack.js.map +1 -1
  149. package/dist/src/render.d.ts +2 -0
  150. package/dist/src/render.d.ts.map +1 -1
  151. package/dist/src/render.js.map +1 -1
  152. package/dist/src/symbols/output-scope.d.ts +33 -1
  153. package/dist/src/symbols/output-scope.d.ts.map +1 -1
  154. package/dist/src/symbols/output-scope.js +34 -1
  155. package/dist/src/symbols/output-scope.js.map +1 -1
  156. package/dist/src/symbols/output-space.d.ts +12 -0
  157. package/dist/src/symbols/output-space.d.ts.map +1 -1
  158. package/dist/src/symbols/output-space.js +15 -0
  159. package/dist/src/symbols/output-space.js.map +1 -1
  160. package/dist/src/symbols/output-symbol.d.ts +93 -12
  161. package/dist/src/symbols/output-symbol.d.ts.map +1 -1
  162. package/dist/src/symbols/output-symbol.js +81 -11
  163. package/dist/src/symbols/output-symbol.js.map +1 -1
  164. package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
  165. package/dist/src/symbols/symbol-slot.js +7 -0
  166. package/dist/src/symbols/symbol-slot.js.map +1 -1
  167. package/dist/src/symbols/symbol-slot.test.js +18 -1
  168. package/dist/src/symbols/symbol-slot.test.js.map +1 -1
  169. package/dist/src/write-output.d.ts.map +1 -1
  170. package/dist/src/write-output.js +6 -5
  171. package/dist/src/write-output.js.map +1 -1
  172. package/dist/test/browser-build.test.js +67 -68
  173. package/dist/test/browser-build.test.js.map +1 -1
  174. package/dist/testing/create-test-wrapper.d.ts +75 -2
  175. package/dist/testing/create-test-wrapper.d.ts.map +1 -1
  176. package/dist/testing/create-test-wrapper.js +55 -1
  177. package/dist/testing/create-test-wrapper.js.map +1 -1
  178. package/dist/testing/extend-expect.d.ts +26 -0
  179. package/dist/testing/extend-expect.d.ts.map +1 -1
  180. package/dist/testing/extend-expect.js +20 -0
  181. package/dist/testing/extend-expect.js.map +1 -1
  182. package/dist/testing/index.d.ts +1 -1
  183. package/dist/testing/index.d.ts.map +1 -1
  184. package/dist/testing/index.js +1 -1
  185. package/dist/testing/index.js.map +1 -1
  186. package/dist/testing/render.d.ts +9 -0
  187. package/dist/testing/render.d.ts.map +1 -1
  188. package/dist/testing/render.js +11 -0
  189. package/dist/testing/render.js.map +1 -1
  190. package/dist/tsconfig.tsbuildinfo +1 -1
  191. package/docs/api/components/AppendRegion.md +83 -0
  192. package/docs/api/components/Block.md +49 -0
  193. package/docs/api/components/CopyFile.md +26 -0
  194. package/docs/api/components/Declaration.md +85 -0
  195. package/docs/api/components/For.md +91 -0
  196. package/docs/api/components/Indent.md +40 -0
  197. package/docs/api/components/List.md +68 -0
  198. package/docs/api/components/MemberDeclaration.md +89 -0
  199. package/docs/api/components/MemberName.md +21 -0
  200. package/docs/api/components/MemberScope.md +81 -0
  201. package/docs/api/components/Name.md +19 -0
  202. package/docs/api/components/Output.md +62 -0
  203. package/docs/api/components/Prose.md +29 -0
  204. package/docs/api/components/ReferenceOrContent.md +28 -0
  205. package/docs/api/components/Scope.md +83 -0
  206. package/docs/api/components/Show.md +32 -0
  207. package/docs/api/components/SourceDirectory.md +28 -0
  208. package/docs/api/components/SourceFile.md +60 -0
  209. package/docs/api/components/StatementList.md +29 -0
  210. package/docs/api/components/Switch.md +42 -0
  211. package/docs/api/components/TemplateFile.md +71 -0
  212. package/docs/api/components/TemplateVariable.md +57 -0
  213. package/docs/api/components/UpdateFile.md +56 -0
  214. package/docs/api/components/Wrap.md +40 -0
  215. package/docs/api/components/createAccessExpression.md +55 -0
  216. package/docs/api/components/index.md +27 -0
  217. package/docs/api/contexts/Assignment-context.md +43 -0
  218. package/docs/api/contexts/Binder-context.md +22 -0
  219. package/docs/api/contexts/Declaration-context.md +15 -0
  220. package/docs/api/contexts/Member-context.md +17 -0
  221. package/docs/api/contexts/MemberDeclaration-context.md +24 -0
  222. package/docs/api/contexts/NamePolicy-context.md +18 -0
  223. package/docs/api/contexts/Scope-context.md +20 -0
  224. package/docs/api/contexts/SourceDirectory-context.md +26 -0
  225. package/docs/api/contexts/SourceFile-context.md +19 -0
  226. package/docs/api/contexts/index.md +11 -0
  227. package/docs/api/functions/attachDiagnosticsCollector.md +18 -0
  228. package/docs/api/functions/baseListPropsToMapJoinArgs.md +20 -0
  229. package/docs/api/functions/children.md +27 -0
  230. package/docs/api/functions/childrenArray.md +25 -0
  231. package/docs/api/functions/code.md +25 -0
  232. package/docs/api/functions/computed.md +18 -0
  233. package/docs/api/functions/createComponent.md +20 -0
  234. package/docs/api/functions/createContentSlot.md +33 -0
  235. package/docs/api/functions/createContext.md +19 -0
  236. package/docs/api/functions/createCustomContext.md +18 -0
  237. package/docs/api/functions/createDeclarationTap.md +20 -0
  238. package/docs/api/functions/createFileResource.md +35 -0
  239. package/docs/api/functions/createFormatOptionsContextFor.md +28 -0
  240. package/docs/api/functions/createIntrinsic.md +19 -0
  241. package/docs/api/functions/createMemberTap.md +20 -0
  242. package/docs/api/functions/createNamePolicy.md +37 -0
  243. package/docs/api/functions/createNamedContext.md +19 -0
  244. package/docs/api/functions/createOutputBinder.md +24 -0
  245. package/docs/api/functions/createRenderTreeHook.md +19 -0
  246. package/docs/api/functions/createResource.md +77 -0
  247. package/docs/api/functions/createScope.md +35 -0
  248. package/docs/api/functions/createScopeTap.md +20 -0
  249. package/docs/api/functions/createSourceFileTap.md +20 -0
  250. package/docs/api/functions/createSymbol.md +25 -0
  251. package/docs/api/functions/createSymbolSlot.md +19 -0
  252. package/docs/api/functions/createTap.md +55 -0
  253. package/docs/api/functions/decl.md +20 -0
  254. package/docs/api/functions/defaultProps.md +21 -0
  255. package/docs/api/functions/effect.md +26 -0
  256. package/docs/api/functions/emitDiagnostic.md +18 -0
  257. package/docs/api/functions/emitSymbol.md +18 -0
  258. package/docs/api/functions/ensureIsEmpty.md +20 -0
  259. package/docs/api/functions/findCurrentEffectId.md +19 -0
  260. package/docs/api/functions/findKeyedChild.md +19 -0
  261. package/docs/api/functions/findKeyedChildren.md +19 -0
  262. package/docs/api/functions/findUnkeyedChildren.md +18 -0
  263. package/docs/api/functions/formatReactivePropertyLabel.md +21 -0
  264. package/docs/api/functions/getAssignmentSymbol.md +19 -0
  265. package/docs/api/functions/getContext.md +17 -0
  266. package/docs/api/functions/getContextForRenderNode.md +18 -0
  267. package/docs/api/functions/getDiagnosticsForTree.md +18 -0
  268. package/docs/api/functions/getEffectDebugId.md +18 -0
  269. package/docs/api/functions/getElementCache.md +17 -0
  270. package/docs/api/functions/getReactiveCreationLocation.md +18 -0
  271. package/docs/api/functions/getSymbolCreator.md +18 -0
  272. package/docs/api/functions/getSymbolCreatorSymbol.md +17 -0
  273. package/docs/api/functions/index.md +105 -0
  274. package/docs/api/functions/inspectRefkey.md +18 -0
  275. package/docs/api/functions/instantiateTakenMembersTo.md +20 -0
  276. package/docs/api/functions/isComponentCreator.md +19 -0
  277. package/docs/api/functions/isCustomContext.md +18 -0
  278. package/docs/api/functions/isIntrinsicElement.md +18 -0
  279. package/docs/api/functions/isKeyedChild.md +18 -0
  280. package/docs/api/functions/isLibrarySymbolReference.md +18 -0
  281. package/docs/api/functions/isMemberRefkey.md +18 -0
  282. package/docs/api/functions/isNamekey.md +18 -0
  283. package/docs/api/functions/isPrintHook.md +18 -0
  284. package/docs/api/functions/isRefkey.md +18 -0
  285. package/docs/api/functions/isRefkeyable.md +18 -0
  286. package/docs/api/functions/isRenderableObject.md +20 -0
  287. package/docs/api/functions/isSymbolRefkey.md +18 -0
  288. package/docs/api/functions/join.md +33 -0
  289. package/docs/api/functions/mapJoin.md +106 -0
  290. package/docs/api/functions/memberRefkey.md +27 -0
  291. package/docs/api/functions/memo.md +29 -0
  292. package/docs/api/functions/mergeProps.md +64 -0
  293. package/docs/api/functions/moveTakenMembersTo.md +18 -0
  294. package/docs/api/functions/namekey.md +41 -0
  295. package/docs/api/functions/nextReactiveId.md +19 -0
  296. package/docs/api/functions/notifyContentState.md +17 -0
  297. package/docs/api/functions/onCleanup.md +26 -0
  298. package/docs/api/functions/printTree.md +31 -0
  299. package/docs/api/functions/reactivePropertyRefId.md +21 -0
  300. package/docs/api/functions/ref.md +21 -0
  301. package/docs/api/functions/refId.md +18 -0
  302. package/docs/api/functions/refkey.md +24 -0
  303. package/docs/api/functions/render.md +31 -0
  304. package/docs/api/functions/renderAsync.md +31 -0
  305. package/docs/api/functions/renderTree.md +18 -0
  306. package/docs/api/functions/reportDiagnostics.md +18 -0
  307. package/docs/api/functions/resetRefIdCounter.md +17 -0
  308. package/docs/api/functions/resolve.md +31 -0
  309. package/docs/api/functions/root.md +25 -0
  310. package/docs/api/functions/shallowReactive.md +18 -0
  311. package/docs/api/functions/shallowRef.md +21 -0
  312. package/docs/api/functions/sourceFilesForTree.md +31 -0
  313. package/docs/api/functions/splitProps.md +19 -0
  314. package/docs/api/functions/stc.md +18 -0
  315. package/docs/api/functions/sti.md +18 -0
  316. package/docs/api/functions/symbolForRefkey.md +24 -0
  317. package/docs/api/functions/taggedComponent.md +19 -0
  318. package/docs/api/functions/takeSymbols.md +18 -0
  319. package/docs/api/functions/text.md +19 -0
  320. package/docs/api/functions/toRef.md +20 -0
  321. package/docs/api/functions/toRefkey.md +18 -0
  322. package/docs/api/functions/toRefs.md +20 -0
  323. package/docs/api/functions/traverseOutput.md +21 -0
  324. package/docs/api/functions/unresolvedRefkey.md +18 -0
  325. package/docs/api/functions/untrack.md +18 -0
  326. package/docs/api/functions/useContext.md +18 -0
  327. package/docs/api/functions/useFormatOptions.md +18 -0
  328. package/docs/api/functions/useMemberContext.md +17 -0
  329. package/docs/api/functions/useMemberScope.md +17 -0
  330. package/docs/api/functions/writeOutput.md +21 -0
  331. package/docs/api/index.md +9 -0
  332. package/docs/api/testing/functions/createTestWrapper.md +70 -0
  333. package/docs/api/testing/functions/d.md +21 -0
  334. package/docs/api/testing/functions/dedent.md +18 -0
  335. package/docs/api/testing/functions/index.md +6 -0
  336. package/docs/api/testing/functions/renderToString.md +20 -0
  337. package/docs/api/testing/index.md +4 -0
  338. package/docs/api/testing/types/TestWrapper.md +10 -0
  339. package/docs/api/testing/types/ToRenderToOptions.md +24 -0
  340. package/docs/api/testing/types/index.md +4 -0
  341. package/docs/api/types/AlignIntrinsicElement.md +5 -0
  342. package/docs/api/types/AppendRegionProps.md +5 -0
  343. package/docs/api/types/BaseListProps.md +21 -0
  344. package/docs/api/types/BasePartProps.md +10 -0
  345. package/docs/api/types/BasicScope.md +15 -0
  346. package/docs/api/types/BasicSymbol.md +18 -0
  347. package/docs/api/types/Binder.md +18 -0
  348. package/docs/api/types/BinderOptions.md +7 -0
  349. package/docs/api/types/BrIntrinsicElement.md +5 -0
  350. package/docs/api/types/BreakParentIntrinsicElement.md +5 -0
  351. package/docs/api/types/Child.md +5 -0
  352. package/docs/api/types/Children.md +5 -0
  353. package/docs/api/types/ChildrenOptions.md +7 -0
  354. package/docs/api/types/CommonFormatOptions.md +8 -0
  355. package/docs/api/types/Component.md +8 -0
  356. package/docs/api/types/ComponentContext.md +11 -0
  357. package/docs/api/types/ComponentCreator.md +11 -0
  358. package/docs/api/types/ComponentDefinition.md +7 -0
  359. package/docs/api/types/ContentOutputFile.md +10 -0
  360. package/docs/api/types/ContentSlot.md +12 -0
  361. package/docs/api/types/Context.md +19 -0
  362. package/docs/api/types/ContextProviderProps.md +8 -0
  363. package/docs/api/types/CopyFileContext.md +8 -0
  364. package/docs/api/types/CopyOutputFile.md +9 -0
  365. package/docs/api/types/CustomContext.md +10 -0
  366. package/docs/api/types/CustomContextChildrenCallback.md +5 -0
  367. package/docs/api/types/DeclarationProps.md +5 -0
  368. package/docs/api/types/DedentIntrinsicElement.md +5 -0
  369. package/docs/api/types/DedentToRootIntrinsicElement.md +5 -0
  370. package/docs/api/types/Diagnostic.md +11 -0
  371. package/docs/api/types/DiagnosticHandle.md +7 -0
  372. package/docs/api/types/DiagnosticInput.md +10 -0
  373. package/docs/api/types/DiagnosticSeverity.md +5 -0
  374. package/docs/api/types/DiagnosticStackEntry.md +9 -0
  375. package/docs/api/types/DiagnosticsCollector.md +8 -0
  376. package/docs/api/types/Disposable_2.md +7 -0
  377. package/docs/api/types/EffectDebugOptions.md +8 -0
  378. package/docs/api/types/EffectOptions.md +7 -0
  379. package/docs/api/types/ElementCache.md +5 -0
  380. package/docs/api/types/ElementCacheKey.md +5 -0
  381. package/docs/api/types/FillIntrinsicElement.md +5 -0
  382. package/docs/api/types/ForCallbackArgs.md +5 -0
  383. package/docs/api/types/ForSupportedCollections.md +5 -0
  384. package/docs/api/types/GroupIntrinsicElement.md +5 -0
  385. package/docs/api/types/HardlineIntrinsicElement.md +5 -0
  386. package/docs/api/types/HbrIntrinsicElement.md +5 -0
  387. package/docs/api/types/IfBreakIntrinsicElement.md +5 -0
  388. package/docs/api/types/IndentIfBreakIntrinsicElement.md +5 -0
  389. package/docs/api/types/IndentIntrinsicElement.md +5 -0
  390. package/docs/api/types/IntrinsicElement.md +5 -0
  391. package/docs/api/types/IntrinsicElementBase.md +9 -0
  392. package/docs/api/types/IntrinsicElements.md +26 -0
  393. package/docs/api/types/JoinOptions.md +9 -0
  394. package/docs/api/types/LbrIntrinsicElement.md +5 -0
  395. package/docs/api/types/LibrarySymbolReference.md +13 -0
  396. package/docs/api/types/LineIntrinsicElement.md +5 -0
  397. package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +5 -0
  398. package/docs/api/types/LineSuffixIntrinsicElement.md +5 -0
  399. package/docs/api/types/LiterallineIntrinsicElement.md +5 -0
  400. package/docs/api/types/MakeChildrenOptional.md +7 -0
  401. package/docs/api/types/MarkAsRootIntrinsicElement.md +5 -0
  402. package/docs/api/types/MatchProps.md +9 -0
  403. package/docs/api/types/MemberDeclarationProps.md +5 -0
  404. package/docs/api/types/MemberDescriptor.md +10 -0
  405. package/docs/api/types/MemberRefkey.md +10 -0
  406. package/docs/api/types/MemberResolutionContext.md +10 -0
  407. package/docs/api/types/MemberResolver.md +32 -0
  408. package/docs/api/types/MemberScopeProps.md +5 -0
  409. package/docs/api/types/Metadata.md +5 -0
  410. package/docs/api/types/NameConflictResolver.md +27 -0
  411. package/docs/api/types/NamePolicy.md +8 -0
  412. package/docs/api/types/NamePolicyGetter.md +9 -0
  413. package/docs/api/types/Namekey.md +10 -0
  414. package/docs/api/types/NamekeyOptions.md +8 -0
  415. package/docs/api/types/OnReactiveSetAddCallback.md +5 -0
  416. package/docs/api/types/OnReactiveSetDeleteCallback.md +5 -0
  417. package/docs/api/types/OutputDeclarationSpace.md +13 -0
  418. package/docs/api/types/OutputDirectory.md +59 -0
  419. package/docs/api/types/OutputFile.md +5 -0
  420. package/docs/api/types/OutputFileBase.md +8 -0
  421. package/docs/api/types/OutputMemberSpace.md +13 -0
  422. package/docs/api/types/OutputScope.md +33 -0
  423. package/docs/api/types/OutputScopeOptions.md +9 -0
  424. package/docs/api/types/OutputSpace.md +7 -0
  425. package/docs/api/types/OutputSymbol.md +76 -0
  426. package/docs/api/types/OutputSymbolOptions.md +16 -0
  427. package/docs/api/types/OutputVisitor.md +10 -0
  428. package/docs/api/types/PrintHook.md +10 -0
  429. package/docs/api/types/PrintTreeOptions.md +11 -0
  430. package/docs/api/types/Props.md +5 -0
  431. package/docs/api/types/ReactiveUnionSet.md +20 -0
  432. package/docs/api/types/ReactiveUnionSetOptions.md +8 -0
  433. package/docs/api/types/Refkey.md +5 -0
  434. package/docs/api/types/Refkeyable.md +5 -0
  435. package/docs/api/types/RefkeyableObject.md +7 -0
  436. package/docs/api/types/RenderableObject.md +9 -0
  437. package/docs/api/types/RenderedTextTree.md +5 -0
  438. package/docs/api/types/ResolutionResult.md +39 -0
  439. package/docs/api/types/ResolveDeclarationByKeyOptions.md +7 -0
  440. package/docs/api/types/Resource.md +11 -0
  441. package/docs/api/types/RootOptions.md +7 -0
  442. package/docs/api/types/SbrIntrinsicElement.md +5 -0
  443. package/docs/api/types/ScopeProps.md +5 -0
  444. package/docs/api/types/SoftlineIntrinsicElement.md +5 -0
  445. package/docs/api/types/SourceLocation.md +9 -0
  446. package/docs/api/types/SplitProps.md +12 -0
  447. package/docs/api/types/StcComponentCreator.md +9 -0
  448. package/docs/api/types/StcSignature.md +5 -0
  449. package/docs/api/types/StiComponentCreator.md +9 -0
  450. package/docs/api/types/StiSignature.md +7 -0
  451. package/docs/api/types/SymbolCreator.md +15 -0
  452. package/docs/api/types/SymbolRefkey.md +9 -0
  453. package/docs/api/types/SymbolSlot.md +12 -0
  454. package/docs/api/types/SymbolTable.md +15 -0
  455. package/docs/api/types/TakeSymbolCallback.md +7 -0
  456. package/docs/api/types/TakeSymbolsCallback.md +7 -0
  457. package/docs/api/types/Tap.md +11 -0
  458. package/docs/api/types/TapHandler.md +9 -0
  459. package/docs/api/types/Tapper.md +9 -0
  460. package/docs/api/types/TemplateVariableProps.md +5 -0
  461. package/docs/api/types/index.md +122 -0
  462. package/docs/api/variables/FormatOptions.md +5 -0
  463. package/docs/api/variables/Match.md +7 -0
  464. package/docs/api/variables/REFKEYABLE.md +5 -0
  465. package/docs/api/variables/RENDERABLE.md +5 -0
  466. package/docs/api/variables/TO_SYMBOL.md +39 -0
  467. package/docs/api/variables/contextsByKey.md +5 -0
  468. package/docs/api/variables/index.md +11 -0
  469. package/docs/api/variables/intrinsicElementKey.md +5 -0
  470. package/docs/api/variables/matchTag.md +5 -0
  471. package/docs/api/variables/printHookTag.md +7 -0
  472. package/docs/components.md +97 -0
  473. package/docs/context.md +67 -0
  474. package/docs/control-flow.md +5 -0
  475. package/docs/debugging.md +105 -0
  476. package/docs/formatting.md +99 -0
  477. package/docs/guides/language-package-guide.md +593 -0
  478. package/docs/guides/references-and-refkeys.md +210 -0
  479. package/docs/guides/style-guide.md +244 -0
  480. package/docs/index.md +22 -0
  481. package/docs/reactivity.md +68 -0
  482. package/docs/rendering.md +41 -0
  483. package/docs/symbols-and-scopes.md +180 -0
  484. package/package.json +8 -4
  485. package/src/binder.ts +107 -3
  486. package/src/components/Block.tsx +12 -0
  487. package/src/components/List.tsx +11 -1
  488. package/src/components/MemberDeclaration.tsx +6 -6
  489. package/src/components/MemberName.tsx +6 -0
  490. package/src/components/MemberScope.tsx +5 -0
  491. package/src/components/Output.tsx +4 -1
  492. package/src/components/Scope.tsx +6 -0
  493. package/src/components/SourceFile.tsx +22 -2
  494. package/src/context/binder.ts +4 -0
  495. package/src/context/format-options.ts +14 -1
  496. package/src/context/scope.ts +4 -0
  497. package/src/context/source-directory.ts +9 -0
  498. package/src/debug/cli.ts +3 -2
  499. package/src/debug/source-map.browser.ts +30 -0
  500. package/src/debug/trace.ts +7 -6
  501. package/src/host/node-host.browser.ts +23 -0
  502. package/src/host/node-host.ts +22 -0
  503. package/src/library-symbol-reference.ts +52 -0
  504. package/src/name-policy.ts +30 -3
  505. package/src/reactivity.ts +15 -0
  506. package/src/render-stack.ts +4 -3
  507. package/src/render.ts +2 -0
  508. package/src/symbols/output-scope.ts +33 -1
  509. package/src/symbols/output-space.ts +13 -0
  510. package/src/symbols/output-symbol.ts +93 -12
  511. package/src/symbols/symbol-slot.test.tsx +28 -1
  512. package/src/symbols/symbol-slot.tsx +8 -0
  513. package/src/write-output.ts +6 -5
  514. package/temp/api-testing.json +673 -0
  515. package/temp/api.json +48 -47
  516. package/test/browser-build.test.ts +71 -78
  517. package/testing/create-test-wrapper.tsx +81 -2
  518. package/testing/extend-expect.ts +22 -1
  519. package/testing/index.ts +1 -1
  520. package/testing/render.ts +9 -0
  521. package/testing/vitest.d.ts +3 -8
@@ -0,0 +1,673 @@
1
+ {
2
+ "metadata": {
3
+ "toolPackage": "@microsoft/api-extractor",
4
+ "toolVersion": "7.52.9",
5
+ "schemaVersion": 1011,
6
+ "oldestForwardsCompatibleVersion": 1001,
7
+ "tsdocConfig": {
8
+ "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
9
+ "noStandardTags": true,
10
+ "tagDefinitions": [
11
+ {
12
+ "tagName": "@alpha",
13
+ "syntaxKind": "modifier"
14
+ },
15
+ {
16
+ "tagName": "@beta",
17
+ "syntaxKind": "modifier"
18
+ },
19
+ {
20
+ "tagName": "@defaultValue",
21
+ "syntaxKind": "block"
22
+ },
23
+ {
24
+ "tagName": "@decorator",
25
+ "syntaxKind": "block",
26
+ "allowMultiple": true
27
+ },
28
+ {
29
+ "tagName": "@deprecated",
30
+ "syntaxKind": "block"
31
+ },
32
+ {
33
+ "tagName": "@eventProperty",
34
+ "syntaxKind": "modifier"
35
+ },
36
+ {
37
+ "tagName": "@example",
38
+ "syntaxKind": "block",
39
+ "allowMultiple": true
40
+ },
41
+ {
42
+ "tagName": "@experimental",
43
+ "syntaxKind": "modifier"
44
+ },
45
+ {
46
+ "tagName": "@inheritDoc",
47
+ "syntaxKind": "inline"
48
+ },
49
+ {
50
+ "tagName": "@internal",
51
+ "syntaxKind": "modifier"
52
+ },
53
+ {
54
+ "tagName": "@label",
55
+ "syntaxKind": "inline"
56
+ },
57
+ {
58
+ "tagName": "@link",
59
+ "syntaxKind": "inline",
60
+ "allowMultiple": true
61
+ },
62
+ {
63
+ "tagName": "@override",
64
+ "syntaxKind": "modifier"
65
+ },
66
+ {
67
+ "tagName": "@packageDocumentation",
68
+ "syntaxKind": "modifier"
69
+ },
70
+ {
71
+ "tagName": "@param",
72
+ "syntaxKind": "block",
73
+ "allowMultiple": true
74
+ },
75
+ {
76
+ "tagName": "@privateRemarks",
77
+ "syntaxKind": "block"
78
+ },
79
+ {
80
+ "tagName": "@public",
81
+ "syntaxKind": "modifier"
82
+ },
83
+ {
84
+ "tagName": "@readonly",
85
+ "syntaxKind": "modifier"
86
+ },
87
+ {
88
+ "tagName": "@remarks",
89
+ "syntaxKind": "block"
90
+ },
91
+ {
92
+ "tagName": "@returns",
93
+ "syntaxKind": "block"
94
+ },
95
+ {
96
+ "tagName": "@sealed",
97
+ "syntaxKind": "modifier"
98
+ },
99
+ {
100
+ "tagName": "@see",
101
+ "syntaxKind": "block"
102
+ },
103
+ {
104
+ "tagName": "@throws",
105
+ "syntaxKind": "block",
106
+ "allowMultiple": true
107
+ },
108
+ {
109
+ "tagName": "@typeParam",
110
+ "syntaxKind": "block",
111
+ "allowMultiple": true
112
+ },
113
+ {
114
+ "tagName": "@virtual",
115
+ "syntaxKind": "modifier"
116
+ },
117
+ {
118
+ "tagName": "@reactive",
119
+ "syntaxKind": "modifier"
120
+ },
121
+ {
122
+ "tagName": "@default",
123
+ "syntaxKind": "block"
124
+ }
125
+ ],
126
+ "reportUnsupportedHtmlElements": false
127
+ }
128
+ },
129
+ "kind": "Package",
130
+ "canonicalReference": "@alloy-js/core!",
131
+ "docComment": "",
132
+ "name": "@alloy-js/core",
133
+ "preserveMemberOrder": false,
134
+ "members": [
135
+ {
136
+ "kind": "EntryPoint",
137
+ "canonicalReference": "@alloy-js/core!",
138
+ "name": "",
139
+ "preserveMemberOrder": false,
140
+ "members": [
141
+ {
142
+ "kind": "Function",
143
+ "canonicalReference": "@alloy-js/core!createTestWrapper:function(1)",
144
+ "docComment": "/**\n * Create a reusable test harness for a language package. Returns a `Wrapper`\n * component (wraps content in `<Output>` + `<SourceFile>`) and a `defkey`\n * helper that creates stable namekeys for pre-declaring symbols.\n *\n * @remarks\n *\n *\n *\n * Downstream consumers import and call this from the language package's\n * `testing/` entrypoint. The `Wrapper` automatically declares symbols\n * created by `defkey` before rendering children, so tests can reference\n * symbols without explicit `<Declaration>` boilerplate.\n *\n * @example\n * ```ts\n * // In your language package's testing/ entrypoint:\n * import { FileComponent } from \"./components/index.js\"; // your language package's top-level file component\n * import { createTestWrapper, type TestWrapper } from \"@alloy-js/core/testing\";\n *\n * export function createMyLangTestWrapper(): TestWrapper {\n * return createTestWrapper({\n * filePath: \"test.ext\",\n * useScope: useMyLangScope,\n * makeSymbol: (nk, scope) => new MyOutputSymbol(nk, scope),\n * SourceFile: FileComponent,\n * });\n * }\n * ```\n *\n * @example\n * ```ts\n * // Extend your language test factory to accept and forward namePolicy:\n * export function createMyLangTestWrapper(namePolicy?: NamePolicy<string>): TestWrapper {\n * return createTestWrapper({ ...langOpts, namePolicy });\n * }\n *\n * // In a name-policy test:\n * const { Wrapper } = createMyLangTestWrapper(myNamePolicy);\n * const fooKey = namekey(\"foo\"); // namekey(), not defkey — name policy applies\n * // namekey() schedules no pre-declaration; the test body must declare the symbol.\n * expect(\n * <Wrapper>\n * <MyDeclaration refkey={fooKey} name=\"foo\" />\n * </Wrapper>\n * ).toRenderTo(\"FOO\");\n * ```\n *\n */\n",
145
+ "excerptTokens": [
146
+ {
147
+ "kind": "Content",
148
+ "text": "export declare function createTestWrapper<SymbolT extends "
149
+ },
150
+ {
151
+ "kind": "Reference",
152
+ "text": "OutputSymbol",
153
+ "canonicalReference": "@alloy-js/core!~OutputSymbol:class"
154
+ },
155
+ {
156
+ "kind": "Content",
157
+ "text": ", ScopeT extends "
158
+ },
159
+ {
160
+ "kind": "Content",
161
+ "text": "{\n spaces: any;\n}"
162
+ },
163
+ {
164
+ "kind": "Content",
165
+ "text": ">(opts: "
166
+ },
167
+ {
168
+ "kind": "Content",
169
+ "text": "{\n filePath: string;\n useScope: () => ScopeT | undefined;\n makeSymbol: (nk: "
170
+ },
171
+ {
172
+ "kind": "Reference",
173
+ "text": "Namekey",
174
+ "canonicalReference": "@alloy-js/core!~Namekey:interface"
175
+ },
176
+ {
177
+ "kind": "Content",
178
+ "text": ", scope: ScopeT) => SymbolT;\n SourceFile: (props: {\n path: string;\n children: "
179
+ },
180
+ {
181
+ "kind": "Reference",
182
+ "text": "Children",
183
+ "canonicalReference": "@alloy-js/core!~Children:type"
184
+ },
185
+ {
186
+ "kind": "Content",
187
+ "text": ";\n }) => any;\n namePolicy?: "
188
+ },
189
+ {
190
+ "kind": "Reference",
191
+ "text": "NamePolicy",
192
+ "canonicalReference": "@alloy-js/core!~NamePolicy:interface"
193
+ },
194
+ {
195
+ "kind": "Content",
196
+ "text": "<string>;\n nameConflictResolver?: "
197
+ },
198
+ {
199
+ "kind": "Reference",
200
+ "text": "NameConflictResolver",
201
+ "canonicalReference": "@alloy-js/core!~NameConflictResolver:interface"
202
+ },
203
+ {
204
+ "kind": "Content",
205
+ "text": ";\n}"
206
+ },
207
+ {
208
+ "kind": "Content",
209
+ "text": "): "
210
+ },
211
+ {
212
+ "kind": "Reference",
213
+ "text": "TestWrapper",
214
+ "canonicalReference": "@alloy-js/core!TestWrapper:interface"
215
+ },
216
+ {
217
+ "kind": "Content",
218
+ "text": ";"
219
+ }
220
+ ],
221
+ "fileUrlPath": "testing/create-test-wrapper.tsx",
222
+ "returnTypeTokenRange": {
223
+ "startIndex": 15,
224
+ "endIndex": 16
225
+ },
226
+ "releaseTag": "Public",
227
+ "overloadIndex": 1,
228
+ "parameters": [
229
+ {
230
+ "parameterName": "opts",
231
+ "parameterTypeTokenRange": {
232
+ "startIndex": 5,
233
+ "endIndex": 14
234
+ },
235
+ "isOptional": false
236
+ }
237
+ ],
238
+ "typeParameters": [
239
+ {
240
+ "typeParameterName": "SymbolT",
241
+ "constraintTokenRange": {
242
+ "startIndex": 1,
243
+ "endIndex": 2
244
+ },
245
+ "defaultTypeTokenRange": {
246
+ "startIndex": 0,
247
+ "endIndex": 0
248
+ }
249
+ },
250
+ {
251
+ "typeParameterName": "ScopeT",
252
+ "constraintTokenRange": {
253
+ "startIndex": 3,
254
+ "endIndex": 4
255
+ },
256
+ "defaultTypeTokenRange": {
257
+ "startIndex": 0,
258
+ "endIndex": 0
259
+ }
260
+ }
261
+ ],
262
+ "name": "createTestWrapper"
263
+ },
264
+ {
265
+ "kind": "Function",
266
+ "canonicalReference": "@alloy-js/core!d:function(1)",
267
+ "docComment": "/**\n * Dedented template literal tag. Strips leading/trailing blank lines and\n * removes the common leading whitespace from all lines — useful for\n * multi-line expected output in tests.\n */\n",
268
+ "excerptTokens": [
269
+ {
270
+ "kind": "Content",
271
+ "text": "export declare function d(strings: "
272
+ },
273
+ {
274
+ "kind": "Reference",
275
+ "text": "TemplateStringsArray",
276
+ "canonicalReference": "!TemplateStringsArray:interface"
277
+ },
278
+ {
279
+ "kind": "Content",
280
+ "text": ", ...values: "
281
+ },
282
+ {
283
+ "kind": "Content",
284
+ "text": "any[]"
285
+ },
286
+ {
287
+ "kind": "Content",
288
+ "text": "): "
289
+ },
290
+ {
291
+ "kind": "Content",
292
+ "text": "string"
293
+ },
294
+ {
295
+ "kind": "Content",
296
+ "text": ";"
297
+ }
298
+ ],
299
+ "fileUrlPath": "testing/render.ts",
300
+ "returnTypeTokenRange": {
301
+ "startIndex": 5,
302
+ "endIndex": 6
303
+ },
304
+ "releaseTag": "Public",
305
+ "overloadIndex": 1,
306
+ "parameters": [
307
+ {
308
+ "parameterName": "strings",
309
+ "parameterTypeTokenRange": {
310
+ "startIndex": 1,
311
+ "endIndex": 2
312
+ },
313
+ "isOptional": false
314
+ },
315
+ {
316
+ "parameterName": "values",
317
+ "parameterTypeTokenRange": {
318
+ "startIndex": 3,
319
+ "endIndex": 4
320
+ },
321
+ "isOptional": false
322
+ }
323
+ ],
324
+ "name": "d"
325
+ },
326
+ {
327
+ "kind": "Function",
328
+ "canonicalReference": "@alloy-js/core!dedent:function(1)",
329
+ "docComment": "",
330
+ "excerptTokens": [
331
+ {
332
+ "kind": "Content",
333
+ "text": "export declare function dedent(str: "
334
+ },
335
+ {
336
+ "kind": "Content",
337
+ "text": "string"
338
+ },
339
+ {
340
+ "kind": "Content",
341
+ "text": "): "
342
+ },
343
+ {
344
+ "kind": "Content",
345
+ "text": "string"
346
+ },
347
+ {
348
+ "kind": "Content",
349
+ "text": ";"
350
+ }
351
+ ],
352
+ "fileUrlPath": "testing/render.ts",
353
+ "returnTypeTokenRange": {
354
+ "startIndex": 3,
355
+ "endIndex": 4
356
+ },
357
+ "releaseTag": "Public",
358
+ "overloadIndex": 1,
359
+ "parameters": [
360
+ {
361
+ "parameterName": "str",
362
+ "parameterTypeTokenRange": {
363
+ "startIndex": 1,
364
+ "endIndex": 2
365
+ },
366
+ "isOptional": false
367
+ }
368
+ ],
369
+ "name": "dedent"
370
+ },
371
+ {
372
+ "kind": "Function",
373
+ "canonicalReference": "@alloy-js/core!printTree:function(1)",
374
+ "docComment": "/**\n * Convert a rendered text tree to a string. Will ensure that the scheduler is\n * empty before printing.\n */\n",
375
+ "excerptTokens": [
376
+ {
377
+ "kind": "Content",
378
+ "text": "export declare function printTree(tree: "
379
+ },
380
+ {
381
+ "kind": "Reference",
382
+ "text": "RenderedTextTree",
383
+ "canonicalReference": "@alloy-js/core!~RenderedTextTree:type"
384
+ },
385
+ {
386
+ "kind": "Content",
387
+ "text": ", options?: "
388
+ },
389
+ {
390
+ "kind": "Reference",
391
+ "text": "PrintTreeOptions",
392
+ "canonicalReference": "@alloy-js/core!~PrintTreeOptions:interface"
393
+ },
394
+ {
395
+ "kind": "Content",
396
+ "text": "): "
397
+ },
398
+ {
399
+ "kind": "Content",
400
+ "text": "string"
401
+ },
402
+ {
403
+ "kind": "Content",
404
+ "text": ";"
405
+ }
406
+ ],
407
+ "fileUrlPath": "src/render.ts",
408
+ "returnTypeTokenRange": {
409
+ "startIndex": 5,
410
+ "endIndex": 6
411
+ },
412
+ "releaseTag": "Public",
413
+ "overloadIndex": 1,
414
+ "parameters": [
415
+ {
416
+ "parameterName": "tree",
417
+ "parameterTypeTokenRange": {
418
+ "startIndex": 1,
419
+ "endIndex": 2
420
+ },
421
+ "isOptional": false
422
+ },
423
+ {
424
+ "parameterName": "options",
425
+ "parameterTypeTokenRange": {
426
+ "startIndex": 3,
427
+ "endIndex": 4
428
+ },
429
+ "isOptional": true
430
+ }
431
+ ],
432
+ "name": "printTree"
433
+ },
434
+ {
435
+ "kind": "Function",
436
+ "canonicalReference": "@alloy-js/core!renderToString:function(1)",
437
+ "docComment": "/**\n * Render a JSX element tree to a string. Convenience wrapper combining\n * `renderTree` and `printTree`.\n */\n",
438
+ "excerptTokens": [
439
+ {
440
+ "kind": "Content",
441
+ "text": "export declare function renderToString(element: "
442
+ },
443
+ {
444
+ "kind": "Reference",
445
+ "text": "Children",
446
+ "canonicalReference": "@alloy-js/core!~Children:type"
447
+ },
448
+ {
449
+ "kind": "Content",
450
+ "text": "): "
451
+ },
452
+ {
453
+ "kind": "Content",
454
+ "text": "string"
455
+ },
456
+ {
457
+ "kind": "Content",
458
+ "text": ";"
459
+ }
460
+ ],
461
+ "fileUrlPath": "testing/render.ts",
462
+ "returnTypeTokenRange": {
463
+ "startIndex": 3,
464
+ "endIndex": 4
465
+ },
466
+ "releaseTag": "Public",
467
+ "overloadIndex": 1,
468
+ "parameters": [
469
+ {
470
+ "parameterName": "element",
471
+ "parameterTypeTokenRange": {
472
+ "startIndex": 1,
473
+ "endIndex": 2
474
+ },
475
+ "isOptional": false
476
+ }
477
+ ],
478
+ "name": "renderToString"
479
+ },
480
+ {
481
+ "kind": "Interface",
482
+ "canonicalReference": "@alloy-js/core!TestWrapper:interface",
483
+ "docComment": "/**\n * Test harness returned by {@link createTestWrapper}.\n */\n",
484
+ "excerptTokens": [
485
+ {
486
+ "kind": "Content",
487
+ "text": "export interface TestWrapper "
488
+ }
489
+ ],
490
+ "fileUrlPath": "testing/create-test-wrapper.tsx",
491
+ "releaseTag": "Public",
492
+ "name": "TestWrapper",
493
+ "preserveMemberOrder": false,
494
+ "members": [
495
+ {
496
+ "kind": "PropertySignature",
497
+ "canonicalReference": "@alloy-js/core!TestWrapper#defkey:member",
498
+ "docComment": "/**\n * Creates a stable `Namekey` and schedules a pre-declaration inside\n * {@link TestWrapper.Wrapper}.\n *\n * @remarks\n *\n *\n * Call `defkey(name)` before rendering. `Wrapper` renders\n * `<Declaration symbol={...} />` for this name so `<Reference>` to the\n * returned namekey resolves without requiring an explicit `<Declaration>`\n * in the test body.\n *\n * @example\n * ```tsx\n * const { Wrapper, defkey } = createTestWrapper(...);\n * const fooKey = defkey(\"foo\");\n * expect(\n * <Wrapper><MyComponent refkey={fooKey} /></Wrapper>\n * ).toRenderTo(`foo`);\n * ```\n *\n */\n",
499
+ "excerptTokens": [
500
+ {
501
+ "kind": "Content",
502
+ "text": "defkey: "
503
+ },
504
+ {
505
+ "kind": "Content",
506
+ "text": "(name: string) => "
507
+ },
508
+ {
509
+ "kind": "Reference",
510
+ "text": "Namekey",
511
+ "canonicalReference": "@alloy-js/core!~Namekey:interface"
512
+ },
513
+ {
514
+ "kind": "Content",
515
+ "text": ";"
516
+ }
517
+ ],
518
+ "isReadonly": false,
519
+ "isOptional": false,
520
+ "releaseTag": "Public",
521
+ "name": "defkey",
522
+ "propertyTypeTokenRange": {
523
+ "startIndex": 1,
524
+ "endIndex": 3
525
+ }
526
+ },
527
+ {
528
+ "kind": "PropertySignature",
529
+ "canonicalReference": "@alloy-js/core!TestWrapper#Wrapper:member",
530
+ "docComment": "/**\n * JSX wrapper providing Output + a file-level component + language scope context.\n * Name policy is applied only when `namePolicy`/`nameConflictResolver` are\n * passed to {@link createTestWrapper}. Pre-declares all namekeys created by\n * {@link TestWrapper.defkey} before rendering children.\n */\n",
531
+ "excerptTokens": [
532
+ {
533
+ "kind": "Content",
534
+ "text": "Wrapper: "
535
+ },
536
+ {
537
+ "kind": "Content",
538
+ "text": "(props: {\n children: "
539
+ },
540
+ {
541
+ "kind": "Reference",
542
+ "text": "Children",
543
+ "canonicalReference": "@alloy-js/core!~Children:type"
544
+ },
545
+ {
546
+ "kind": "Content",
547
+ "text": ";\n }) => "
548
+ },
549
+ {
550
+ "kind": "Reference",
551
+ "text": "Children",
552
+ "canonicalReference": "@alloy-js/core!~Children:type"
553
+ },
554
+ {
555
+ "kind": "Content",
556
+ "text": ";"
557
+ }
558
+ ],
559
+ "isReadonly": false,
560
+ "isOptional": false,
561
+ "releaseTag": "Public",
562
+ "name": "Wrapper",
563
+ "propertyTypeTokenRange": {
564
+ "startIndex": 1,
565
+ "endIndex": 5
566
+ }
567
+ }
568
+ ],
569
+ "extendsTokenRanges": []
570
+ },
571
+ {
572
+ "kind": "Interface",
573
+ "canonicalReference": "@alloy-js/core!ToRenderToOptions:interface",
574
+ "docComment": "/**\n * Print options passed to `toRenderTo` / `toRenderToAsync`. These override\n * the per-`SourceFile` print settings for the duration of the assertion,\n * which is useful when forcing line-breaking with a narrow `printWidth` in\n * tests without needing extremely long inputs.\n *\n * @example\n * ```ts\n * expect(<MyList items={[\"a\", \"b\", \"c\"]} />).toRenderTo(\n * `\n * a,\n * b,\n * c\n * `,\n * { printWidth: 10 }\n * );\n * ```\n *\n */\n",
575
+ "excerptTokens": [
576
+ {
577
+ "kind": "Content",
578
+ "text": "export interface ToRenderToOptions "
579
+ }
580
+ ],
581
+ "fileUrlPath": "testing/extend-expect.ts",
582
+ "releaseTag": "Public",
583
+ "name": "ToRenderToOptions",
584
+ "preserveMemberOrder": false,
585
+ "members": [
586
+ {
587
+ "kind": "PropertySignature",
588
+ "canonicalReference": "@alloy-js/core!ToRenderToOptions#printWidth:member",
589
+ "docComment": "/**\n * Maximum line width before the formatter wraps output.\n */\n",
590
+ "excerptTokens": [
591
+ {
592
+ "kind": "Content",
593
+ "text": "printWidth?: "
594
+ },
595
+ {
596
+ "kind": "Content",
597
+ "text": "number"
598
+ },
599
+ {
600
+ "kind": "Content",
601
+ "text": ";"
602
+ }
603
+ ],
604
+ "isReadonly": false,
605
+ "isOptional": true,
606
+ "releaseTag": "Public",
607
+ "name": "printWidth",
608
+ "propertyTypeTokenRange": {
609
+ "startIndex": 1,
610
+ "endIndex": 2
611
+ }
612
+ },
613
+ {
614
+ "kind": "PropertySignature",
615
+ "canonicalReference": "@alloy-js/core!ToRenderToOptions#tabWidth:member",
616
+ "docComment": "/**\n * Number of spaces per indentation level.\n */\n",
617
+ "excerptTokens": [
618
+ {
619
+ "kind": "Content",
620
+ "text": "tabWidth?: "
621
+ },
622
+ {
623
+ "kind": "Content",
624
+ "text": "number"
625
+ },
626
+ {
627
+ "kind": "Content",
628
+ "text": ";"
629
+ }
630
+ ],
631
+ "isReadonly": false,
632
+ "isOptional": true,
633
+ "releaseTag": "Public",
634
+ "name": "tabWidth",
635
+ "propertyTypeTokenRange": {
636
+ "startIndex": 1,
637
+ "endIndex": 2
638
+ }
639
+ },
640
+ {
641
+ "kind": "PropertySignature",
642
+ "canonicalReference": "@alloy-js/core!ToRenderToOptions#useTabs:member",
643
+ "docComment": "/**\n * Use tab characters instead of spaces.\n */\n",
644
+ "excerptTokens": [
645
+ {
646
+ "kind": "Content",
647
+ "text": "useTabs?: "
648
+ },
649
+ {
650
+ "kind": "Content",
651
+ "text": "boolean"
652
+ },
653
+ {
654
+ "kind": "Content",
655
+ "text": ";"
656
+ }
657
+ ],
658
+ "isReadonly": false,
659
+ "isOptional": true,
660
+ "releaseTag": "Public",
661
+ "name": "useTabs",
662
+ "propertyTypeTokenRange": {
663
+ "startIndex": 1,
664
+ "endIndex": 2
665
+ }
666
+ }
667
+ ],
668
+ "extendsTokenRanges": []
669
+ }
670
+ ]
671
+ }
672
+ ]
673
+ }