@alloy-js/csharp 0.23.0-dev.4 → 0.23.0-dev.6

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 (492) hide show
  1. package/dist/dev/scripts/components/library-interface.js +67 -0
  2. package/dist/dev/scripts/components/library-interface.js.map +1 -0
  3. package/dist/dev/scripts/components/namespace-directory.js +160 -0
  4. package/dist/dev/scripts/components/namespace-directory.js.map +1 -0
  5. package/dist/dev/scripts/generate-builtins.js +45 -0
  6. package/dist/dev/scripts/generate-builtins.js.map +1 -0
  7. package/dist/dev/scripts/process-docfx.js +316 -0
  8. package/dist/dev/scripts/process-docfx.js.map +1 -0
  9. package/dist/dev/src/access.js +73 -0
  10. package/dist/dev/src/access.js.map +1 -0
  11. package/dist/dev/src/access.test.js +43 -0
  12. package/dist/dev/src/access.test.js.map +1 -0
  13. package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js +23 -0
  14. package/dist/dev/src/builtins/Microsoft/CSharp/RuntimeBinder/index.js.map +1 -0
  15. package/dist/dev/src/builtins/Microsoft/CSharp/index.js +5 -0
  16. package/dist/dev/src/builtins/Microsoft/CSharp/index.js.map +1 -0
  17. package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js +473 -0
  18. package/dist/dev/src/builtins/Microsoft/VisualBasic/FileIO/index.js.map +1 -0
  19. package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js +2534 -0
  20. package/dist/dev/src/builtins/Microsoft/VisualBasic/index.js.map +1 -0
  21. package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js +320 -0
  22. package/dist/dev/src/builtins/Microsoft/Win32/SafeHandles/index.js.map +1 -0
  23. package/dist/dev/src/builtins/Microsoft/Win32/index.js +362 -0
  24. package/dist/dev/src/builtins/Microsoft/Win32/index.js.map +1 -0
  25. package/dist/dev/src/builtins/Microsoft/index.js +7 -0
  26. package/dist/dev/src/builtins/Microsoft/index.js.map +1 -0
  27. package/dist/dev/src/builtins/System/Buffers/Binary/index.js +536 -0
  28. package/dist/dev/src/builtins/System/Buffers/Binary/index.js.map +1 -0
  29. package/dist/dev/src/builtins/System/Buffers/Text/index.js +144 -0
  30. package/dist/dev/src/builtins/System/Buffers/Text/index.js.map +1 -0
  31. package/dist/dev/src/builtins/System/Buffers/index.js +605 -0
  32. package/dist/dev/src/builtins/System/Buffers/index.js.map +1 -0
  33. package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js +131 -0
  34. package/dist/dev/src/builtins/System/CodeDom/Compiler/index.js.map +1 -0
  35. package/dist/dev/src/builtins/System/CodeDom/index.js +5 -0
  36. package/dist/dev/src/builtins/System/CodeDom/index.js.map +1 -0
  37. package/dist/dev/src/builtins/System/Collections/Concurrent/index.js +399 -0
  38. package/dist/dev/src/builtins/System/Collections/Concurrent/index.js.map +1 -0
  39. package/dist/dev/src/builtins/System/Collections/Frozen/index.js +88 -0
  40. package/dist/dev/src/builtins/System/Collections/Frozen/index.js.map +1 -0
  41. package/dist/dev/src/builtins/System/Collections/Generic/index.js +978 -0
  42. package/dist/dev/src/builtins/System/Collections/Generic/index.js.map +1 -0
  43. package/dist/dev/src/builtins/System/Collections/Immutable/index.js +1049 -0
  44. package/dist/dev/src/builtins/System/Collections/Immutable/index.js.map +1 -0
  45. package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js +394 -0
  46. package/dist/dev/src/builtins/System/Collections/ObjectModel/index.js.map +1 -0
  47. package/dist/dev/src/builtins/System/Collections/Specialized/index.js +716 -0
  48. package/dist/dev/src/builtins/System/Collections/Specialized/index.js.map +1 -0
  49. package/dist/dev/src/builtins/System/Collections/index.js +1355 -0
  50. package/dist/dev/src/builtins/System/Collections/index.js.map +1 -0
  51. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js +143 -0
  52. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/Schema/index.js.map +1 -0
  53. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js +1237 -0
  54. package/dist/dev/src/builtins/System/ComponentModel/DataAnnotations/index.js.map +1 -0
  55. package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js +535 -0
  56. package/dist/dev/src/builtins/System/ComponentModel/Design/Serialization/index.js.map +1 -0
  57. package/dist/dev/src/builtins/System/ComponentModel/Design/index.js +2008 -0
  58. package/dist/dev/src/builtins/System/ComponentModel/Design/index.js.map +1 -0
  59. package/dist/dev/src/builtins/System/ComponentModel/index.js +6649 -0
  60. package/dist/dev/src/builtins/System/ComponentModel/index.js.map +1 -0
  61. package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js +69 -0
  62. package/dist/dev/src/builtins/System/Configuration/Assemblies/index.js.map +1 -0
  63. package/dist/dev/src/builtins/System/Configuration/index.js +5 -0
  64. package/dist/dev/src/builtins/System/Configuration/index.js.map +1 -0
  65. package/dist/dev/src/builtins/System/Data/Common/index.js +3279 -0
  66. package/dist/dev/src/builtins/System/Data/Common/index.js.map +1 -0
  67. package/dist/dev/src/builtins/System/Data/SqlTypes/index.js +2655 -0
  68. package/dist/dev/src/builtins/System/Data/SqlTypes/index.js.map +1 -0
  69. package/dist/dev/src/builtins/System/Data/index.js +4504 -0
  70. package/dist/dev/src/builtins/System/Data/index.js.map +1 -0
  71. package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js +705 -0
  72. package/dist/dev/src/builtins/System/Diagnostics/CodeAnalysis/index.js.map +1 -0
  73. package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js +309 -0
  74. package/dist/dev/src/builtins/System/Diagnostics/Contracts/index.js.map +1 -0
  75. package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js +323 -0
  76. package/dist/dev/src/builtins/System/Diagnostics/Metrics/index.js.map +1 -0
  77. package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js +610 -0
  78. package/dist/dev/src/builtins/System/Diagnostics/SymbolStore/index.js.map +1 -0
  79. package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js +954 -0
  80. package/dist/dev/src/builtins/System/Diagnostics/Tracing/index.js.map +1 -0
  81. package/dist/dev/src/builtins/System/Diagnostics/index.js +3826 -0
  82. package/dist/dev/src/builtins/System/Diagnostics/index.js.map +1 -0
  83. package/dist/dev/src/builtins/System/Drawing/index.js +3305 -0
  84. package/dist/dev/src/builtins/System/Drawing/index.js.map +1 -0
  85. package/dist/dev/src/builtins/System/Dynamic/index.js +795 -0
  86. package/dist/dev/src/builtins/System/Dynamic/index.js.map +1 -0
  87. package/dist/dev/src/builtins/System/Formats/Asn1/index.js +843 -0
  88. package/dist/dev/src/builtins/System/Formats/Asn1/index.js.map +1 -0
  89. package/dist/dev/src/builtins/System/Formats/Tar/index.js +436 -0
  90. package/dist/dev/src/builtins/System/Formats/Tar/index.js.map +1 -0
  91. package/dist/dev/src/builtins/System/Formats/index.js +6 -0
  92. package/dist/dev/src/builtins/System/Formats/index.js.map +1 -0
  93. package/dist/dev/src/builtins/System/Globalization/index.js +3848 -0
  94. package/dist/dev/src/builtins/System/Globalization/index.js.map +1 -0
  95. package/dist/dev/src/builtins/System/IO/Compression/index.js +894 -0
  96. package/dist/dev/src/builtins/System/IO/Compression/index.js.map +1 -0
  97. package/dist/dev/src/builtins/System/IO/Enumeration/index.js +218 -0
  98. package/dist/dev/src/builtins/System/IO/Enumeration/index.js.map +1 -0
  99. package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js +495 -0
  100. package/dist/dev/src/builtins/System/IO/IsolatedStorage/index.js.map +1 -0
  101. package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js +251 -0
  102. package/dist/dev/src/builtins/System/IO/MemoryMappedFiles/index.js.map +1 -0
  103. package/dist/dev/src/builtins/System/IO/Pipelines/index.js +415 -0
  104. package/dist/dev/src/builtins/System/IO/Pipelines/index.js.map +1 -0
  105. package/dist/dev/src/builtins/System/IO/Pipes/index.js +723 -0
  106. package/dist/dev/src/builtins/System/IO/Pipes/index.js.map +1 -0
  107. package/dist/dev/src/builtins/System/IO/index.js +3713 -0
  108. package/dist/dev/src/builtins/System/IO/index.js.map +1 -0
  109. package/dist/dev/src/builtins/System/Linq/Expressions/index.js +2253 -0
  110. package/dist/dev/src/builtins/System/Linq/Expressions/index.js.map +1 -0
  111. package/dist/dev/src/builtins/System/Linq/index.js +275 -0
  112. package/dist/dev/src/builtins/System/Linq/index.js.map +1 -0
  113. package/dist/dev/src/builtins/System/Net/Cache/index.js +217 -0
  114. package/dist/dev/src/builtins/System/Net/Cache/index.js.map +1 -0
  115. package/dist/dev/src/builtins/System/Net/Http/Headers/index.js +1668 -0
  116. package/dist/dev/src/builtins/System/Net/Http/Headers/index.js.map +1 -0
  117. package/dist/dev/src/builtins/System/Net/Http/Json/index.js +72 -0
  118. package/dist/dev/src/builtins/System/Net/Http/Json/index.js.map +1 -0
  119. package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js +40 -0
  120. package/dist/dev/src/builtins/System/Net/Http/Metrics/index.js.map +1 -0
  121. package/dist/dev/src/builtins/System/Net/Http/index.js +1458 -0
  122. package/dist/dev/src/builtins/System/Net/Http/index.js.map +1 -0
  123. package/dist/dev/src/builtins/System/Net/Mail/index.js +871 -0
  124. package/dist/dev/src/builtins/System/Net/Mail/index.js.map +1 -0
  125. package/dist/dev/src/builtins/System/Net/Mime/index.js +500 -0
  126. package/dist/dev/src/builtins/System/Net/Mime/index.js.map +1 -0
  127. package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js +2776 -0
  128. package/dist/dev/src/builtins/System/Net/NetworkInformation/index.js.map +1 -0
  129. package/dist/dev/src/builtins/System/Net/Quic/index.js +635 -0
  130. package/dist/dev/src/builtins/System/Net/Quic/index.js.map +1 -0
  131. package/dist/dev/src/builtins/System/Net/Security/index.js +1432 -0
  132. package/dist/dev/src/builtins/System/Net/Security/index.js.map +1 -0
  133. package/dist/dev/src/builtins/System/Net/Sockets/index.js +3095 -0
  134. package/dist/dev/src/builtins/System/Net/Sockets/index.js.map +1 -0
  135. package/dist/dev/src/builtins/System/Net/WebSockets/index.js +876 -0
  136. package/dist/dev/src/builtins/System/Net/WebSockets/index.js.map +1 -0
  137. package/dist/dev/src/builtins/System/Net/index.js +5481 -0
  138. package/dist/dev/src/builtins/System/Net/index.js.map +1 -0
  139. package/dist/dev/src/builtins/System/Numerics/index.js +3425 -0
  140. package/dist/dev/src/builtins/System/Numerics/index.js.map +1 -0
  141. package/dist/dev/src/builtins/System/Reflection/Emit/index.js +4293 -0
  142. package/dist/dev/src/builtins/System/Reflection/Emit/index.js.map +1 -0
  143. package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js +2218 -0
  144. package/dist/dev/src/builtins/System/Reflection/Metadata/Ecma335/index.js.map +1 -0
  145. package/dist/dev/src/builtins/System/Reflection/Metadata/index.js +6045 -0
  146. package/dist/dev/src/builtins/System/Reflection/Metadata/index.js.map +1 -0
  147. package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js +2020 -0
  148. package/dist/dev/src/builtins/System/Reflection/PortableExecutable/index.js.map +1 -0
  149. package/dist/dev/src/builtins/System/Reflection/index.js +5244 -0
  150. package/dist/dev/src/builtins/System/Reflection/index.js.map +1 -0
  151. package/dist/dev/src/builtins/System/Resources/index.js +289 -0
  152. package/dist/dev/src/builtins/System/Resources/index.js.map +1 -0
  153. package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js +1896 -0
  154. package/dist/dev/src/builtins/System/Runtime/CompilerServices/index.js.map +1 -0
  155. package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js +103 -0
  156. package/dist/dev/src/builtins/System/Runtime/ConstrainedExecution/index.js.map +1 -0
  157. package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js +62 -0
  158. package/dist/dev/src/builtins/System/Runtime/ExceptionServices/index.js.map +1 -0
  159. package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js +67 -0
  160. package/dist/dev/src/builtins/System/Runtime/InteropServices/ComTypes/index.js.map +1 -0
  161. package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js +210 -0
  162. package/dist/dev/src/builtins/System/Runtime/InteropServices/JavaScript/index.js.map +1 -0
  163. package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js +1012 -0
  164. package/dist/dev/src/builtins/System/Runtime/InteropServices/Marshalling/index.js.map +1 -0
  165. package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js +79 -0
  166. package/dist/dev/src/builtins/System/Runtime/InteropServices/ObjectiveC/index.js.map +1 -0
  167. package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js +49 -0
  168. package/dist/dev/src/builtins/System/Runtime/InteropServices/Swift/index.js.map +1 -0
  169. package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js +3626 -0
  170. package/dist/dev/src/builtins/System/Runtime/InteropServices/index.js.map +1 -0
  171. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js +1297 -0
  172. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Arm/index.js.map +1 -0
  173. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js +338 -0
  174. package/dist/dev/src/builtins/System/Runtime/Intrinsics/Wasm/index.js.map +1 -0
  175. package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js +1372 -0
  176. package/dist/dev/src/builtins/System/Runtime/Intrinsics/X86/index.js.map +1 -0
  177. package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js +273 -0
  178. package/dist/dev/src/builtins/System/Runtime/Intrinsics/index.js.map +1 -0
  179. package/dist/dev/src/builtins/System/Runtime/Loader/index.js +140 -0
  180. package/dist/dev/src/builtins/System/Runtime/Loader/index.js.map +1 -0
  181. package/dist/dev/src/builtins/System/Runtime/Remoting/index.js +18 -0
  182. package/dist/dev/src/builtins/System/Runtime/Remoting/index.js.map +1 -0
  183. package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js +265 -0
  184. package/dist/dev/src/builtins/System/Runtime/Serialization/DataContracts/index.js.map +1 -0
  185. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js +61 -0
  186. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/Binary/index.js.map +1 -0
  187. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js +83 -0
  188. package/dist/dev/src/builtins/System/Runtime/Serialization/Formatters/index.js.map +1 -0
  189. package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js +192 -0
  190. package/dist/dev/src/builtins/System/Runtime/Serialization/Json/index.js.map +1 -0
  191. package/dist/dev/src/builtins/System/Runtime/Serialization/index.js +1611 -0
  192. package/dist/dev/src/builtins/System/Runtime/Serialization/index.js.map +1 -0
  193. package/dist/dev/src/builtins/System/Runtime/Versioning/index.js +336 -0
  194. package/dist/dev/src/builtins/System/Runtime/Versioning/index.js.map +1 -0
  195. package/dist/dev/src/builtins/System/Runtime/index.js +245 -0
  196. package/dist/dev/src/builtins/System/Runtime/index.js.map +1 -0
  197. package/dist/dev/src/builtins/System/Security/AccessControl/index.js +2343 -0
  198. package/dist/dev/src/builtins/System/Security/AccessControl/index.js.map +1 -0
  199. package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js +169 -0
  200. package/dist/dev/src/builtins/System/Security/Authentication/ExtendedProtection/index.js.map +1 -0
  201. package/dist/dev/src/builtins/System/Security/Authentication/index.js +212 -0
  202. package/dist/dev/src/builtins/System/Security/Authentication/index.js.map +1 -0
  203. package/dist/dev/src/builtins/System/Security/Claims/index.js +844 -0
  204. package/dist/dev/src/builtins/System/Security/Claims/index.js.map +1 -0
  205. package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js +2633 -0
  206. package/dist/dev/src/builtins/System/Security/Cryptography/X509Certificates/index.js.map +1 -0
  207. package/dist/dev/src/builtins/System/Security/Cryptography/index.js +6673 -0
  208. package/dist/dev/src/builtins/System/Security/Cryptography/index.js.map +1 -0
  209. package/dist/dev/src/builtins/System/Security/Permissions/index.js +325 -0
  210. package/dist/dev/src/builtins/System/Security/Permissions/index.js.map +1 -0
  211. package/dist/dev/src/builtins/System/Security/Policy/index.js +101 -0
  212. package/dist/dev/src/builtins/System/Security/Policy/index.js.map +1 -0
  213. package/dist/dev/src/builtins/System/Security/Principal/index.js +1338 -0
  214. package/dist/dev/src/builtins/System/Security/Principal/index.js.map +1 -0
  215. package/dist/dev/src/builtins/System/Security/index.js +672 -0
  216. package/dist/dev/src/builtins/System/Security/index.js.map +1 -0
  217. package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js +162 -0
  218. package/dist/dev/src/builtins/System/Text/Encodings/Web/index.js.map +1 -0
  219. package/dist/dev/src/builtins/System/Text/Encodings/index.js +5 -0
  220. package/dist/dev/src/builtins/System/Text/Encodings/index.js.map +1 -0
  221. package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js +250 -0
  222. package/dist/dev/src/builtins/System/Text/Json/Nodes/index.js.map +1 -0
  223. package/dist/dev/src/builtins/System/Text/Json/Schema/index.js +78 -0
  224. package/dist/dev/src/builtins/System/Text/Json/Schema/index.js.map +1 -0
  225. package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js +328 -0
  226. package/dist/dev/src/builtins/System/Text/Json/Serialization/Metadata/index.js.map +1 -0
  227. package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js +840 -0
  228. package/dist/dev/src/builtins/System/Text/Json/Serialization/index.js.map +1 -0
  229. package/dist/dev/src/builtins/System/Text/Json/index.js +1185 -0
  230. package/dist/dev/src/builtins/System/Text/Json/index.js.map +1 -0
  231. package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js +732 -0
  232. package/dist/dev/src/builtins/System/Text/RegularExpressions/index.js.map +1 -0
  233. package/dist/dev/src/builtins/System/Text/Unicode/index.js +1199 -0
  234. package/dist/dev/src/builtins/System/Text/Unicode/index.js.map +1 -0
  235. package/dist/dev/src/builtins/System/Text/index.js +1748 -0
  236. package/dist/dev/src/builtins/System/Text/index.js.map +1 -0
  237. package/dist/dev/src/builtins/System/Threading/Channels/index.js +229 -0
  238. package/dist/dev/src/builtins/System/Threading/Channels/index.js.map +1 -0
  239. package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js +676 -0
  240. package/dist/dev/src/builtins/System/Threading/Tasks/Dataflow/index.js.map +1 -0
  241. package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js +117 -0
  242. package/dist/dev/src/builtins/System/Threading/Tasks/Sources/index.js.map +1 -0
  243. package/dist/dev/src/builtins/System/Threading/Tasks/index.js +721 -0
  244. package/dist/dev/src/builtins/System/Threading/Tasks/index.js.map +1 -0
  245. package/dist/dev/src/builtins/System/Threading/index.js +2292 -0
  246. package/dist/dev/src/builtins/System/Threading/index.js.map +1 -0
  247. package/dist/dev/src/builtins/System/Timers/index.js +129 -0
  248. package/dist/dev/src/builtins/System/Timers/index.js.map +1 -0
  249. package/dist/dev/src/builtins/System/Transactions/index.js +727 -0
  250. package/dist/dev/src/builtins/System/Transactions/index.js.map +1 -0
  251. package/dist/dev/src/builtins/System/Web/index.js +84 -0
  252. package/dist/dev/src/builtins/System/Web/index.js.map +1 -0
  253. package/dist/dev/src/builtins/System/Windows/Input/index.js +18 -0
  254. package/dist/dev/src/builtins/System/Windows/Input/index.js.map +1 -0
  255. package/dist/dev/src/builtins/System/Windows/Markup/index.js +28 -0
  256. package/dist/dev/src/builtins/System/Windows/Markup/index.js.map +1 -0
  257. package/dist/dev/src/builtins/System/Windows/index.js +6 -0
  258. package/dist/dev/src/builtins/System/Windows/index.js.map +1 -0
  259. package/dist/dev/src/builtins/System/Xml/Linq/index.js +1086 -0
  260. package/dist/dev/src/builtins/System/Xml/Linq/index.js.map +1 -0
  261. package/dist/dev/src/builtins/System/Xml/Resolvers/index.js +86 -0
  262. package/dist/dev/src/builtins/System/Xml/Resolvers/index.js.map +1 -0
  263. package/dist/dev/src/builtins/System/Xml/Schema/index.js +2993 -0
  264. package/dist/dev/src/builtins/System/Xml/Schema/index.js.map +1 -0
  265. package/dist/dev/src/builtins/System/Xml/Serialization/index.js +2356 -0
  266. package/dist/dev/src/builtins/System/Xml/Serialization/index.js.map +1 -0
  267. package/dist/dev/src/builtins/System/Xml/XPath/index.js +917 -0
  268. package/dist/dev/src/builtins/System/Xml/XPath/index.js.map +1 -0
  269. package/dist/dev/src/builtins/System/Xml/Xsl/index.js +315 -0
  270. package/dist/dev/src/builtins/System/Xml/Xsl/index.js.map +1 -0
  271. package/dist/dev/src/builtins/System/Xml/index.js +5736 -0
  272. package/dist/dev/src/builtins/System/Xml/index.js.map +1 -0
  273. package/dist/dev/src/builtins/System/index.js +14587 -0
  274. package/dist/dev/src/builtins/System/index.js.map +1 -0
  275. package/dist/dev/src/builtins/index.js +3 -0
  276. package/dist/dev/src/builtins/index.js.map +1 -0
  277. package/dist/dev/src/components/Declaration.js +9 -0
  278. package/dist/dev/src/components/Declaration.js.map +1 -0
  279. package/dist/dev/src/components/Name.js +12 -0
  280. package/dist/dev/src/components/Name.js.map +1 -0
  281. package/dist/dev/src/components/Reference.js +13 -0
  282. package/dist/dev/src/components/Reference.js.map +1 -0
  283. package/dist/dev/src/components/access-expression/access-expression.js +288 -0
  284. package/dist/dev/src/components/access-expression/access-expression.js.map +1 -0
  285. package/dist/dev/src/components/access-expression/access-expression.test.js +608 -0
  286. package/dist/dev/src/components/access-expression/access-expression.test.js.map +1 -0
  287. package/dist/dev/src/components/access-expression/part-descriptors.js +14 -0
  288. package/dist/dev/src/components/access-expression/part-descriptors.js.map +1 -0
  289. package/dist/dev/src/components/attributes/attributes.js +113 -0
  290. package/dist/dev/src/components/attributes/attributes.js.map +1 -0
  291. package/dist/dev/src/components/attributes/attributes.test.js +201 -0
  292. package/dist/dev/src/components/attributes/attributes.test.js.map +1 -0
  293. package/dist/dev/src/components/class/declaration.js +123 -0
  294. package/dist/dev/src/components/class/declaration.js.map +1 -0
  295. package/dist/dev/src/components/class/declaration.test.js +893 -0
  296. package/dist/dev/src/components/class/declaration.test.js.map +1 -0
  297. package/dist/dev/src/components/constructor/constructor.js +60 -0
  298. package/dist/dev/src/components/constructor/constructor.js.map +1 -0
  299. package/dist/dev/src/components/constructor/constructor.test.js +62 -0
  300. package/dist/dev/src/components/constructor/constructor.test.js.map +1 -0
  301. package/dist/dev/src/components/csproj-file/csproj-file.js +32 -0
  302. package/dist/dev/src/components/csproj-file/csproj-file.js.map +1 -0
  303. package/dist/dev/src/components/csproj-file/csproj-file.test.js +70 -0
  304. package/dist/dev/src/components/csproj-file/csproj-file.test.js.map +1 -0
  305. package/dist/dev/src/components/doc/comment.js +129 -0
  306. package/dist/dev/src/components/doc/comment.js.map +1 -0
  307. package/dist/dev/src/components/doc/comment.test.js +577 -0
  308. package/dist/dev/src/components/doc/comment.test.js.map +1 -0
  309. package/dist/dev/src/components/doc/from-markdown.js +83 -0
  310. package/dist/dev/src/components/doc/from-markdown.js.map +1 -0
  311. package/dist/dev/src/components/doc/from-markdown.test.js +112 -0
  312. package/dist/dev/src/components/doc/from-markdown.test.js.map +1 -0
  313. package/dist/dev/src/components/enum/declaration.js +71 -0
  314. package/dist/dev/src/components/enum/declaration.js.map +1 -0
  315. package/dist/dev/src/components/enum/declaration.ref.test.js +221 -0
  316. package/dist/dev/src/components/enum/declaration.ref.test.js.map +1 -0
  317. package/dist/dev/src/components/enum/declaration.test.js +82 -0
  318. package/dist/dev/src/components/enum/declaration.test.js.map +1 -0
  319. package/dist/dev/src/components/enum/member.js +38 -0
  320. package/dist/dev/src/components/enum/member.js.map +1 -0
  321. package/dist/dev/src/components/enum/member.test.js +84 -0
  322. package/dist/dev/src/components/enum/member.test.js.map +1 -0
  323. package/dist/dev/src/components/field/field.js +43 -0
  324. package/dist/dev/src/components/field/field.js.map +1 -0
  325. package/dist/dev/src/components/field/field.test.js +242 -0
  326. package/dist/dev/src/components/field/field.test.js.map +1 -0
  327. package/dist/dev/src/components/if/if-statement.js +56 -0
  328. package/dist/dev/src/components/if/if-statement.js.map +1 -0
  329. package/dist/dev/src/components/if/if-statement.test.js +41 -0
  330. package/dist/dev/src/components/if/if-statement.test.js.map +1 -0
  331. package/dist/dev/src/components/index.js +31 -0
  332. package/dist/dev/src/components/index.js.map +1 -0
  333. package/dist/dev/src/components/interface/declaration.js +114 -0
  334. package/dist/dev/src/components/interface/declaration.js.map +1 -0
  335. package/dist/dev/src/components/interface/declaration.test.js +264 -0
  336. package/dist/dev/src/components/interface/declaration.test.js.map +1 -0
  337. package/dist/dev/src/components/interface/method.js +100 -0
  338. package/dist/dev/src/components/interface/method.js.map +1 -0
  339. package/dist/dev/src/components/interface/method.test.js +432 -0
  340. package/dist/dev/src/components/interface/method.test.js.map +1 -0
  341. package/dist/dev/src/components/interface/property.js +80 -0
  342. package/dist/dev/src/components/interface/property.js.map +1 -0
  343. package/dist/dev/src/components/interface/property.test.js +305 -0
  344. package/dist/dev/src/components/interface/property.test.js.map +1 -0
  345. package/dist/dev/src/components/invocation-expression/invocation-expression.js +94 -0
  346. package/dist/dev/src/components/invocation-expression/invocation-expression.js.map +1 -0
  347. package/dist/dev/src/components/invocation-expression/invocation-expression.test.js +153 -0
  348. package/dist/dev/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  349. package/dist/dev/src/components/lexical-scope.js +30 -0
  350. package/dist/dev/src/components/lexical-scope.js.map +1 -0
  351. package/dist/dev/src/components/method/method.js +134 -0
  352. package/dist/dev/src/components/method/method.js.map +1 -0
  353. package/dist/dev/src/components/method/method.test.js +358 -0
  354. package/dist/dev/src/components/method/method.test.js.map +1 -0
  355. package/dist/dev/src/components/method-scope.js +30 -0
  356. package/dist/dev/src/components/method-scope.js.map +1 -0
  357. package/dist/dev/src/components/namespace/namespace-name.js +20 -0
  358. package/dist/dev/src/components/namespace/namespace-name.js.map +1 -0
  359. package/dist/dev/src/components/namespace/namespace.js +60 -0
  360. package/dist/dev/src/components/namespace/namespace.js.map +1 -0
  361. package/dist/dev/src/components/namespace/namespace.test.js +416 -0
  362. package/dist/dev/src/components/namespace/namespace.test.js.map +1 -0
  363. package/dist/dev/src/components/namespace-scopes.js +68 -0
  364. package/dist/dev/src/components/namespace-scopes.js.map +1 -0
  365. package/dist/dev/src/components/namespace.ref.test.js +419 -0
  366. package/dist/dev/src/components/namespace.ref.test.js.map +1 -0
  367. package/dist/dev/src/components/parameters/parameters.js +96 -0
  368. package/dist/dev/src/components/parameters/parameters.js.map +1 -0
  369. package/dist/dev/src/components/parameters/parameters.test.js +317 -0
  370. package/dist/dev/src/components/parameters/parameters.test.js.map +1 -0
  371. package/dist/dev/src/components/property/property.js +115 -0
  372. package/dist/dev/src/components/property/property.js.map +1 -0
  373. package/dist/dev/src/components/property/property.test.js +395 -0
  374. package/dist/dev/src/components/property/property.test.js.map +1 -0
  375. package/dist/dev/src/components/record/declaration.js +132 -0
  376. package/dist/dev/src/components/record/declaration.js.map +1 -0
  377. package/dist/dev/src/components/record/declaration.test.js +231 -0
  378. package/dist/dev/src/components/record/declaration.test.js.map +1 -0
  379. package/dist/dev/src/components/region/region.js +14 -0
  380. package/dist/dev/src/components/region/region.js.map +1 -0
  381. package/dist/dev/src/components/region/region.test.js +39 -0
  382. package/dist/dev/src/components/region/region.test.js.map +1 -0
  383. package/dist/dev/src/components/source-file/source-file.js +163 -0
  384. package/dist/dev/src/components/source-file/source-file.js.map +1 -0
  385. package/dist/dev/src/components/source-file/source-file.test.js +271 -0
  386. package/dist/dev/src/components/source-file/source-file.test.js.map +1 -0
  387. package/dist/dev/src/components/source-file/using.test.js +201 -0
  388. package/dist/dev/src/components/source-file/using.test.js.map +1 -0
  389. package/dist/dev/src/components/stc/index.js +13 -0
  390. package/dist/dev/src/components/stc/index.js.map +1 -0
  391. package/dist/dev/src/components/struct/declaration.js +113 -0
  392. package/dist/dev/src/components/struct/declaration.js.map +1 -0
  393. package/dist/dev/src/components/struct/declaration.test.js +400 -0
  394. package/dist/dev/src/components/struct/declaration.test.js.map +1 -0
  395. package/dist/dev/src/components/type-parameters/type-parameter-constraints.js +73 -0
  396. package/dist/dev/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
  397. package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js +92 -0
  398. package/dist/dev/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
  399. package/dist/dev/src/components/type-parameters/type-parameter.js +28 -0
  400. package/dist/dev/src/components/type-parameters/type-parameter.js.map +1 -0
  401. package/dist/dev/src/components/type-parameters/type-parameters.js +71 -0
  402. package/dist/dev/src/components/type-parameters/type-parameters.js.map +1 -0
  403. package/dist/dev/src/components/type-parameters/type-parameters.test.js +103 -0
  404. package/dist/dev/src/components/type-parameters/type-parameters.test.js.map +1 -0
  405. package/dist/dev/src/components/using/using.js +45 -0
  406. package/dist/dev/src/components/using/using.js.map +1 -0
  407. package/dist/dev/src/components/using/using.test.js +27 -0
  408. package/dist/dev/src/components/using/using.test.js.map +1 -0
  409. package/dist/dev/src/components/var/declaration.js +72 -0
  410. package/dist/dev/src/components/var/declaration.js.map +1 -0
  411. package/dist/dev/src/components/var/declaration.test.js +167 -0
  412. package/dist/dev/src/components/var/declaration.test.js.map +1 -0
  413. package/dist/dev/src/contexts/format-options.js +9 -0
  414. package/dist/dev/src/contexts/format-options.js.map +1 -0
  415. package/dist/dev/src/contexts/global-namespace.js +30 -0
  416. package/dist/dev/src/contexts/global-namespace.js.map +1 -0
  417. package/dist/dev/src/contexts/namespace.js +6 -0
  418. package/dist/dev/src/contexts/namespace.js.map +1 -0
  419. package/dist/dev/src/contexts/reference-context.js +15 -0
  420. package/dist/dev/src/contexts/reference-context.js.map +1 -0
  421. package/dist/dev/src/create-library.js +136 -0
  422. package/dist/dev/src/create-library.js.map +1 -0
  423. package/dist/dev/src/create-library.test.js +289 -0
  424. package/dist/dev/src/create-library.test.js.map +1 -0
  425. package/dist/dev/src/index.js +9 -0
  426. package/dist/dev/src/index.js.map +1 -0
  427. package/dist/dev/src/modifiers.js +21 -0
  428. package/dist/dev/src/modifiers.js.map +1 -0
  429. package/dist/dev/src/name-policy.js +36 -0
  430. package/dist/dev/src/name-policy.js.map +1 -0
  431. package/dist/dev/src/scopes/class.js +11 -0
  432. package/dist/dev/src/scopes/class.js.map +1 -0
  433. package/dist/dev/src/scopes/contexts.js +34 -0
  434. package/dist/dev/src/scopes/contexts.js.map +1 -0
  435. package/dist/dev/src/scopes/csharp.js +25 -0
  436. package/dist/dev/src/scopes/csharp.js.map +1 -0
  437. package/dist/dev/src/scopes/factories.js +25 -0
  438. package/dist/dev/src/scopes/factories.js.map +1 -0
  439. package/dist/dev/src/scopes/index.js +10 -0
  440. package/dist/dev/src/scopes/index.js.map +1 -0
  441. package/dist/dev/src/scopes/lexical.js +8 -0
  442. package/dist/dev/src/scopes/lexical.js.map +1 -0
  443. package/dist/dev/src/scopes/method.js +14 -0
  444. package/dist/dev/src/scopes/method.js.map +1 -0
  445. package/dist/dev/src/scopes/named-type.js +33 -0
  446. package/dist/dev/src/scopes/named-type.js.map +1 -0
  447. package/dist/dev/src/scopes/namespace.js +39 -0
  448. package/dist/dev/src/scopes/namespace.js.map +1 -0
  449. package/dist/dev/src/scopes/source-file.js +44 -0
  450. package/dist/dev/src/scopes/source-file.js.map +1 -0
  451. package/dist/dev/src/symbols/csharp.js +263 -0
  452. package/dist/dev/src/symbols/csharp.js.map +1 -0
  453. package/dist/dev/src/symbols/factories.js +145 -0
  454. package/dist/dev/src/symbols/factories.js.map +1 -0
  455. package/dist/dev/src/symbols/index.js +7 -0
  456. package/dist/dev/src/symbols/index.js.map +1 -0
  457. package/dist/dev/src/symbols/method.js +16 -0
  458. package/dist/dev/src/symbols/method.js.map +1 -0
  459. package/dist/dev/src/symbols/named-type.js +42 -0
  460. package/dist/dev/src/symbols/named-type.js.map +1 -0
  461. package/dist/dev/src/symbols/namespace.js +55 -0
  462. package/dist/dev/src/symbols/namespace.js.map +1 -0
  463. package/dist/dev/src/symbols/reference.js +79 -0
  464. package/dist/dev/src/symbols/reference.js.map +1 -0
  465. package/dist/dev/test/utils.js +111 -0
  466. package/dist/dev/test/utils.js.map +1 -0
  467. package/dist/dev/test/vitest.setup.js +2 -0
  468. package/dist/dev/test/vitest.setup.js.map +1 -0
  469. package/dist/dev/testing/create-wrapper.js +13 -0
  470. package/dist/dev/testing/create-wrapper.js.map +1 -0
  471. package/dist/dev/testing/create-wrapper.test.js +300 -0
  472. package/dist/dev/testing/create-wrapper.test.js.map +1 -0
  473. package/dist/dev/testing/index.js +2 -0
  474. package/dist/dev/testing/index.js.map +1 -0
  475. package/dist/src/components/namespace/namespace.d.ts.map +1 -1
  476. package/dist/src/components/namespace/namespace.js +11 -13
  477. package/dist/src/components/namespace/namespace.js.map +1 -1
  478. package/dist/src/components/namespace/namespace.test.js +61 -2
  479. package/dist/src/components/namespace/namespace.test.js.map +1 -1
  480. package/dist/src/components/namespace-scopes.d.ts +16 -0
  481. package/dist/src/components/namespace-scopes.d.ts.map +1 -1
  482. package/dist/src/components/namespace-scopes.js +8 -1
  483. package/dist/src/components/namespace-scopes.js.map +1 -1
  484. package/dist/src/components/namespace.ref.test.js +41 -0
  485. package/dist/src/components/namespace.ref.test.js.map +1 -1
  486. package/dist/tsconfig.tsbuildinfo +1 -1
  487. package/package.json +13 -6
  488. package/src/components/namespace/namespace.test.tsx +42 -1
  489. package/src/components/namespace/namespace.tsx +16 -8
  490. package/src/components/namespace-scopes.tsx +25 -1
  491. package/src/components/namespace.ref.test.tsx +29 -0
  492. package/vitest.config.ts +8 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alloy-js/csharp",
3
- "version": "0.23.0-dev.4",
3
+ "version": "0.23.0-dev.6",
4
4
  "description": "Alloy components for CSharp language.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,27 +8,34 @@
8
8
  },
9
9
  "exports": {
10
10
  ".": {
11
+ "development": "./dist/dev/src/index.js",
11
12
  "import": "./dist/src/index.js"
12
13
  },
13
14
  "./stc": {
15
+ "development": "./dist/dev/src/components/stc/index.js",
14
16
  "import": "./dist/src/components/stc/index.js"
15
17
  },
16
18
  "./global/*": {
19
+ "development": "./dist/dev/src/builtins/*/index.js",
17
20
  "import": "./dist/src/builtins/*/index.js"
18
21
  },
19
22
  "./testing": {
23
+ "development": "./dist/dev/testing/index.js",
20
24
  "import": "./dist/testing/index.js"
21
25
  }
22
26
  },
23
27
  "imports": {
24
28
  "#test/*": "./test/*",
25
29
  "#components/*": {
30
+ "development": "./dist/dev/src/components/*",
26
31
  "default": "./dist/src/components/*"
27
32
  },
28
33
  "#createLibrary": {
34
+ "development": "./dist/dev/src/create-library.js",
29
35
  "default": "./dist/src/create-library.js"
30
36
  },
31
37
  "#builtins": {
38
+ "development": "./dist/dev/src/builtins.js",
32
39
  "default": "./dist/src/builtins.js"
33
40
  }
34
41
  },
@@ -36,16 +43,16 @@
36
43
  "author": "jhendrix@microsoft.com",
37
44
  "license": "MIT",
38
45
  "dependencies": {
39
- "@alloy-js/core": "~0.22.0 || >= 0.23.0-dev.10",
40
- "@alloy-js/msbuild": "~0.22.0 || >= 0.23.0-dev.1",
46
+ "@alloy-js/core": "~0.22.0 || >= 0.23.0-dev.12",
47
+ "@alloy-js/msbuild": "~0.22.0 || >= 0.23.0-dev.2",
41
48
  "change-case": "^5.4.4",
42
49
  "marked": "^16.1.1",
43
50
  "pathe": "^2.0.3"
44
51
  },
45
52
  "devDependencies": {
46
- "@alloy-js/cli": "~0.22.0 || >= 0.23.0-dev.3",
53
+ "@alloy-js/cli": "~0.22.0 || >= 0.23.0-dev.4",
47
54
  "@alloy-js/rollup-plugin": "~0.1.0 || >= 0.1.1-dev.1",
48
- "@alloy-js/typescript": "~0.22.0 || >= 0.23.0-dev.5",
55
+ "@alloy-js/typescript": "~0.22.0 || >= 0.23.0-dev.7",
49
56
  "@microsoft/api-extractor": "~7.52.8",
50
57
  "@rollup/plugin-typescript": "^12.1.2",
51
58
  "@types/js-yaml": "^4.0.9",
@@ -57,7 +64,7 @@
57
64
  "type": "module",
58
65
  "scripts": {
59
66
  "generate-docs": "api-extractor run",
60
- "build": "alloy build && pnpm run generate-docs",
67
+ "build": "alloy build --with-dev && pnpm run generate-docs",
61
68
  "clean": "rimraf dist/ .temp/",
62
69
  "test:watch": "vitest -w",
63
70
  "watch": "alloy build --watch",
@@ -1,9 +1,13 @@
1
1
  import { TestNamespace } from "#test/utils.jsx";
2
- import { Output } from "@alloy-js/core";
2
+ import { Output, refkey } from "@alloy-js/core";
3
3
  import { d } from "@alloy-js/core/testing";
4
4
  import { expect, it } from "vitest";
5
+ import { createCSharpNamePolicy } from "../../name-policy.js";
5
6
  import { ClassDeclaration } from "../class/declaration.jsx";
7
+ import { Constructor } from "../constructor/constructor.jsx";
8
+ import { Field } from "../field/field.jsx";
6
9
  import { SourceFile } from "../source-file/source-file.jsx";
10
+ import { StructDeclaration } from "../struct/declaration.jsx";
7
11
  import { Namespace } from "./namespace.jsx";
8
12
 
9
13
  it("defines multiple namespaces and source files with unique content", () => {
@@ -141,3 +145,40 @@ it("define nested namespace in sourcefile", () => {
141
145
  }
142
146
  `);
143
147
  });
148
+
149
+ it("contains a struct with a private field initialized by a constructor", () => {
150
+ const fieldRefkey = refkey();
151
+ const paramRefkey = refkey();
152
+
153
+ const tree = (
154
+ <Output namePolicy={createCSharpNamePolicy()}>
155
+ <SourceFile path="MyStruct.cs">
156
+ <Namespace name="TestNamespace.Test">
157
+ <StructDeclaration public name="MyStruct">
158
+ <Field private name="value" type="int" refkey={fieldRefkey} />
159
+ <hbr />
160
+ <Constructor
161
+ public
162
+ parameters={[{ name: "value", type: "int", refkey: paramRefkey }]}
163
+ >
164
+ {fieldRefkey} = {paramRefkey};
165
+ </Constructor>
166
+ </StructDeclaration>
167
+ </Namespace>
168
+ </SourceFile>
169
+ </Output>
170
+ );
171
+
172
+ expect(tree).toRenderTo(d`
173
+ namespace TestNamespace.Test {
174
+ public struct MyStruct
175
+ {
176
+ private int _value;
177
+ public MyStruct(int value)
178
+ {
179
+ _value = value;
180
+ }
181
+ }
182
+ }
183
+ `);
184
+ });
@@ -1,9 +1,12 @@
1
1
  import { Block, Namekey, Refkey } from "@alloy-js/core";
2
2
  import { Children } from "@alloy-js/core/jsx-runtime";
3
- import { NamespaceContext } from "../../contexts/namespace.js";
3
+ import {
4
+ NamespaceContext,
5
+ useNamespaceContext,
6
+ } from "../../contexts/namespace.js";
4
7
  import { useSourceFileScope } from "../../scopes/source-file.js";
5
8
  import { createNamespaceSymbol } from "../../symbols/factories.js";
6
- import { NamespaceScope } from "../namespace-scopes.jsx";
9
+ import { NamespaceScopes } from "../namespace-scopes.jsx";
7
10
  import { NamespaceName } from "./namespace-name.jsx";
8
11
 
9
12
  export interface NamespaceProps {
@@ -25,16 +28,21 @@ export function Namespace(props: NamespaceProps) {
25
28
  </NamespaceContext.Provider>
26
29
  );
27
30
  } else {
31
+ const nsContext = useNamespaceContext();
32
+ const hasOuterNamespace = nsContext && !nsContext.symbol.isGlobal;
33
+
28
34
  sfScope.hasBlockNamespace = true;
29
35
  return (
30
36
  <>
31
- namespace <NamespaceName symbol={namespaceSymbol} relative />{" "}
37
+ namespace{" "}
38
+ <NamespaceName
39
+ symbol={namespaceSymbol}
40
+ relative={!!hasOuterNamespace}
41
+ />{" "}
32
42
  <Block>
33
- <NamespaceContext.Provider value={{ symbol: namespaceSymbol }}>
34
- <NamespaceScope symbol={namespaceSymbol}>
35
- {props.children}
36
- </NamespaceScope>
37
- </NamespaceContext.Provider>
43
+ <NamespaceScopes symbol={namespaceSymbol} stopAt={nsContext?.symbol}>
44
+ {props.children}
45
+ </NamespaceScopes>
38
46
  </Block>
39
47
  </>
40
48
  );
@@ -19,17 +19,41 @@ export function NamespaceScope(props: NamespaceScopProps) {
19
19
  }
20
20
 
21
21
  export interface NamespaceScopesProps {
22
+ /**
23
+ * Target namespace whose scope chain should be established for `children`.
24
+ *
25
+ * For dotted namespaces, this is typically the most nested segment symbol.
26
+ */
22
27
  symbol: NamespaceSymbol;
28
+
29
+ /**
30
+ * Optional ancestor namespace that is already in scope.
31
+ *
32
+ * Wrapping stops before this symbol to avoid duplicating existing namespace
33
+ * scopes in the reference chain.
34
+ */
35
+ stopAt?: NamespaceSymbol;
23
36
  children: Children;
24
37
  }
25
38
 
39
+ /**
40
+ * Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
41
+ * namespaces until the root (or `stopAt`, when provided).
42
+ */
26
43
  export function NamespaceScopes(props: NamespaceScopesProps) {
27
44
  function wrapWithScope(symbol: NamespaceSymbol, children: Children) {
45
+ if (symbol === props.stopAt) {
46
+ return children;
47
+ }
48
+
28
49
  const scopeChildren = (
29
50
  <NamespaceScope symbol={symbol}>{children}</NamespaceScope>
30
51
  );
31
52
 
32
- if (symbol.enclosingNamespace) {
53
+ if (
54
+ symbol.enclosingNamespace &&
55
+ symbol.enclosingNamespace !== props.stopAt
56
+ ) {
33
57
  return wrapWithScope(symbol.enclosingNamespace, scopeChildren);
34
58
  }
35
59
 
@@ -162,3 +162,32 @@ it("can be referenced by refkey", () => {
162
162
  TestClass;
163
163
  `);
164
164
  });
165
+
166
+ it("references types across sibling namespaces under the same parent", () => {
167
+ const classRef = refkey();
168
+
169
+ const tree = (
170
+ <Output>
171
+ <SourceFile path="test.cs">
172
+ <Namespace name="Parent">
173
+ <Namespace name="Models">
174
+ <ClassDeclaration name="User" refkey={classRef} />
175
+ </Namespace>
176
+ <hbr />
177
+ <Namespace name="Services">{classRef};</Namespace>
178
+ </Namespace>
179
+ </SourceFile>
180
+ </Output>
181
+ );
182
+
183
+ expect(tree).toRenderTo(`
184
+ namespace Parent {
185
+ namespace Models {
186
+ class User;
187
+ }
188
+ namespace Services {
189
+ Models.User;
190
+ }
191
+ }
192
+ `);
193
+ });
package/vitest.config.ts CHANGED
@@ -2,6 +2,14 @@ import alloyPlugin from "@alloy-js/rollup-plugin";
2
2
  import { defineConfig } from "vitest/config";
3
3
 
4
4
  export default defineConfig({
5
+ resolve: {
6
+ conditions: ["source"],
7
+ },
8
+ ssr: {
9
+ resolve: {
10
+ conditions: ["source"],
11
+ },
12
+ },
5
13
  esbuild: {
6
14
  jsx: "preserve",
7
15
  sourcemap: "both",