@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
@@ -0,0 +1,67 @@
1
+ import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { For } from "@alloy-js/core";
3
+ import { InterfaceExpression, InterfaceMember, TypeDeclaration } from "@alloy-js/typescript";
4
+ export function LibraryInterfaceDeclaration(props) {
5
+ return _$createComponent(TypeDeclaration, {
6
+ get name() {
7
+ return props.name + "Library";
8
+ },
9
+ get children() {
10
+ return _$createComponent(LibraryMembersInterface, {
11
+ get types() {
12
+ return props.types;
13
+ }
14
+ }, {
15
+ fileName: import.meta.url,
16
+ lineNumber: 15,
17
+ columnNumber: 7
18
+ });
19
+ }
20
+ }, {
21
+ fileName: import.meta.url,
22
+ lineNumber: 14,
23
+ columnNumber: 5
24
+ });
25
+ }
26
+ export function LibraryMembersInterface(props) {
27
+ return ["LibrarySymbolReference &", " ", _$createComponent(InterfaceExpression, {
28
+ get children() {
29
+ return _$createComponent(For, {
30
+ get each() {
31
+ return Object.entries(props.types);
32
+ },
33
+ semicolon: true,
34
+ hardline: true,
35
+ children: ([name, descriptor]) => {
36
+ return _$createComponent(InterfaceMember, {
37
+ name: name,
38
+ get children() {
39
+ return _$memo(() => "members" in descriptor)() ? _$createComponent(LibraryMembersInterface, {
40
+ get types() {
41
+ return descriptor.members;
42
+ }
43
+ }, {
44
+ fileName: import.meta.url,
45
+ lineNumber: 32,
46
+ columnNumber: 19
47
+ }) : "LibrarySymbolReference";
48
+ }
49
+ }, {
50
+ fileName: import.meta.url,
51
+ lineNumber: 30,
52
+ columnNumber: 15
53
+ });
54
+ }
55
+ }, {
56
+ fileName: import.meta.url,
57
+ lineNumber: 27,
58
+ columnNumber: 9
59
+ });
60
+ }
61
+ }, {
62
+ fileName: import.meta.url,
63
+ lineNumber: 26,
64
+ columnNumber: 7
65
+ })];
66
+ }
67
+ //# sourceMappingURL=library-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["For","InterfaceExpression","InterfaceMember","TypeDeclaration","LibraryInterfaceDeclaration","props","_$createComponent","name","children","LibraryMembersInterface","types","fileName","import","meta","url","lineNumber","columnNumber","each","Object","entries","semicolon","hardline","descriptor","_$memo","members"],"sources":["../../../../scripts/components/library-interface.tsx"],"sourcesContent":[null],"mappings":";AACA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SACEC,mBAAmB,EACnBC,eAAe,EACfC,eAAe,QACV,sBAAsB;AAE7B,OAAO,SAASC,2BAA2BA,CAACC,KAG3C,EAAE;EACD,OAAAC,iBAAA,CACGH,eAAe;IAAA,IAACI,IAAIA,CAAA;MAAA,OAAEF,KAAK,CAACE,IAAI,GAAG,SAAS;IAAA;IAAA,IAAAC,SAAA;MAAA,OAAAF,iBAAA,CAC1CG,uBAAuB;QAAA,IAACC,KAAKA,CAAA;UAAA,OAAEL,KAAK,CAACK,KAAK;QAAA;MAAA;QAAAC,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;IAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAGjD;AAEA,OAAO,SAASP,uBAAuBA,CAACJ,KAEvC,EAAE;EACD,oCAE6B,GAAG,EAAAC,iBAAA,CAC3BL,mBAAmB;IAAA,IAAAO,SAAA;MAAA,OAAAF,iBAAA,CACjBN,GAAG;QAAA,IAACiB,IAAIA,CAAA;UAAA,OAAEC,MAAM,CAACC,OAAO,CAACd,KAAK,CAACK,KAAK,CAAC;QAAA;QAAEU,SAAS;QAACC,QAAQ;QAAAb,QAAA,EACvDA,CAAC,CAACD,IAAI,EAAEe,UAAU,CAAC,KAAK;UACvB,OAAAhB,iBAAA,CACGJ,eAAe;YAACK,IAAI,EAAEA,IAAI;YAAA,IAAAC,SAAA;cAAA,OACxBe,MAAA,gBAAS,IAAID,UAAU,MAAAhB,iBAAA,CACrBG,uBAAuB;gBAAA,IAACC,KAAKA,CAAA;kBAAA,OAAEY,UAAU,CAACE,OAAO;gBAAA;cAAA;gBAAAb,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;gBAAAC,UAAA;gBAAAC,YAAA;cAAA,KAClD,wBAAwB;YAAA;UAAA;YAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;YAAAC,UAAA;YAAAC,YAAA;UAAA;QAGhC;MAAC;QAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;IAAAL,QAAA,EAAAC,MAAA,CAAAC,IAAA,CAAAC,GAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA;AAKX","ignoreList":[]}
@@ -0,0 +1,160 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import { code, For, namekey, refkey, Show, SourceDirectory } from "@alloy-js/core";
3
+ import { ObjectExpression, SourceFile, VarDeclaration } from "@alloy-js/typescript";
4
+ import { LibraryInterfaceDeclaration } from "./library-interface.js";
5
+ export function NamespaceDirectory(props) {
6
+ const subNamespaces = Object.entries(props.ns.members || {}).filter(([, member]) => member.kind === "namespace");
7
+ const nonNamespaces = Object.entries(props.ns.members || {}).filter(([, member]) => member.kind !== "namespace");
8
+ if (nonNamespaces.length === 0 && subNamespaces.length === 0) {
9
+ return;
10
+ }
11
+ let path;
12
+ let fqnBase;
13
+ if (props.name === "") {
14
+ path = ".";
15
+ fqnBase = "";
16
+ } else {
17
+ path = props.name;
18
+ fqnBase = props.fqn + ".";
19
+ }
20
+ const typeDescriptor = Object.fromEntries(nonNamespaces);
21
+ return _$createComponent(SourceDirectory, {
22
+ path: path,
23
+ get children() {
24
+ return [_$createComponent(Show, {
25
+ get when() {
26
+ return subNamespaces.length > 0;
27
+ },
28
+ get children() {
29
+ return _$createComponent(For, {
30
+ each: subNamespaces,
31
+ children: ([memberName, member]) => {
32
+ if (member.kind === "namespace") {
33
+ return _$createComponent(NamespaceDirectory, {
34
+ name: memberName,
35
+ fqn: fqnBase + memberName,
36
+ ns: member
37
+ }, {
38
+ fileName: import.meta.url,
39
+ lineNumber: 56,
40
+ columnNumber: 17
41
+ });
42
+ }
43
+ }
44
+ }, {
45
+ fileName: import.meta.url,
46
+ lineNumber: 52,
47
+ columnNumber: 9
48
+ });
49
+ }
50
+ }, {
51
+ fileName: import.meta.url,
52
+ lineNumber: 51,
53
+ columnNumber: 7
54
+ }), _$createComponent(SourceFile, {
55
+ path: "index.ts",
56
+ get children() {
57
+ return [_$createComponent(Show, {
58
+ get when() {
59
+ return props.fqn !== "";
60
+ },
61
+ children: code`
62
+ import { createLibrary } from "#createLibrary";
63
+ import { LibrarySymbolReference } from "@alloy-js/core";
64
+ `
65
+ }, {
66
+ fileName: import.meta.url,
67
+ lineNumber: 68,
68
+ columnNumber: 9
69
+ }), _$createComponent(For, {
70
+ each: subNamespaces,
71
+ children: ([memberName, member]) => {
72
+ if (member.kind === "namespace") {
73
+ return `export { default as ${memberName} } from "./${memberName}/index.js";`;
74
+ }
75
+ }
76
+ }, {
77
+ fileName: import.meta.url,
78
+ lineNumber: 74,
79
+ columnNumber: 9
80
+ }), _$createComponent(Show, {
81
+ get when() {
82
+ return props.fqn !== "";
83
+ },
84
+ get children() {
85
+ return [_$createIntrinsic("hbr", {}, {
86
+ fileName: import.meta.url,
87
+ lineNumber: 82,
88
+ columnNumber: 11
89
+ }), _$createIntrinsic("hbr", {}, {
90
+ fileName: import.meta.url,
91
+ lineNumber: 83,
92
+ columnNumber: 11
93
+ }), _$createComponent(LibraryInterfaceDeclaration, {
94
+ name: path,
95
+ types: typeDescriptor
96
+ }, {
97
+ fileName: import.meta.url,
98
+ lineNumber: 84,
99
+ columnNumber: 11
100
+ }), _$createIntrinsic("hbr", {}, {
101
+ fileName: import.meta.url,
102
+ lineNumber: 85,
103
+ columnNumber: 11
104
+ }), _$createComponent(VarDeclaration, {
105
+ name: path,
106
+ type: path + "Library",
107
+ get children() {
108
+ return ["createLibrary(\"", _$memo(() => props.fqn, false, "props.fqn"), "\",", " ", _$createComponent(ObjectExpression, {
109
+ jsValue: typeDescriptor
110
+ }, {
111
+ fileName: import.meta.url,
112
+ lineNumber: 88,
113
+ columnNumber: 13
114
+ }), ");"];
115
+ }
116
+ }, {
117
+ fileName: import.meta.url,
118
+ lineNumber: 86,
119
+ columnNumber: 11
120
+ }), _$createIntrinsic("hbr", {}, {
121
+ fileName: import.meta.url,
122
+ lineNumber: 91,
123
+ columnNumber: 11
124
+ }), _$createComponent(VarDeclaration, {
125
+ get name() {
126
+ return namekey(path, {
127
+ ignoreNameConflict: true
128
+ });
129
+ },
130
+ get refkey() {
131
+ return refkey(props.fqn);
132
+ },
133
+ "export": true,
134
+ "default": true,
135
+ children: path
136
+ }, {
137
+ fileName: import.meta.url,
138
+ lineNumber: 92,
139
+ columnNumber: 11
140
+ })];
141
+ }
142
+ }, {
143
+ fileName: import.meta.url,
144
+ lineNumber: 81,
145
+ columnNumber: 9
146
+ })];
147
+ }
148
+ }, {
149
+ fileName: import.meta.url,
150
+ lineNumber: 67,
151
+ columnNumber: 7
152
+ })];
153
+ }
154
+ }, {
155
+ fileName: import.meta.url,
156
+ lineNumber: 50,
157
+ columnNumber: 5
158
+ });
159
+ }
160
+ //# sourceMappingURL=namespace-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["code","For","namekey","refkey","Show","SourceDirectory","ObjectExpression","SourceFile","VarDeclaration","LibraryInterfaceDeclaration","NamespaceDirectory","props","subNamespaces","Object","entries","ns","members","filter","member","kind","nonNamespaces","length","path","fqnBase","name","fqn","typeDescriptor","fromEntries","_$createComponent","children","when","each","memberName","fileName","import","meta","url","lineNumber","columnNumber","_$createIntrinsic","types","type","_$memo","jsValue","ignoreNameConflict"],"sources":["../../../../scripts/components/namespace-directory.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ /**
3
+ * Script to process DocFX YAML outputs (in ./api) into a Record<string, Descriptor>
4
+ * compatible with the `createLibrary` props shape defined in ../src/create-library.ts.
5
+ *
6
+ * Usage (from repo root):
7
+ * tsx packages/csharp/scripts/generate-builtins.ts > /tmp/system-builtins.ts
8
+ *
9
+ * Disclaimer: coded with 🪄 vibes 🔮
10
+ */
11
+
12
+ import { Output, renderAsync, writeOutput } from "@alloy-js/core";
13
+ import { writeFileSync } from "node:fs";
14
+ import { dirname, join, resolve } from "node:path";
15
+ import { NamespaceDirectory } from "./components/namespace-directory.js";
16
+ import { walk } from "./process-docfx.js";
17
+
18
+ // Arg[0]=node, Arg[1]=script, Arg[2]=apiDir, Arg[3]=outputPath (unused for now)
19
+ const [,, apiParam, outParam] = process.argv;
20
+ const API_DIR = apiParam ? resolve(apiParam) : join(dirname(new URL(import.meta.url).pathname), "api");
21
+ const OUTPUT_PATH = outParam ? resolve(outParam) : undefined; // reserved for future use
22
+
23
+ console.log("Reading yaml files...");
24
+ const rootNamespace = walk(API_DIR);
25
+ writeFileSync("docs.json", JSON.stringify(rootNamespace));
26
+ console.log("Writing library definitions...");
27
+ await writeOutput(await renderAsync(_$createComponent(Output, {
28
+ basePath: OUTPUT_PATH,
29
+ get children() {
30
+ return _$createComponent(NamespaceDirectory, {
31
+ name: "",
32
+ fqn: "",
33
+ ns: rootNamespace
34
+ }, {
35
+ fileName: import.meta.url,
36
+ lineNumber: 33,
37
+ columnNumber: 7
38
+ });
39
+ }
40
+ }, {
41
+ fileName: import.meta.url,
42
+ lineNumber: 32,
43
+ columnNumber: 5
44
+ })));
45
+ //# sourceMappingURL=generate-builtins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Output","renderAsync","writeOutput","writeFileSync","dirname","join","resolve","NamespaceDirectory","walk","apiParam","outParam","process","argv","API_DIR","URL","import","meta","url","pathname","OUTPUT_PATH","undefined","console","log","rootNamespace","JSON","stringify","_$createComponent","basePath","children","name","fqn","ns","fileName","lineNumber","columnNumber"],"sources":["../../../scripts/generate-builtins.tsx"],"sourcesContent":[null],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,EAAEC,WAAW,EAAEC,WAAW,QAAQ,gBAAgB;AAEjE,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,OAAO,EAAEC,IAAI,EAAEC,OAAO,QAAQ,WAAW;AAClD,SAASC,kBAAkB;AAC3B,SAASC,IAAI;;AAEb;AACA,MAAM,IAAKC,QAAQ,EAAEC,QAAQ,CAAC,GAAGC,OAAO,CAACC,IAAI;AAC7C,MAAMC,OAAO,GACXJ,QAAQ,GACNH,OAAO,CAACG,QAAQ,CAAC,GACjBJ,IAAI,CAACD,OAAO,CAAC,IAAIU,GAAG,CAACC,MAAM,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,QAAQ,CAAC,EAAE,KAAK,CAAC;AAC3D,MAAMC,WAAW,GAAGT,QAAQ,GAAGJ,OAAO,CAACI,QAAQ,CAAC,GAAGU,SAAS,CAAC,CAAC;;AAE9DC,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;AACpC,MAAMC,aAAa,GAAGf,IAAI,CAACK,OAAO,CAAC;AACnCV,aAAa,CAAC,WAAW,EAAEqB,IAAI,CAACC,SAAS,CAACF,aAAa,CAAC,CAAC;AACzDF,OAAO,CAACC,GAAG,CAAC,gCAAgC,CAAC;AAC7C,MAAMpB,WAAW,CACf,MAAMD,WAAW,CAAAyB,iBAAA,CACd1B,MAAM;EAAC2B,QAAQ,EAAER,WAAW;EAAA,IAAAS,SAAA;IAAA,OAAAF,iBAAA,CAC1BnB,kBAAkB;MAACsB,IAAI;MAAIC,GAAG;MAAIC,EAAE,EAAER;IAAa;MAAAS,QAAA,EAAAjB,MAAA,CAAAC,IAAA,CAAAC,GAAA;MAAAgB,UAAA;MAAAC,YAAA;IAAA;EAAA;AAAA;EAAAF,QAAA,EAAAjB,MAAA,CAAAC,IAAA,CAAAC,GAAA;EAAAgB,UAAA;EAAAC,YAAA;AAAA,EAExD,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,316 @@
1
+ import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { refkey } from "@alloy-js/core";
3
+ import { ArrowFunction } from "@alloy-js/typescript";
4
+ import { load as parseYaml } from "js-yaml";
5
+ import { readdirSync, readFileSync, statSync } from "node:fs";
6
+ import { join } from "node:path";
7
+ // Global root namespace descriptor (represents the conceptual global namespace).
8
+ const rootNamespace = {
9
+ kind: "namespace",
10
+ members: {}
11
+ };
12
+
13
+ // Track fully-qualified namespace names encountered so we can resolve the most-nested
14
+ // namespace portion of type references later.
15
+ const knownNamespaces = new Set();
16
+ knownNamespaces.add("");
17
+ function ensureNamespace(path) {
18
+ let members = rootNamespace.members;
19
+ let currentPath = [];
20
+ for (const nsPart of path) {
21
+ currentPath.push(nsPart);
22
+ if (!members[nsPart]) {
23
+ members[nsPart] = {
24
+ kind: "namespace",
25
+ members: {}
26
+ };
27
+ }
28
+ const existing = members[nsPart];
29
+ if (existing.kind !== "namespace") {
30
+ return {
31
+ members: existing.members ?? {}
32
+ };
33
+ }
34
+ members = existing.members;
35
+ knownNamespaces.add(currentPath.join("."));
36
+ }
37
+ return {
38
+ members
39
+ };
40
+ }
41
+ function mapTypeKind(docfxKind) {
42
+ switch (docfxKind) {
43
+ case "Class":
44
+ return "class";
45
+ case "Struct":
46
+ return "struct";
47
+ case "Enum":
48
+ return "enum";
49
+ case "Interface":
50
+ return "interface";
51
+ // DocFX might emit "Record" in newer versions; support it if present.
52
+ case "Record":
53
+ return "record";
54
+ default:
55
+ return "generic";
56
+ }
57
+ }
58
+ function isAcceptableIdentifier(name) {
59
+ // Accept only alphanumeric names (A-Z a-z 0-9). Anything with underscore, backtick, or other punctuation is skipped.
60
+ return /^[A-Za-z0-9]+$/.test(name);
61
+ }
62
+ function sanitizeMemberName(id) {
63
+ if (!id) return undefined;
64
+ // Drop parameter list for methods / constructors
65
+ const base = id.split("(")[0];
66
+ // Remove leading punctuation (# for constructors)
67
+ let trimmed = base.replace(/^#+/, "");
68
+ // Remove trailing overload artifacts like __1
69
+ trimmed = trimmed.replace(/__\d+$/, "");
70
+ // Drop generic arity for potential generic members (rare): Name`1 -> Name
71
+ trimmed = trimmed.replace(/`\d+$/, "");
72
+ if (!trimmed || !isAcceptableIdentifier(trimmed)) return undefined;
73
+ return trimmed;
74
+ }
75
+ function parseModifiers(syntaxContent) {
76
+ const mods = {};
77
+ if (!syntaxContent) return mods;
78
+ // NOTE: simple regex presence checks; this may over-approximate in rare cases (e.g., names containing keywords)
79
+ if (/\bstatic\b/.test(syntaxContent)) mods.isStatic = true;
80
+ if (/\babstract\b/.test(syntaxContent)) mods.isAbstract = true;
81
+ if (/\bvirtual\b/.test(syntaxContent)) mods.isVirtual = true;
82
+ if (/\boverride\b/.test(syntaxContent)) mods.isOverride = true;
83
+ if (/\bsealed\b/.test(syntaxContent)) mods.isSealed = true;
84
+ if (/\bextern\b/.test(syntaxContent)) mods.isExtern = true;
85
+ if (/\breadonly\b/.test(syntaxContent)) mods.isReadOnly = true; // fields, also 'readonly struct' ignored for members
86
+ return mods;
87
+ }
88
+ function normalizeTypeName(name) {
89
+ if (name.startsWith("ValueTuple`")) return "ValueTuple";
90
+ // Remove synthetic generic arity artifacts like __1, __2 etc.
91
+ return name.replace(/__\d+$/, "");
92
+ }
93
+
94
+ // Remove generic arity markers (`1, `2, etc.) and DocFX placeholder type parameter lists like {{T}}, {{TKey},{TValue}}
95
+ function cleanDocfxType(typeName) {
96
+ if (!typeName) return typeName;
97
+ // Trim and strip generic arity markers like `1, `2 etc.
98
+ let cleaned = typeName.trim().replace(/`\d+/g, "");
99
+ // Iteratively remove innermost DocFX generic braces blocks { ... }. This naturally
100
+ // collapses nested constructs (e.g. Func{IEnumerable{T},T} -> Func).
101
+ // Example: System.Func{System.Collections.Generic.IEnumerable{System.String},System.String}
102
+ // Pass 1 removes {System.String}; pass 2 removes outer {IEnumerable,System.String}; etc.
103
+ while (/\{[^{}]*\}/.test(cleaned)) {
104
+ cleaned = cleaned.replace(/\{[^{}]*\}/g, "");
105
+ }
106
+ // Remove any left-over double-brace placeholder patterns (rare): {{T}}
107
+ cleaned = cleaned.replace(/\{\{[^}]*\}\}/g, "");
108
+ // Collapse duplicate dots potentially created by removal (Dictionary..KeyCollection)
109
+ cleaned = cleaned.replace(/\.+/g, ".");
110
+ // Normalize spacing & commas
111
+ cleaned = cleaned.replace(/\s+/g, "").replace(/,+/g, ",").replace(/,$/, "");
112
+ // remove pointers
113
+ cleaned = cleaned.replace(/\*/, "");
114
+ return cleaned;
115
+ }
116
+ function TypeReference(props) {
117
+ const type = cleanDocfxType(props.type);
118
+ if (!type) return "undefined";
119
+ if (type.endsWith("VarEnum")) {
120
+ // for some reason this type isn't showing up in assemblies.
121
+ return "undefined";
122
+ }
123
+ if (type.endsWith("[]")) {
124
+ return _$createComponent(ArrowFunction, {
125
+ get children() {
126
+ return ["return ", _$memo(() => refkey("System"), false, "refkey(\u2026)"), ".Array;"];
127
+ }
128
+ }, {
129
+ fileName: import.meta.url,
130
+ lineNumber: 140,
131
+ columnNumber: 12
132
+ });
133
+ }
134
+ const parts = type.split(".");
135
+ if (parts.length === 0) return "undefined";
136
+
137
+ // Find the longest prefix that is a known namespace.
138
+ let namespace = "";
139
+ for (let i = parts.length - 1; i >= 0; i--) {
140
+ const candidate = parts.slice(0, i).join(".");
141
+ if (knownNamespaces.has(candidate)) {
142
+ namespace = candidate;
143
+ break;
144
+ }
145
+ }
146
+ let typeName = namespace ? parts.slice(namespace.split(".").length).join(".") : parts.join(".");
147
+ if (!typeName) return "undefined";
148
+ if (typeName.endsWith("*")) {
149
+ typeName = typeName.slice(0, -1);
150
+ }
151
+ return _$createComponent(ArrowFunction, {
152
+ get children() {
153
+ return ["return ", _$memo(() => refkey(namespace), false, "refkey(\u2026)"), ".", typeName, ";"];
154
+ }
155
+ }, {
156
+ fileName: import.meta.url,
157
+ lineNumber: 164,
158
+ columnNumber: 5
159
+ });
160
+ }
161
+ function buildMemberDescriptors(items, leafTypeName) {
162
+ const memberDescriptors = {};
163
+ for (const item of items) {
164
+ const memberKind = item.type;
165
+ if (!memberKind) continue;
166
+ if (["Field", "Property", "Method", "Constructor"].includes(memberKind)) {
167
+ const simpleName = sanitizeMemberName(item.id || item.uid.split(".").pop());
168
+ if (!simpleName) continue;
169
+ if (memberDescriptors[simpleName]) continue; // collapse overloads
170
+ // Detect Nullable<T> return types (DocFX form: System.Nullable{T}) so we can
171
+ // mark descriptor.isNullable = true and reference the inner T symbol directly.
172
+ const rawReturnType = item.syntax?.return?.type;
173
+ let isNullable = false;
174
+ let effectiveReturnType = rawReturnType;
175
+ if (rawReturnType) {
176
+ const nullableMatch = /^System\.Nullable\{(.+)\}$/.exec(rawReturnType.trim());
177
+ if (nullableMatch) {
178
+ isNullable = true;
179
+ effectiveReturnType = nullableMatch[1];
180
+ }
181
+ }
182
+ // If still not marked nullable, attempt to detect C# shorthand nullable syntax (Type? Name)
183
+ // by searching the declaration content for a '?' immediately preceding the identifier.
184
+ if (!isNullable && item.syntax?.content) {
185
+ const namePattern = new RegExp(`\\?\\s+${simpleName}\\b`);
186
+ // Quick scan: split at newline to avoid unrelated later usages.
187
+ const firstLine = item.syntax.content.split(/\r?\n/, 1)[0];
188
+ if (namePattern.test(firstLine)) {
189
+ // Ensure the '?' actually belongs to the type token (avoid matching '??').
190
+ // Find the index of the simpleName and inspect preceding chars.
191
+ const idx = firstLine.indexOf(simpleName);
192
+ if (idx > 1) {
193
+ const before = firstLine.slice(0, idx);
194
+ // Trim trailing spaces then check last non-space char
195
+ const trimmed = before.replace(/\s+$/g, "");
196
+ if (trimmed.endsWith("?") && !trimmed.endsWith("??")) {
197
+ isNullable = true;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ switch (memberKind) {
203
+ case "Field":
204
+ memberDescriptors[simpleName] = {
205
+ kind: "field",
206
+ type: () => _$createComponent(TypeReference, {
207
+ type: effectiveReturnType
208
+ }, {
209
+ fileName: import.meta.url,
210
+ lineNumber: 221,
211
+ columnNumber: 26
212
+ }),
213
+ ...(isNullable ? {
214
+ isNullable: true
215
+ } : {}),
216
+ ...parseModifiers(item.syntax?.content)
217
+ };
218
+ break;
219
+ case "Property":
220
+ memberDescriptors[simpleName] = {
221
+ kind: "property",
222
+ type: () => _$createComponent(TypeReference, {
223
+ type: effectiveReturnType
224
+ }, {
225
+ fileName: import.meta.url,
226
+ lineNumber: 229,
227
+ columnNumber: 26
228
+ }),
229
+ ...(isNullable ? {
230
+ isNullable: true
231
+ } : {}),
232
+ ...parseModifiers(item.syntax?.content)
233
+ };
234
+ break;
235
+ case "Method":
236
+ memberDescriptors[simpleName] = {
237
+ kind: "method",
238
+ methodKind: "ordinary",
239
+ ...parseModifiers(item.syntax?.content)
240
+ };
241
+ break;
242
+ case "Constructor":
243
+ memberDescriptors[leafTypeName] = {
244
+ kind: "method",
245
+ methodKind: "constructor",
246
+ ...parseModifiers(item.syntax?.content)
247
+ };
248
+ break;
249
+ }
250
+ }
251
+ }
252
+ return memberDescriptors;
253
+ }
254
+ function addType(file) {
255
+ if (!file.items || !file.items.length) return;
256
+ const root = file.items[0];
257
+ if (!root.uid || !root.type || !root.namespace) return;
258
+ const typeKind = mapTypeKind(root.type);
259
+ const nsParts = root.namespace.split(".");
260
+ const {
261
+ members: namespaceMembers
262
+ } = ensureNamespace(nsParts);
263
+
264
+ // Normalize and split potential nested type path (ReadOnlyDictionary`2.KeyCollection)
265
+ const rawId = root.id || root.uid.split(".").pop() || "";
266
+ const normalized = normalizeTypeName(rawId);
267
+ const segments = normalized.split(".").map(s => s.replace(/`\d+$/, ""));
268
+ if (segments.some(s => !s || !isAcceptableIdentifier(s))) return;
269
+ const leafName = segments.at(-1);
270
+
271
+ // Walk/create parent chain (placeholders) within namespace container
272
+ let container = namespaceMembers;
273
+ for (const parentSeg of segments.slice(0, -1)) {
274
+ const existing = container[parentSeg];
275
+ if (!existing || !existing.members) {
276
+ container[parentSeg] = {
277
+ kind: "class",
278
+ // placeholder kind
279
+ members: existing?.members || {}
280
+ };
281
+ }
282
+ container = container[parentSeg].members;
283
+ }
284
+
285
+ // Avoid overwriting existing rich definition
286
+ if (container[leafName] && container[leafName].members) return;
287
+ const typeLevelMods = parseModifiers(root.syntax?.content);
288
+ const namedTypeExtra = {};
289
+ if (typeLevelMods.isStatic) namedTypeExtra.isStatic = true;
290
+ if (typeLevelMods.isAbstract) namedTypeExtra.isAbstract = true;
291
+ if (typeLevelMods.isSealed) namedTypeExtra.isSealed = true;
292
+ const memberDescriptors = buildMemberDescriptors(file.items.slice(1), leafName);
293
+ container[leafName] = {
294
+ kind: typeKind,
295
+ members: memberDescriptors,
296
+ ...namedTypeExtra
297
+ };
298
+ }
299
+ export function walk(dir) {
300
+ for (const entry of readdirSync(dir)) {
301
+ if (entry.startsWith(".")) continue;
302
+ if (!entry.endsWith(".yml")) continue;
303
+ if (entry === "toc.yml" || entry === ".manifest") continue;
304
+ const full = join(dir, entry);
305
+ if (statSync(full).isDirectory()) continue;
306
+ try {
307
+ const content = readFileSync(full, "utf8");
308
+ const data = parseYaml(content);
309
+ addType(data);
310
+ } catch (e) {
311
+ console.warn(`Skipping ${entry}: ${e.message}`);
312
+ }
313
+ }
314
+ return rootNamespace;
315
+ }
316
+ //# sourceMappingURL=process-docfx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["refkey","ArrowFunction","load","parseYaml","readdirSync","readFileSync","statSync","join","rootNamespace","kind","members","knownNamespaces","Set","add","ensureNamespace","path","currentPath","nsPart","push","existing","mapTypeKind","docfxKind","isAcceptableIdentifier","name","test","sanitizeMemberName","id","undefined","base","split","trimmed","replace","parseModifiers","syntaxContent","mods","isStatic","isAbstract","isVirtual","isOverride","isSealed","isExtern","isReadOnly","normalizeTypeName","startsWith","cleanDocfxType","typeName","cleaned","trim","TypeReference","props","type","endsWith","_$createComponent","children","_$memo","fileName","import","meta","url","lineNumber","columnNumber","parts","length","namespace","i","candidate","slice","has","buildMemberDescriptors","items","leafTypeName","memberDescriptors","item","memberKind","includes","simpleName","uid","pop","rawReturnType","syntax","return","isNullable","effectiveReturnType","nullableMatch","exec","content","namePattern","RegExp","firstLine","idx","indexOf","before","methodKind","addType","file","root","typeKind","nsParts","namespaceMembers","rawId","normalized","segments","map","s","some","leafName","at","container","parentSeg","typeLevelMods","namedTypeExtra","walk","dir","entry","full","isDirectory","data","e","console","warn","message"],"sources":["../../../scripts/process-docfx.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}