@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,24 @@
1
+ # symbolForRefkey
2
+
3
+ Get a ref to the symbol for the given refkey using the current binder. The value of the ref will be undefined when no symbol with that refkey has been created.
4
+
5
+ ```ts
6
+ import { symbolForRefkey } from "@alloy-js/core";
7
+
8
+
9
+ function symbolForRefkey(refkey: Refkeyable): Ref<OutputSymbol | undefined, OutputSymbol | undefined>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | ------ | ---------- | - |
16
+ | refkey | Refkeyable | |
17
+
18
+ ## Returns
19
+
20
+ Ref<[OutputSymbol](../../types/outputsymbol/) | undefined, [OutputSymbol](../../types/outputsymbol/) | undefined>
21
+
22
+ ## Remarks
23
+
24
+ This API may return a ref for undefined, but that does not mean that the symbol is not found. The symbol you’re looking for may not have been declared yet. When the symbol is declared, the ref will be updated with the symbol.
@@ -0,0 +1,19 @@
1
+ # taggedComponent
2
+
3
+ ```ts
4
+ import { taggedComponent } from "@alloy-js/core";
5
+
6
+
7
+ function taggedComponent<TProps = Props>(tag: symbol, component: Component<TProps>): Component<TProps> & Required<Pick<Component<TProps>, "tag">>;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | --------- | ------------------ | - |
14
+ | tag | symbol | |
15
+ | component | Component\<TProps> | |
16
+
17
+ ## Returns
18
+
19
+ [Component](../../../typescript/components/ensuretyperefcontext/)\<TProps> & Required\<Pick<[Component](../../../typescript/components/ensuretyperefcontext/)\<TProps>, “tag”>>
@@ -0,0 +1,18 @@
1
+ # takeSymbols
2
+
3
+ ```ts
4
+ import { takeSymbols } from "@alloy-js/core";
5
+
6
+
7
+ function takeSymbols(cb?: (symbol: OutputSymbol) => void): import("@vue/reactivity").ShallowReactive<Set<OutputSymbol>>;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | -- | --------------------------------------- | - |
14
+ | cb | optional (symbol: OutputSymbol) => void | |
15
+
16
+ ## Returns
17
+
18
+ import(“@vue/reactivity”).ShallowReactive\<Set<[OutputSymbol](../../types/outputsymbol/)>>
@@ -0,0 +1,19 @@
1
+ # text
2
+
3
+ ```ts
4
+ import { text } from "@alloy-js/core";
5
+
6
+
7
+ function text(template: TemplateStringsArray, ...substitutions: Children[]): Children;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | ------------- | -------------------- | - |
14
+ | template | TemplateStringsArray | |
15
+ | substitutions | Children\[] | |
16
+
17
+ ## Returns
18
+
19
+ [Children](../../types/children/)
@@ -0,0 +1,20 @@
1
+ # toRef
2
+
3
+ ```ts
4
+ import { toRef } from "@alloy-js/core";
5
+
6
+
7
+ function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue?: T[K]): Ref<T[K]>;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | ------------ | -------------- | - |
14
+ | object | T | |
15
+ | key | K | |
16
+ | defaultValue | optional T\[K] | |
17
+
18
+ ## Returns
19
+
20
+ Ref\<T\[K]>
@@ -0,0 +1,18 @@
1
+ # toRefkey
2
+
3
+ ```ts
4
+ import { toRefkey } from "@alloy-js/core";
5
+
6
+
7
+ function toRefkey(refkey: Refkeyable): Refkey;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | ------ | ---------- | - |
14
+ | refkey | Refkeyable | |
15
+
16
+ ## Returns
17
+
18
+ [Refkey](../../types/refkey/)
@@ -0,0 +1,20 @@
1
+ # toRefs
2
+
3
+ ```ts
4
+ import { toRefs } from "@alloy-js/core";
5
+
6
+
7
+ function toRefs<T extends object>(object: T): {
8
+ [K in keyof T]: Ref<T[K]>;
9
+ };
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | ------ | - | - |
16
+ | object | T | |
17
+
18
+ ## Returns
19
+
20
+ { \[K in keyof T]: Ref\<T\[K]>; }
@@ -0,0 +1,21 @@
1
+ # traverseOutput
2
+
3
+ Traverse the output from [render](../render/) and call the visitor for each file and directory within it.
4
+
5
+ ```ts
6
+ import { traverseOutput } from "@alloy-js/core";
7
+
8
+
9
+ function traverseOutput(sourceDirectory: OutputDirectory, visitor: OutputVisitor): Promise<void>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | --------------- | --------------- | - |
16
+ | sourceDirectory | OutputDirectory | |
17
+ | visitor | OutputVisitor | |
18
+
19
+ ## Returns
20
+
21
+ Promise\<void>
@@ -0,0 +1,18 @@
1
+ # unresolvedRefkey
2
+
3
+ ```ts
4
+ import { unresolvedRefkey } from "@alloy-js/core";
5
+
6
+
7
+ function unresolvedRefkey(refkey: Refkey): string;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | ------ | ------ | - |
14
+ | refkey | Refkey | |
15
+
16
+ ## Returns
17
+
18
+ string
@@ -0,0 +1,18 @@
1
+ # untrack
2
+
3
+ ```ts
4
+ import { untrack } from "@alloy-js/core";
5
+
6
+
7
+ function untrack<T>(fn: () => T): T;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | -- | ------- | - |
14
+ | fn | () => T | |
15
+
16
+ ## Returns
17
+
18
+ T
@@ -0,0 +1,18 @@
1
+ # useContext
2
+
3
+ ```ts
4
+ import { useContext } from "@alloy-js/core";
5
+
6
+
7
+ function useContext<T>(context: ComponentContext<T>): T | undefined;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | ------- | -------------------- | - |
14
+ | context | ComponentContext\<T> | |
15
+
16
+ ## Returns
17
+
18
+ T | undefined
@@ -0,0 +1,18 @@
1
+ # useFormatOptions
2
+
3
+ ```ts
4
+ import { useFormatOptions } from "@alloy-js/core";
5
+
6
+
7
+ useFormatOptions: (overrides?: Partial<CommonFormatOptions> | undefined) => CommonFormatOptions
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | --------- | --------------------------------------------------- | - |
14
+ | overrides | optional Partial\<CommonFormatOptions> \| undefined | |
15
+
16
+ ## Returns
17
+
18
+ [CommonFormatOptions](../../types/commonformatoptions/)
@@ -0,0 +1,17 @@
1
+ # useMemberContext
2
+
3
+ ```ts
4
+ import { useMemberContext } from "@alloy-js/core";
5
+
6
+
7
+ function useMemberContext(): MemberContext | undefined;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | |
13
+ | - |
14
+
15
+ ## Returns
16
+
17
+ [Member context interface](../../contexts/member-context/) | undefined
@@ -0,0 +1,17 @@
1
+ # useMemberScope
2
+
3
+ ```ts
4
+ import { useMemberScope } from "@alloy-js/core";
5
+
6
+
7
+ function useMemberScope(): OutputScope;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | |
13
+ | - |
14
+
15
+ ## Returns
16
+
17
+ [OutputScope](../../types/outputscope/)
@@ -0,0 +1,21 @@
1
+ # writeOutput
2
+
3
+ Write the output from [render](../render/) to the file system.
4
+
5
+ ```ts
6
+ import { writeOutput } from "@alloy-js/core";
7
+
8
+
9
+ function writeOutput(output: OutputDirectory, basePath?: string): Promise<void>;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | -------- | --------------- | - |
16
+ | output | OutputDirectory | |
17
+ | basePath | optional string | |
18
+
19
+ ## Returns
20
+
21
+ Promise\<void>
@@ -0,0 +1,9 @@
1
+ # @alloy-js/core API Reference
2
+
3
+ - [components](components/index.md) (25 items)
4
+ - [contexts](contexts/index.md) (9 items)
5
+ - [functions](functions/index.md) (103 items)
6
+ - [testing/functions](testing/functions/index.md) (4 items)
7
+ - [testing/types](testing/types/index.md) (2 items)
8
+ - [types](types/index.md) (120 items)
9
+ - [variables](variables/index.md) (9 items)
@@ -0,0 +1,70 @@
1
+ # createTestWrapper
2
+
3
+ Create a reusable test harness for a language package. Returns a `Wrapper` component (wraps content in `<Output>` + `<SourceFile>`) and a `defkey` helper that creates stable namekeys for pre-declaring symbols.
4
+
5
+ ```ts
6
+ import { createTestWrapper } from "@alloy-js/core/testing";
7
+
8
+
9
+ function createTestWrapper<SymbolT extends OutputSymbol, ScopeT extends {
10
+ spaces: any;
11
+ }>(opts: {
12
+ filePath: string;
13
+ useScope: () => ScopeT | undefined;
14
+ makeSymbol: (nk: Namekey, scope: ScopeT) => SymbolT;
15
+ SourceFile: (props: {
16
+ path: string;
17
+ children: Children;
18
+ }) => any;
19
+ namePolicy?: NamePolicy<string>;
20
+ nameConflictResolver?: NameConflictResolver;
21
+ }): TestWrapper;
22
+ ```
23
+
24
+ ## Parameters
25
+
26
+ | | | |
27
+ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
28
+ | opts | { filePath: string; useScope: () => ScopeT \| undefined; makeSymbol: (nk: Namekey, scope: ScopeT) => SymbolT; SourceFile: (props: { path: string; children: Children; }) => any; namePolicy?: NamePolicy\<string>; nameConflictResolver?: NameConflictResolver; } | |
29
+
30
+ ## Returns
31
+
32
+ TestWrapper
33
+
34
+ ## Remarks
35
+
36
+ Downstream consumers import and call this from the language package’s `testing/` entrypoint. The `Wrapper` automatically declares symbols created by `defkey` before rendering children, so tests can reference symbols without explicit `<Declaration>` boilerplate.
37
+
38
+ ## Examples
39
+
40
+ ```ts
41
+ // In your language package's testing/ entrypoint:
42
+ import { FileComponent } from "./components/index.js"; // your language package's top-level file component
43
+ import { createTestWrapper, type TestWrapper } from "@alloy-js/core/testing";
44
+
45
+ export function createMyLangTestWrapper(): TestWrapper {
46
+ return createTestWrapper({
47
+ filePath: "test.ext",
48
+ useScope: useMyLangScope,
49
+ makeSymbol: (nk, scope) => new MyOutputSymbol(nk, scope),
50
+ SourceFile: FileComponent,
51
+ });
52
+ }
53
+ ```
54
+
55
+ ```ts
56
+ // Extend your language test factory to accept and forward namePolicy:
57
+ export function createMyLangTestWrapper(namePolicy?: NamePolicy<string>): TestWrapper {
58
+ return createTestWrapper({ ...langOpts, namePolicy });
59
+ }
60
+
61
+ // In a name-policy test:
62
+ const { Wrapper } = createMyLangTestWrapper(myNamePolicy);
63
+ const fooKey = namekey("foo"); // namekey(), not defkey — name policy applies
64
+ // namekey() schedules no pre-declaration; the test body must declare the symbol.
65
+ expect(
66
+ <Wrapper>
67
+ <MyDeclaration refkey={fooKey} name="foo" />
68
+ </Wrapper>
69
+ ).toRenderTo("FOO");
70
+ ```
@@ -0,0 +1,21 @@
1
+ # d
2
+
3
+ Dedented template literal tag. Strips leading/trailing blank lines and removes the common leading whitespace from all lines — useful for multi-line expected output in tests.
4
+
5
+ ```ts
6
+ import { d } from "@alloy-js/core/testing";
7
+
8
+
9
+ function d(strings: TemplateStringsArray, ...values: any[]): string;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | ------- | -------------------- | - |
16
+ | strings | TemplateStringsArray | |
17
+ | values | any\[] | |
18
+
19
+ ## Returns
20
+
21
+ string
@@ -0,0 +1,18 @@
1
+ # dedent
2
+
3
+ ```ts
4
+ import { dedent } from "@alloy-js/core/testing";
5
+
6
+
7
+ function dedent(str: string): string;
8
+ ```
9
+
10
+ ## Parameters
11
+
12
+ | | | |
13
+ | --- | ------ | - |
14
+ | str | string | |
15
+
16
+ ## Returns
17
+
18
+ string
@@ -0,0 +1,6 @@
1
+ # core/testing — functions
2
+
3
+ - [createTestWrapper](createTestWrapper.md) — Create a reusable test harness for a language package.
4
+ - [d](d.md) — Dedented template literal tag.
5
+ - [dedent](dedent.md) — import { dedent } from "@alloy-js/core/testing";
6
+ - [renderToString](renderToString.md) — Render a JSX element tree to a string.
@@ -0,0 +1,20 @@
1
+ # renderToString
2
+
3
+ Render a JSX element tree to a string. Convenience wrapper combining `renderTree` and `printTree`.
4
+
5
+ ```ts
6
+ import { renderToString } from "@alloy-js/core/testing";
7
+
8
+
9
+ function renderToString(element: Children): string;
10
+ ```
11
+
12
+ ## Parameters
13
+
14
+ | | | |
15
+ | ------- | -------- | - |
16
+ | element | Children | |
17
+
18
+ ## Returns
19
+
20
+ string
@@ -0,0 +1,4 @@
1
+ # @alloy-js/core/testing API Reference
2
+
3
+ - [functions](functions/index.md) (4 items)
4
+ - [types](types/index.md) (2 items)
@@ -0,0 +1,10 @@
1
+ # TestWrapper
2
+
3
+ Test harness returned by [createTestWrapper](../../functions/createtestwrapper/).
4
+
5
+ ## Members
6
+
7
+ | | | |
8
+ | ------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | defkey | (name: string) => Namekey | Creates a stable [`Namekey`](../../types/Namekey.md) and schedules a pre-declaration inside \[unresolved link]. Call `defkey(name)` before rendering. `Wrapper` renders `<Declaration symbol={...} />` for this name so `<Reference>` to the returned namekey resolves without requiring an explicit `<Declaration>` in the test body. |
10
+ | Wrapper | (props: { children: Children; }) => Children | JSX wrapper providing Output + a file-level component + language scope context. Name policy is applied only when `namePolicy`/`nameConflictResolver` are passed to [createTestWrapper](../../functions/createtestwrapper/). Pre-declares all namekeys created by \[unresolved link] before rendering children. |
@@ -0,0 +1,24 @@
1
+ # ToRenderToOptions
2
+
3
+ Print options passed to `toRenderTo` / `toRenderToAsync`. These override the per-[`SourceFile`](../../components/SourceFile.md) print settings for the duration of the assertion, which is useful when forcing line-breaking with a narrow `printWidth` in tests without needing extremely long inputs.
4
+
5
+ ## Members
6
+
7
+ | | | |
8
+ | ---------- | ---------------- | ----------------------------------------------------- |
9
+ | printWidth | optional number | Maximum line width before the formatter wraps output. |
10
+ | tabWidth | optional number | Number of spaces per indentation level. |
11
+ | useTabs | optional boolean | Use tab characters instead of spaces. |
12
+
13
+ ## Example
14
+
15
+ ```ts
16
+ expect(<MyList items={["a", "b", "c"]} />).toRenderTo(
17
+ `
18
+ a,
19
+ b,
20
+ c
21
+ `,
22
+ { printWidth: 10 }
23
+ );
24
+ ```
@@ -0,0 +1,4 @@
1
+ # core/testing — types
2
+
3
+ - [TestWrapper](TestWrapper.md) — Test harness returned by [createTestWrapper](../../functions/createtestwrapper/).
4
+ - [ToRenderToOptions](ToRenderToOptions.md) — Print options passed to `toRenderTo` / `toRenderToAsync`.
@@ -0,0 +1,5 @@
1
+ # AlignIntrinsicElement
2
+
3
+ ```ts
4
+ type AlignIntrinsicElement = IntrinsicElementBase<"align">;
5
+ ```
@@ -0,0 +1,5 @@
1
+ # AppendRegionProps
2
+
3
+ ```ts
4
+ type AppendRegionProps = AppendRegionPropsWithChildren | AppendRegionPropsWithContent | AppendRegionPropsBase;
5
+ ```
@@ -0,0 +1,21 @@
1
+ # BaseListProps
2
+
3
+ ## Members
4
+
5
+ | | | |
6
+ | ---------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
7
+ | comma | optional boolean | Place a comma between each element |
8
+ | doubleHardline | optional boolean | Place two hardlines between each element |
9
+ | ender | optional [Children](../children/) | Text to place at the end of the list when there is at least one item. If set to true, the joiner is used. |
10
+ | enderPunctuation | optional boolean | Place the join punctuation at the end, without a line break. The punctuation is emitted unconditionally in flat and broken modes. To add trailing punctuation only in broken mode, use `ender` with `<ifBreak>` inside a `<group>` with a non-hardline joiner (e.g. `line`):```tsx
11
+ <group>
12
+ <List comma line ender={<ifBreak>,</ifBreak>}>...</List>
13
+ </group>
14
+ ``` |
15
+ | hardline | optional boolean | Place a hardline (`<hbr />`) between each element |
16
+ | joiner | optional [Children](../children/) | Text to place between each element |
17
+ | line | optional boolean | Place a regular line (`<br />`) between each element |
18
+ | literalline | optional boolean | Place a literal line (`<lbr />`) between each element |
19
+ | semicolon | optional boolean | Place a semicolon between each element |
20
+ | softline | optional boolean | Place a softline (`<sbr />`) between each element |
21
+ | space | optional boolean | Place a space between each element |
@@ -0,0 +1,10 @@
1
+ # BasePartProps
2
+
3
+ Base props that all language-specific Part components must include. Language packages extend this with additional props.
4
+
5
+ ## Members
6
+
7
+ | | | |
8
+ | ------ | ----------------------------------------- | - |
9
+ | refkey | optional [Refkeyable](../refkeyable/) | |
10
+ | symbol | optional [OutputSymbol](../outputsymbol/) | |
@@ -0,0 +1,15 @@
1
+ # BasicScope
2
+
3
+ BasicScope is a kind of OutputScope that has a single declaration space named `symbols`. It is suitable for use in simple language implementations where there isn’t much in the way of unique scope semantics.
4
+
5
+ ## Members
6
+
7
+ Extends [OutputScope](../outputscope/)
8
+
9
+ | | | |
10
+ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | - |
11
+ | declarationSpaces | readonly \[“symbols”] | |
12
+ | defaultDeclarationSpace | | |
13
+ | symbolNames | ReadonlyMap\<string, import(”./output-symbol.js”).[OutputSymbol](../outputsymbol/)> | |
14
+ | symbols | import(”./output-space.js”).[OutputSpace](../outputspace/) | |
15
+ | symbolsByRefkey | ReadonlyMap\<import(”../refkey.js”).[Refkey](../refkey/), import(”./output-symbol.js”).[OutputSymbol](../outputsymbol/)> | |
@@ -0,0 +1,18 @@
1
+ # BasicSymbol
2
+
3
+ BasicSymbol is a kind of OutputSymbol that has instance and static members. It is suitable for use in simple language implementations where there isn’t much in the way of unique symbol semantics.
4
+
5
+ ## Members
6
+
7
+ Extends [OutputSymbol](../outputsymbol/)
8
+
9
+ | | | |
10
+ | --------------- | ---------------------------------------------------------------------- | - |
11
+ | copy | () => BasicSymbol | |
12
+ | instanceMembers | import(”./output-space.js”).[OutputMemberSpace](../outputmemberspace/) | |
13
+ | memberSpaces | string\[] | |
14
+ | staticMembers | import(”./output-space.js”).[OutputMemberSpace](../outputmemberspace/) | |
15
+
16
+ ## Remarks
17
+
18
+ Instantiation is done by copying symbols from instance members to static members of the instantiation target.
@@ -0,0 +1,18 @@
1
+ # Binder
2
+
3
+ The binder tracks all output scopes and symbols. Scopes are nested containers for symbols.
4
+
5
+ ## Members
6
+
7
+ | | | |
8
+ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
9
+ | getSymbolForRefkey | (refkey: Refkeyable) => Ref\<TSymbol \| undefined> | Get a ref to the symbol associated with the given refkey. The value of the ref is undefined if the symbol has not been created yet. |
10
+ | nameConflictResolver | optional [NameConflictResolver](../nameconflictresolver/) | The name conflict resolver to use for this binder. |
11
+ | notifyScopeCreated | (scope: OutputScope) => void | Notifies the binder that a scope has been created. |
12
+ | notifySymbolCreated | (symbol: OutputSymbol) => void | Notifies the binder that a symbol has been created. |
13
+ | notifySymbolDeleted | (symbol: OutputSymbol) => void | Notifies the binder that a symbol has been deleted. |
14
+ | resolveDeclarationByKey | (currentScope: TScope \| undefined, key: Refkey, options: ResolveDeclarationByKeyOptions\<TScope, TSymbol>) => Ref\<ResolutionResult\<TScope, TSymbol> \| undefined> | Resolve the given refkey in the current scope. |
15
+
16
+ ## Remarks
17
+
18
+ Symbol information is reactive because in certain situations this data may change. For example, when a symbol becomes conflicted with another symbol, one of the symbol names may change. Ensure that you interact with binder values in a reactive context (i.e. within JSX/code template, or within memo/computed/etc).
@@ -0,0 +1,7 @@
1
+ # BinderOptions
2
+
3
+ ## Members
4
+
5
+ | | | |
6
+ | -------------------- | --------------------------------------------------------- | - |
7
+ | nameConflictResolver | optional [NameConflictResolver](../nameconflictresolver/) | |
@@ -0,0 +1,5 @@
1
+ # BrIntrinsicElement
2
+
3
+ ```ts
4
+ type BrIntrinsicElement = IntrinsicElementBase<"br">;
5
+ ```
@@ -0,0 +1,5 @@
1
+ # BreakParentIntrinsicElement
2
+
3
+ ```ts
4
+ type BreakParentIntrinsicElement = IntrinsicElementBase<"breakParent">;
5
+ ```
@@ -0,0 +1,5 @@
1
+ # Child
2
+
3
+ ```ts
4
+ type Child = RenderableObject | RefkeyableObject | string | boolean | number | undefined | null | void | (() => Children) | Ref | Refkey | CustomContext | IntrinsicElement;
5
+ ```