@alloy-js/csharp 0.20.0-dev.0 → 0.20.0-dev.10

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 (399) hide show
  1. package/dist/src/components/Declaration.d.ts +2 -2
  2. package/dist/src/components/Declaration.d.ts.map +1 -1
  3. package/dist/src/components/Declaration.js +5 -14
  4. package/dist/src/components/Declaration.js.map +1 -0
  5. package/dist/src/components/Name.js +2 -1
  6. package/dist/src/components/Name.js.map +1 -0
  7. package/dist/src/components/ProjectDirectory.js +2 -1
  8. package/dist/src/components/ProjectDirectory.js.map +1 -0
  9. package/dist/src/components/Reference.d.ts.map +1 -1
  10. package/dist/src/components/Reference.js +7 -2
  11. package/dist/src/components/Reference.js.map +1 -0
  12. package/dist/src/components/UsingDirective.d.ts +5 -1
  13. package/dist/src/components/UsingDirective.d.ts.map +1 -1
  14. package/dist/src/components/UsingDirective.js +5 -2
  15. package/dist/src/components/UsingDirective.js.map +1 -0
  16. package/dist/src/components/access-expression/access-expression.d.ts +54 -0
  17. package/dist/src/components/access-expression/access-expression.d.ts.map +1 -0
  18. package/dist/src/components/access-expression/access-expression.js +277 -0
  19. package/dist/src/components/access-expression/access-expression.js.map +1 -0
  20. package/dist/src/components/access-expression/access-expression.test.d.ts +2 -0
  21. package/dist/src/components/access-expression/access-expression.test.d.ts.map +1 -0
  22. package/dist/src/components/access-expression/access-expression.test.js +336 -0
  23. package/dist/src/components/access-expression/access-expression.test.js.map +1 -0
  24. package/dist/src/components/access-expression/part-descriptors.d.ts +32 -0
  25. package/dist/src/components/access-expression/part-descriptors.d.ts.map +1 -0
  26. package/dist/src/components/access-expression/part-descriptors.js +99 -0
  27. package/dist/src/components/access-expression/part-descriptors.js.map +1 -0
  28. package/dist/src/components/attributes/attributes.js +2 -1
  29. package/dist/src/components/attributes/attributes.js.map +1 -0
  30. package/dist/src/components/attributes/attributes.test.js +2 -1
  31. package/dist/src/components/attributes/attributes.test.js.map +1 -0
  32. package/dist/src/components/{ClassDeclaration.d.ts → class/declaration.d.ts} +30 -12
  33. package/dist/src/components/class/declaration.d.ts.map +1 -0
  34. package/dist/src/components/class/declaration.js +87 -0
  35. package/dist/src/components/class/declaration.js.map +1 -0
  36. package/dist/src/components/class/declaration.test.d.ts +2 -0
  37. package/dist/src/components/class/declaration.test.d.ts.map +1 -0
  38. package/dist/src/components/class/declaration.test.js +573 -0
  39. package/dist/src/components/class/declaration.test.js.map +1 -0
  40. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  41. package/dist/src/components/constructor/constructor.js +13 -20
  42. package/dist/src/components/constructor/constructor.js.map +1 -0
  43. package/dist/src/components/constructor/constructor.test.js +13 -21
  44. package/dist/src/components/constructor/constructor.test.js.map +1 -0
  45. package/dist/src/components/doc/comment.js +2 -1
  46. package/dist/src/components/doc/comment.js.map +1 -0
  47. package/dist/src/components/doc/comment.test.js +2 -1
  48. package/dist/src/components/doc/comment.test.js.map +1 -0
  49. package/dist/src/components/doc/from-markdown.js +2 -1
  50. package/dist/src/components/doc/from-markdown.js.map +1 -0
  51. package/dist/src/components/doc/from-markdown.test.js +2 -1
  52. package/dist/src/components/doc/from-markdown.test.js.map +1 -0
  53. package/dist/src/components/{EnumDeclaration.d.ts → enum/declaration.d.ts} +6 -11
  54. package/dist/src/components/enum/declaration.d.ts.map +1 -0
  55. package/dist/src/components/enum/declaration.js +55 -0
  56. package/dist/src/components/enum/declaration.js.map +1 -0
  57. package/dist/src/components/enum/declaration.ref.test.d.ts +2 -0
  58. package/dist/src/components/enum/declaration.ref.test.d.ts.map +1 -0
  59. package/dist/src/components/enum/declaration.ref.test.js +121 -0
  60. package/dist/src/components/enum/declaration.ref.test.js.map +1 -0
  61. package/dist/src/components/enum/declaration.test.d.ts +2 -0
  62. package/dist/src/components/enum/declaration.test.d.ts.map +1 -0
  63. package/dist/src/components/enum/declaration.test.js +40 -0
  64. package/dist/src/components/enum/declaration.test.js.map +1 -0
  65. package/dist/src/components/enum/member.d.ts +7 -0
  66. package/dist/src/components/enum/member.d.ts.map +1 -0
  67. package/dist/src/components/enum/member.js +30 -0
  68. package/dist/src/components/enum/member.js.map +1 -0
  69. package/dist/src/components/enum/member.test.d.ts +2 -0
  70. package/dist/src/components/enum/member.test.d.ts.map +1 -0
  71. package/dist/src/components/enum/member.test.js +29 -0
  72. package/dist/src/components/enum/member.test.js.map +1 -0
  73. package/dist/src/components/field/field.d.ts.map +1 -1
  74. package/dist/src/components/field/field.js +11 -18
  75. package/dist/src/components/field/field.js.map +1 -0
  76. package/dist/src/components/field/field.test.js +10 -9
  77. package/dist/src/components/field/field.test.js.map +1 -0
  78. package/dist/src/components/index.d.ts +8 -4
  79. package/dist/src/components/index.d.ts.map +1 -1
  80. package/dist/src/components/index.js +10 -5
  81. package/dist/src/components/index.js.map +1 -0
  82. package/dist/src/components/interface/declaration.d.ts.map +1 -1
  83. package/dist/src/components/interface/declaration.js +21 -22
  84. package/dist/src/components/interface/declaration.js.map +1 -0
  85. package/dist/src/components/interface/declaration.test.js +28 -36
  86. package/dist/src/components/interface/declaration.test.js.map +1 -0
  87. package/dist/src/components/interface/method.d.ts.map +1 -1
  88. package/dist/src/components/interface/method.js +9 -19
  89. package/dist/src/components/interface/method.js.map +1 -0
  90. package/dist/src/components/interface/method.test.js +40 -48
  91. package/dist/src/components/interface/method.test.js.map +1 -0
  92. package/dist/src/components/interface/property.d.ts.map +1 -1
  93. package/dist/src/components/interface/property.js +23 -40
  94. package/dist/src/components/interface/property.js.map +1 -0
  95. package/dist/src/components/interface/property.test.js +13 -12
  96. package/dist/src/components/interface/property.test.js.map +1 -0
  97. package/dist/src/components/invocation-expression/invocation-expression.d.ts +29 -0
  98. package/dist/src/components/invocation-expression/invocation-expression.d.ts.map +1 -0
  99. package/dist/src/components/invocation-expression/invocation-expression.js +70 -0
  100. package/dist/src/components/invocation-expression/invocation-expression.js.map +1 -0
  101. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts +2 -0
  102. package/dist/src/components/invocation-expression/invocation-expression.test.d.ts.map +1 -0
  103. package/dist/src/components/invocation-expression/invocation-expression.test.js +105 -0
  104. package/dist/src/components/invocation-expression/invocation-expression.test.js.map +1 -0
  105. package/dist/src/components/lexical-scope.d.ts +8 -0
  106. package/dist/src/components/lexical-scope.d.ts.map +1 -0
  107. package/dist/src/components/lexical-scope.js +25 -0
  108. package/dist/src/components/lexical-scope.js.map +1 -0
  109. package/dist/src/components/method/method.d.ts +5 -2
  110. package/dist/src/components/method/method.d.ts.map +1 -1
  111. package/dist/src/components/method/method.js +9 -17
  112. package/dist/src/components/method/method.js.map +1 -0
  113. package/dist/src/components/method/method.test.js +13 -12
  114. package/dist/src/components/method/method.test.js.map +1 -0
  115. package/dist/src/components/method-scope.d.ts +8 -0
  116. package/dist/src/components/method-scope.d.ts.map +1 -0
  117. package/dist/src/components/method-scope.js +25 -0
  118. package/dist/src/components/method-scope.js.map +1 -0
  119. package/dist/src/components/namespace-scopes.d.ts +13 -0
  120. package/dist/src/components/namespace-scopes.d.ts.map +1 -0
  121. package/dist/src/components/namespace-scopes.js +45 -0
  122. package/dist/src/components/namespace-scopes.js.map +1 -0
  123. package/dist/src/components/namespace.d.ts +7 -0
  124. package/dist/src/components/namespace.d.ts.map +1 -0
  125. package/dist/src/components/namespace.js +47 -0
  126. package/dist/src/components/namespace.js.map +1 -0
  127. package/dist/src/components/namespace.ref.test.d.ts +2 -0
  128. package/dist/src/components/namespace.ref.test.d.ts.map +1 -0
  129. package/dist/src/components/namespace.ref.test.js +182 -0
  130. package/dist/src/components/namespace.ref.test.js.map +1 -0
  131. package/dist/src/components/namespace.test.d.ts.map +1 -0
  132. package/dist/src/components/namespace.test.js +79 -0
  133. package/dist/src/components/namespace.test.js.map +1 -0
  134. package/dist/src/components/parameters/parameters.d.ts +2 -3
  135. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  136. package/dist/src/components/parameters/parameters.js +15 -15
  137. package/dist/src/components/parameters/parameters.js.map +1 -0
  138. package/dist/src/components/parameters/parameters.test.d.ts +2 -0
  139. package/dist/src/components/parameters/parameters.test.d.ts.map +1 -0
  140. package/dist/src/components/parameters/parameters.test.js +154 -0
  141. package/dist/src/components/parameters/parameters.test.js.map +1 -0
  142. package/dist/src/components/property/property.d.ts +2 -2
  143. package/dist/src/components/property/property.d.ts.map +1 -1
  144. package/dist/src/components/property/property.js +30 -40
  145. package/dist/src/components/property/property.js.map +1 -0
  146. package/dist/src/components/property/property.test.js +17 -16
  147. package/dist/src/components/property/property.test.js.map +1 -0
  148. package/dist/src/components/record/declaration.d.ts +18 -0
  149. package/dist/src/components/record/declaration.d.ts.map +1 -1
  150. package/dist/src/components/record/declaration.js +21 -14
  151. package/dist/src/components/record/declaration.js.map +1 -0
  152. package/dist/src/components/record/declaration.test.js +52 -4
  153. package/dist/src/components/record/declaration.test.js.map +1 -0
  154. package/dist/src/components/source-file/source-file.d.ts +19 -0
  155. package/dist/src/components/source-file/source-file.d.ts.map +1 -0
  156. package/dist/src/components/source-file/source-file.js +59 -0
  157. package/dist/src/components/source-file/source-file.js.map +1 -0
  158. package/dist/src/components/source-file/source-file.test.d.ts +2 -0
  159. package/dist/src/components/source-file/source-file.test.d.ts.map +1 -0
  160. package/dist/src/components/source-file/source-file.test.js +136 -0
  161. package/dist/src/components/source-file/source-file.test.js.map +1 -0
  162. package/dist/src/components/stc/index.js +2 -1
  163. package/dist/src/components/stc/index.js.map +1 -0
  164. package/dist/src/components/struct/declaration.d.ts.map +1 -1
  165. package/dist/src/components/struct/declaration.js +6 -7
  166. package/dist/src/components/struct/declaration.js.map +1 -0
  167. package/dist/src/components/struct/declaration.test.js +32 -40
  168. package/dist/src/components/struct/declaration.test.js.map +1 -0
  169. package/dist/src/components/type-parameters/type-parameter-constraints.js +2 -1
  170. package/dist/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
  171. package/dist/src/components/type-parameters/type-parameter-constraints.test.js +2 -1
  172. package/dist/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
  173. package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -1
  174. package/dist/src/components/type-parameters/type-parameter.js +9 -11
  175. package/dist/src/components/type-parameters/type-parameter.js.map +1 -0
  176. package/dist/src/components/type-parameters/type-parameters.js +2 -1
  177. package/dist/src/components/type-parameters/type-parameters.js.map +1 -0
  178. package/dist/src/components/type-parameters/type-parameters.test.js +5 -4
  179. package/dist/src/components/type-parameters/type-parameters.test.js.map +1 -0
  180. package/dist/src/components/var/declaration.d.ts.map +1 -1
  181. package/dist/src/components/var/declaration.js +8 -9
  182. package/dist/src/components/var/declaration.js.map +1 -0
  183. package/dist/src/components/var/declaration.test.js +13 -21
  184. package/dist/src/components/var/declaration.test.js.map +1 -0
  185. package/dist/src/contexts/format-options.d.ts +5 -0
  186. package/dist/src/contexts/format-options.d.ts.map +1 -0
  187. package/dist/src/contexts/format-options.js +9 -0
  188. package/dist/src/contexts/format-options.js.map +1 -0
  189. package/dist/src/contexts/global-namespace.d.ts +5 -0
  190. package/dist/src/contexts/global-namespace.d.ts.map +1 -0
  191. package/dist/src/contexts/global-namespace.js +25 -0
  192. package/dist/src/contexts/global-namespace.js.map +1 -0
  193. package/dist/src/contexts/namespace.d.ts +8 -0
  194. package/dist/src/contexts/namespace.d.ts.map +1 -0
  195. package/dist/src/contexts/namespace.js +6 -0
  196. package/dist/src/contexts/namespace.js.map +1 -0
  197. package/dist/src/index.d.ts +2 -0
  198. package/dist/src/index.d.ts.map +1 -1
  199. package/dist/src/index.js +4 -1
  200. package/dist/src/index.js.map +1 -0
  201. package/dist/src/modifiers.d.ts +11 -0
  202. package/dist/src/modifiers.d.ts.map +1 -1
  203. package/dist/src/modifiers.js +2 -1
  204. package/dist/src/modifiers.js.map +1 -0
  205. package/dist/src/name-policy.js +2 -1
  206. package/dist/src/name-policy.js.map +1 -0
  207. package/dist/src/scopes/class.d.ts +10 -0
  208. package/dist/src/scopes/class.d.ts.map +1 -0
  209. package/dist/src/scopes/class.js +11 -0
  210. package/dist/src/scopes/class.js.map +1 -0
  211. package/dist/src/scopes/contexts.d.ts +9 -0
  212. package/dist/src/scopes/contexts.d.ts.map +1 -0
  213. package/dist/src/scopes/contexts.js +34 -0
  214. package/dist/src/scopes/contexts.js.map +1 -0
  215. package/dist/src/scopes/csharp.d.ts +10 -0
  216. package/dist/src/scopes/csharp.d.ts.map +1 -0
  217. package/dist/src/scopes/csharp.js +15 -0
  218. package/dist/src/scopes/csharp.js.map +1 -0
  219. package/dist/src/scopes/factories.d.ts +9 -0
  220. package/dist/src/scopes/factories.d.ts.map +1 -0
  221. package/dist/src/scopes/factories.js +24 -0
  222. package/dist/src/scopes/factories.js.map +1 -0
  223. package/dist/src/scopes/index.d.ts +10 -0
  224. package/dist/src/scopes/index.d.ts.map +1 -0
  225. package/dist/src/scopes/index.js +10 -0
  226. package/dist/src/scopes/index.js.map +1 -0
  227. package/dist/src/scopes/lexical.d.ts +7 -0
  228. package/dist/src/scopes/lexical.d.ts.map +1 -0
  229. package/dist/src/scopes/lexical.js +8 -0
  230. package/dist/src/scopes/lexical.js.map +1 -0
  231. package/dist/src/scopes/method.d.ts +9 -0
  232. package/dist/src/scopes/method.d.ts.map +1 -0
  233. package/dist/src/scopes/method.js +14 -0
  234. package/dist/src/scopes/method.js.map +1 -0
  235. package/dist/src/scopes/named-type.d.ts +22 -0
  236. package/dist/src/scopes/named-type.d.ts.map +1 -0
  237. package/dist/src/scopes/named-type.js +33 -0
  238. package/dist/src/scopes/named-type.js.map +1 -0
  239. package/dist/src/scopes/namespace.d.ts +11 -0
  240. package/dist/src/scopes/namespace.d.ts.map +1 -0
  241. package/dist/src/scopes/namespace.js +39 -0
  242. package/dist/src/scopes/namespace.js.map +1 -0
  243. package/dist/src/scopes/source-file.d.ts +16 -0
  244. package/dist/src/scopes/source-file.d.ts.map +1 -0
  245. package/dist/src/scopes/source-file.js +44 -0
  246. package/dist/src/scopes/source-file.js.map +1 -0
  247. package/dist/src/symbols/csharp.d.ts +87 -0
  248. package/dist/src/symbols/csharp.d.ts.map +1 -0
  249. package/dist/src/symbols/csharp.js +246 -0
  250. package/dist/src/symbols/csharp.js.map +1 -0
  251. package/dist/src/symbols/factories.d.ts +25 -0
  252. package/dist/src/symbols/factories.d.ts.map +1 -0
  253. package/dist/src/symbols/factories.js +93 -0
  254. package/dist/src/symbols/factories.js.map +1 -0
  255. package/dist/src/symbols/index.d.ts +5 -2
  256. package/dist/src/symbols/index.d.ts.map +1 -1
  257. package/dist/src/symbols/index.js +6 -2
  258. package/dist/src/symbols/index.js.map +1 -0
  259. package/dist/src/symbols/method.d.ts +13 -0
  260. package/dist/src/symbols/method.d.ts.map +1 -0
  261. package/dist/src/symbols/method.js +16 -0
  262. package/dist/src/symbols/method.js.map +1 -0
  263. package/dist/src/symbols/named-type.d.ts +19 -0
  264. package/dist/src/symbols/named-type.d.ts.map +1 -0
  265. package/dist/src/symbols/named-type.js +31 -0
  266. package/dist/src/symbols/named-type.js.map +1 -0
  267. package/dist/src/symbols/namespace.d.ts +22 -0
  268. package/dist/src/symbols/namespace.d.ts.map +1 -0
  269. package/dist/src/symbols/namespace.js +45 -0
  270. package/dist/src/symbols/namespace.js.map +1 -0
  271. package/dist/src/symbols/reference.d.ts +2 -2
  272. package/dist/src/symbols/reference.d.ts.map +1 -1
  273. package/dist/src/symbols/reference.js +50 -44
  274. package/dist/src/symbols/reference.js.map +1 -0
  275. package/dist/test/project-directory.test.js +20 -19
  276. package/dist/test/project-directory.test.js.map +1 -0
  277. package/dist/test/using.test.js +23 -21
  278. package/dist/test/using.test.js.map +1 -0
  279. package/dist/test/utils.d.ts.map +1 -1
  280. package/dist/test/utils.js +7 -4
  281. package/dist/test/utils.js.map +1 -0
  282. package/dist/test/vitest.setup.js +2 -1
  283. package/dist/test/vitest.setup.js.map +1 -0
  284. package/dist/tsconfig.tsbuildinfo +1 -1
  285. package/package.json +12 -6
  286. package/src/components/Declaration.tsx +3 -6
  287. package/src/components/Reference.tsx +3 -1
  288. package/src/components/UsingDirective.tsx +12 -2
  289. package/src/components/access-expression/access-expression.test.tsx +284 -0
  290. package/src/components/access-expression/access-expression.tsx +375 -0
  291. package/src/components/access-expression/part-descriptors.ts +175 -0
  292. package/src/components/class/declaration.test.tsx +484 -0
  293. package/src/components/{ClassDeclaration.tsx → class/declaration.tsx} +63 -44
  294. package/src/components/constructor/constructor.test.tsx +11 -17
  295. package/src/components/constructor/constructor.tsx +13 -32
  296. package/src/components/enum/declaration.ref.test.tsx +93 -0
  297. package/src/components/enum/declaration.test.tsx +34 -0
  298. package/src/components/enum/declaration.tsx +65 -0
  299. package/src/components/enum/member.test.tsx +24 -0
  300. package/src/components/enum/member.tsx +36 -0
  301. package/src/components/field/field.test.tsx +8 -8
  302. package/src/components/field/field.tsx +12 -22
  303. package/src/components/index.ts +8 -4
  304. package/src/components/interface/declaration.test.tsx +26 -32
  305. package/src/components/interface/declaration.tsx +16 -18
  306. package/src/components/interface/method.test.tsx +38 -44
  307. package/src/components/interface/method.tsx +7 -20
  308. package/src/components/interface/property.test.tsx +11 -11
  309. package/src/components/interface/property.tsx +15 -34
  310. package/src/components/invocation-expression/invocation-expression.test.tsx +101 -0
  311. package/src/components/invocation-expression/invocation-expression.tsx +60 -0
  312. package/src/components/lexical-scope.tsx +29 -0
  313. package/src/components/method/method.test.tsx +11 -11
  314. package/src/components/method/method.tsx +12 -23
  315. package/src/components/method-scope.tsx +27 -0
  316. package/src/components/namespace-scopes.tsx +44 -0
  317. package/src/components/namespace.ref.test.tsx +139 -0
  318. package/src/components/namespace.test.tsx +52 -0
  319. package/src/components/namespace.tsx +45 -0
  320. package/src/components/parameters/parameters.test.tsx +117 -0
  321. package/src/components/parameters/parameters.tsx +11 -21
  322. package/src/components/property/property.test.tsx +15 -15
  323. package/src/components/property/property.tsx +23 -41
  324. package/src/components/record/declaration.test.tsx +47 -3
  325. package/src/components/record/declaration.tsx +34 -11
  326. package/src/components/source-file/source-file.test.tsx +96 -0
  327. package/src/components/source-file/source-file.tsx +98 -0
  328. package/src/components/struct/declaration.test.tsx +16 -22
  329. package/src/components/struct/declaration.tsx +4 -6
  330. package/src/components/type-parameters/type-parameter.tsx +14 -11
  331. package/src/components/type-parameters/type-parameters.test.tsx +4 -4
  332. package/src/components/var/declaration.test.tsx +8 -14
  333. package/src/components/var/declaration.tsx +12 -6
  334. package/src/contexts/format-options.ts +14 -0
  335. package/src/contexts/global-namespace.ts +29 -0
  336. package/src/contexts/namespace.ts +13 -0
  337. package/src/index.ts +2 -0
  338. package/src/modifiers.ts +14 -0
  339. package/src/scopes/class.ts +12 -0
  340. package/src/scopes/contexts.ts +45 -0
  341. package/src/scopes/csharp.ts +23 -0
  342. package/src/scopes/factories.ts +45 -0
  343. package/src/scopes/index.ts +9 -0
  344. package/src/scopes/lexical.ts +10 -0
  345. package/src/scopes/method.ts +22 -0
  346. package/src/scopes/named-type.ts +44 -0
  347. package/src/scopes/namespace.ts +59 -0
  348. package/src/scopes/source-file.ts +67 -0
  349. package/src/symbols/csharp.ts +339 -0
  350. package/src/symbols/factories.ts +215 -0
  351. package/src/symbols/index.ts +5 -2
  352. package/src/symbols/method.ts +26 -0
  353. package/src/symbols/named-type.ts +54 -0
  354. package/src/symbols/namespace.ts +62 -0
  355. package/src/symbols/reference.tsx +64 -0
  356. package/temp/api.json +6910 -2491
  357. package/test/project-directory.test.tsx +14 -16
  358. package/test/using.test.tsx +21 -21
  359. package/test/utils.tsx +2 -1
  360. package/tsconfig.json +4 -1
  361. package/tsdoc-metadata.json +1 -1
  362. package/dist/src/components/ClassDeclaration.d.ts.map +0 -1
  363. package/dist/src/components/ClassDeclaration.js +0 -92
  364. package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
  365. package/dist/src/components/EnumDeclaration.js +0 -85
  366. package/dist/src/components/Namespace.d.ts +0 -11
  367. package/dist/src/components/Namespace.d.ts.map +0 -1
  368. package/dist/src/components/Namespace.js +0 -33
  369. package/dist/src/components/SourceFile.d.ts +0 -14
  370. package/dist/src/components/SourceFile.d.ts.map +0 -1
  371. package/dist/src/components/SourceFile.js +0 -69
  372. package/dist/src/symbols/csharp-output-symbol.d.ts +0 -8
  373. package/dist/src/symbols/csharp-output-symbol.d.ts.map +0 -1
  374. package/dist/src/symbols/csharp-output-symbol.js +0 -19
  375. package/dist/src/symbols/scopes.d.ts +0 -14
  376. package/dist/src/symbols/scopes.d.ts.map +0 -1
  377. package/dist/src/symbols/scopes.js +0 -31
  378. package/dist/test/class-declaration.test.d.ts +0 -2
  379. package/dist/test/class-declaration.test.d.ts.map +0 -1
  380. package/dist/test/class-declaration.test.js +0 -484
  381. package/dist/test/enum.test.d.ts +0 -2
  382. package/dist/test/enum.test.d.ts.map +0 -1
  383. package/dist/test/enum.test.js +0 -178
  384. package/dist/test/namespace.test.d.ts.map +0 -1
  385. package/dist/test/namespace.test.js +0 -81
  386. package/dist/test/sourcefile.test.d.ts +0 -2
  387. package/dist/test/sourcefile.test.d.ts.map +0 -1
  388. package/dist/test/sourcefile.test.js +0 -58
  389. package/src/components/EnumDeclaration.tsx +0 -99
  390. package/src/components/Namespace.tsx +0 -35
  391. package/src/components/SourceFile.tsx +0 -78
  392. package/src/symbols/csharp-output-symbol.ts +0 -22
  393. package/src/symbols/reference.ts +0 -65
  394. package/src/symbols/scopes.ts +0 -41
  395. package/test/class-declaration.test.tsx +0 -413
  396. package/test/enum.test.tsx +0 -149
  397. package/test/namespace.test.tsx +0 -55
  398. package/test/sourcefile.test.tsx +0 -47
  399. /package/dist/{test → src/components}/namespace.test.d.ts +0 -0
@@ -1,413 +0,0 @@
1
- import * as core from "@alloy-js/core";
2
- import { List, refkey } from "@alloy-js/core";
3
- import * as coretest from "@alloy-js/core/testing";
4
- import { describe, expect, it } from "vitest";
5
- import { Attribute } from "../src/components/attributes/attributes.jsx";
6
- import { Field } from "../src/components/field/field.jsx";
7
- import { Constructor } from "../src/components/stc/index.js";
8
- import { TypeParameterProps } from "../src/components/type-parameters/type-parameter.jsx";
9
- import * as csharp from "../src/index.js";
10
- import { ClassDeclaration, Property, SourceFile } from "../src/index.js";
11
- import * as utils from "./utils.jsx";
12
- import { findFile } from "./utils.jsx";
13
-
14
- it("declares class with no members", () => {
15
- expect(
16
- <utils.TestNamespace>
17
- <ClassDeclaration name="TestClass" />
18
- </utils.TestNamespace>,
19
- ).toRenderTo(`
20
- class TestClass;
21
- `);
22
- });
23
-
24
- describe("modifiers", () => {
25
- it.each(["public", "private"])("%s", (mod) => {
26
- expect(
27
- <utils.TestNamespace>
28
- <ClassDeclaration {...{ [mod]: true }} name="TestClass" />
29
- </utils.TestNamespace>,
30
- ).toRenderTo(`
31
- ${mod} class TestClass;
32
- `);
33
- });
34
-
35
- it.each(["partial", "abstract", "static", "sealed"])("%s", (mod) => {
36
- expect(
37
- <utils.TestNamespace>
38
- <ClassDeclaration {...{ [mod]: true }} name="TestClass" />
39
- </utils.TestNamespace>,
40
- ).toRenderTo(`
41
- ${mod} class TestClass;
42
- `);
43
- });
44
-
45
- it("combines modifiers", () => {
46
- expect(
47
- <utils.TestNamespace>
48
- <ClassDeclaration public abstract partial name="TestClass" />
49
- </utils.TestNamespace>,
50
- ).toRenderTo(`
51
- public abstract partial class TestClass;
52
- `);
53
- });
54
- });
55
-
56
- describe("base", () => {
57
- it("define base class", () => {
58
- expect(
59
- <utils.TestNamespace>
60
- <csharp.ClassDeclaration name="TestClass" baseType="Foo" />
61
- </utils.TestNamespace>,
62
- ).toRenderTo(`
63
- class TestClass : Foo;
64
- `);
65
- });
66
-
67
- it("define multiple interface types", () => {
68
- expect(
69
- <utils.TestNamespace>
70
- <csharp.ClassDeclaration
71
- name="TestClass"
72
- interfaceTypes={["Foo", "Bar"]}
73
- />
74
- </utils.TestNamespace>,
75
- ).toRenderTo(`
76
- class TestClass : Foo, Bar;
77
- `);
78
- });
79
-
80
- it("define base class and multiple interface types", () => {
81
- expect(
82
- <utils.TestNamespace>
83
- <csharp.ClassDeclaration
84
- name="TestClass"
85
- baseType="BaseClass"
86
- interfaceTypes={["Foo", "Bar"]}
87
- />
88
- </utils.TestNamespace>,
89
- ).toRenderTo(`
90
- class TestClass : BaseClass, Foo, Bar;
91
- `);
92
- });
93
- });
94
-
95
- it("declares class with some members", () => {
96
- const res = utils.toSourceText(
97
- <csharp.ClassDeclaration public name="TestClass">
98
- <List>
99
- <Field public name="MemberOne" type="string" />
100
- <Field public name="MemberTwo" type="int" />
101
- </List>
102
- </csharp.ClassDeclaration>,
103
- );
104
-
105
- expect(res).toBe(coretest.d`
106
- namespace TestCode
107
- {
108
- public class TestClass
109
- {
110
- public string MemberOne;
111
- public int MemberTwo;
112
- }
113
- }
114
- `);
115
- });
116
-
117
- it("declares class with some methods", () => {
118
- const res = utils.toSourceText(
119
- <csharp.ClassDeclaration public name="TestClass">
120
- <core.List>
121
- <csharp.Method public name="MethodOne" />
122
- <csharp.Method private virtual name="MethodTwo" />
123
- </core.List>
124
- </csharp.ClassDeclaration>,
125
- );
126
-
127
- expect(res).toBe(coretest.d`
128
- namespace TestCode
129
- {
130
- public class TestClass
131
- {
132
- public void MethodOne() {}
133
- private virtual void MethodTwo() {}
134
- }
135
- }
136
- `);
137
- });
138
-
139
- it("uses refkeys for members, params, and return type", () => {
140
- const inputTypeRefkey = core.refkey();
141
- const testResultTypeRefkey = core.refkey();
142
- const enumTypeRefkey = core.refkey();
143
-
144
- const params = [
145
- {
146
- name: "IntParam",
147
- type: "int",
148
- },
149
- {
150
- name: "BodyParam",
151
- type: inputTypeRefkey,
152
- },
153
- ];
154
-
155
- const res = core.render(
156
- <core.Output namePolicy={csharp.createCSharpNamePolicy()}>
157
- <csharp.Namespace name="TestCode">
158
- <csharp.SourceFile path="Test.cs">
159
- <csharp.EnumDeclaration
160
- public
161
- name="TestEnum"
162
- refkey={enumTypeRefkey}
163
- >
164
- <core.List comma hardline>
165
- <csharp.EnumMember name="One" />
166
- <csharp.EnumMember name="Two" />
167
- </core.List>
168
- </csharp.EnumDeclaration>
169
- <hbr />
170
- <csharp.ClassDeclaration
171
- public
172
- name="TestInput"
173
- refkey={inputTypeRefkey}
174
- />
175
- <hbr />
176
- <csharp.ClassDeclaration
177
- public
178
- name="TestResult"
179
- refkey={testResultTypeRefkey}
180
- />
181
- <hbr />
182
- <csharp.ClassDeclaration public name="TestClass">
183
- <Field private name="MemberOne" type={enumTypeRefkey} />
184
- <hbr />
185
- <csharp.Method
186
- public
187
- name="MethodOne"
188
- parameters={params}
189
- returns={testResultTypeRefkey}
190
- >
191
- return new {testResultTypeRefkey}();
192
- </csharp.Method>
193
- </csharp.ClassDeclaration>
194
- </csharp.SourceFile>
195
- </csharp.Namespace>
196
- </core.Output>,
197
- );
198
-
199
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
200
- namespace TestCode
201
- {
202
- public enum TestEnum
203
- {
204
- One,
205
- Two
206
- }
207
- public class TestInput;
208
- public class TestResult;
209
- public class TestClass
210
- {
211
- private TestEnum _memberOne;
212
- public TestResult MethodOne(int intParam, TestInput bodyParam)
213
- {
214
- return new TestResult();
215
- }
216
- }
217
- }
218
- `);
219
- });
220
-
221
- describe("with type parameters", () => {
222
- it("reference parameters", () => {
223
- const typeParameters: TypeParameterProps[] = [
224
- {
225
- name: "T",
226
- refkey: refkey(),
227
- },
228
- {
229
- name: "U",
230
- refkey: refkey(),
231
- },
232
- ];
233
-
234
- expect(
235
- <utils.TestNamespace>
236
- <SourceFile path="Test.cs">
237
- <ClassDeclaration
238
- public
239
- name="TestClass"
240
- typeParameters={typeParameters}
241
- >
242
- <List>
243
- <Property name="PropA" type={typeParameters[0].refkey} get set />
244
- <Property name="PropB" type={typeParameters[1].refkey} get set />
245
- </List>
246
- </ClassDeclaration>
247
- </SourceFile>
248
- </utils.TestNamespace>,
249
- ).toRenderTo(`
250
- namespace TestCode
251
- {
252
- public class TestClass<T, U>
253
- {
254
- T PropA { get; set; }
255
- U PropB { get; set; }
256
- }
257
- }
258
- `);
259
- });
260
-
261
- it("defines with constraints", () => {
262
- const typeParameters: TypeParameterProps[] = [
263
- {
264
- name: "T",
265
- constraints: "IFoo",
266
- },
267
- {
268
- name: "U",
269
- constraints: "IBar",
270
- },
271
- ];
272
-
273
- expect(
274
- <utils.TestNamespace>
275
- <ClassDeclaration
276
- public
277
- name="TestClass"
278
- typeParameters={typeParameters}
279
- >
280
- // Body
281
- </ClassDeclaration>
282
- </utils.TestNamespace>,
283
- ).toRenderTo(`
284
- public class TestClass<T, U>
285
- where T : IFoo
286
- where U : IBar
287
- {
288
- // Body
289
- }
290
- `);
291
- });
292
- });
293
-
294
- it("declares class with invalid members", () => {
295
- const decl = (
296
- <csharp.ClassDeclaration public name="TestClass">
297
- <csharp.EnumMember name="One" />,<hbr />
298
- <csharp.EnumMember name="Two" />
299
- </csharp.ClassDeclaration>
300
- );
301
-
302
- expect(() => utils.toSourceText(decl)).toThrow(
303
- "can't define an enum member outside of an enum-decl scope",
304
- );
305
- });
306
-
307
- it("declares class with constructor", () => {
308
- const res = utils.toSourceText(
309
- <csharp.ClassDeclaration public name="TestClass">
310
- <Constructor public />
311
- </csharp.ClassDeclaration>,
312
- );
313
-
314
- expect(res).toBe(coretest.d`
315
- namespace TestCode
316
- {
317
- public class TestClass
318
- {
319
- public TestClass() {}
320
- }
321
- }
322
- `);
323
- });
324
-
325
- it("declares class with constructor params and assigns values to fields", () => {
326
- const thisNameRefkey = core.refkey();
327
- const thisSizeRefkey = core.refkey();
328
- const paramNameRefkey = core.refkey();
329
- const paramSizeRefkey = core.refkey();
330
-
331
- const ctorParams = [
332
- {
333
- name: "name",
334
- type: "string",
335
- refkey: paramNameRefkey,
336
- },
337
- {
338
- name: "size",
339
- type: "int",
340
- refkey: paramSizeRefkey,
341
- },
342
- ];
343
-
344
- const res = utils.toSourceText(
345
- <csharp.ClassDeclaration public name="TestClass">
346
- <Field private name="name" type="string" refkey={thisNameRefkey} />
347
- <hbr />
348
- <Field private name="size" type="int" refkey={thisSizeRefkey} />
349
- <hbr />
350
- <Constructor public parameters={ctorParams}>
351
- {thisNameRefkey} = {paramNameRefkey};<hbr />
352
- {thisSizeRefkey} = {paramSizeRefkey};
353
- </Constructor>
354
- </csharp.ClassDeclaration>,
355
- );
356
-
357
- // TODO: assignments to members should have this. prefix
358
- // e.g. this.name = name;
359
- expect(res).toBe(coretest.d`
360
- namespace TestCode
361
- {
362
- public class TestClass
363
- {
364
- private string _name;
365
- private int _size;
366
- public TestClass(string name, int size)
367
- {
368
- _name = name;
369
- _size = size;
370
- }
371
- }
372
- }
373
- `);
374
- });
375
-
376
- it("specify doc comment", () => {
377
- expect(
378
- <utils.TestNamespace>
379
- <ClassDeclaration name="Test" doc="This is a test" />
380
- </utils.TestNamespace>,
381
- ).toRenderTo(`
382
- /// This is a test
383
- class Test;
384
- `);
385
- });
386
-
387
- it("supports class member doc comments", () => {
388
- expect(
389
- <utils.TestNamespace>
390
- <ClassDeclaration name="Test" doc="This is a test">
391
- <Field name="Member" public type="int" doc="This is a member" />
392
- </ClassDeclaration>
393
- </utils.TestNamespace>,
394
- ).toRenderTo(`
395
- /// This is a test
396
- class Test
397
- {
398
- /// This is a member
399
- public int Member;
400
- }
401
- `);
402
- });
403
-
404
- it("specify attributes", () => {
405
- expect(
406
- <utils.TestNamespace>
407
- <ClassDeclaration name="Test" attributes={[<Attribute name="Test" />]} />
408
- </utils.TestNamespace>,
409
- ).toRenderTo(`
410
- [Test]
411
- class Test;
412
- `);
413
- });
@@ -1,149 +0,0 @@
1
- import * as core from "@alloy-js/core";
2
- import * as coretest from "@alloy-js/core/testing";
3
- import { expect, it } from "vitest";
4
- import * as csharp from "../src/index.js";
5
- import * as utils from "./utils.js";
6
- import { findFile } from "./utils.js";
7
-
8
- it("declares enum with no members", () => {
9
- const res = utils.toSourceText(
10
- <csharp.EnumDeclaration public name="TestEnum" />,
11
- );
12
-
13
- expect(res).toBe(coretest.d`
14
- namespace TestCode
15
- {
16
- public enum TestEnum;
17
- }
18
- `);
19
- });
20
-
21
- it("declares enum with members", () => {
22
- const res = utils.toSourceText(
23
- <csharp.EnumDeclaration public name="TestEnum">
24
- <csharp.EnumMember name="One" />,<hbr />
25
- <csharp.EnumMember name="Two" />
26
- </csharp.EnumDeclaration>,
27
- );
28
-
29
- expect(res).toBe(coretest.d`
30
- namespace TestCode
31
- {
32
- public enum TestEnum
33
- {
34
- One,
35
- Two
36
- }
37
- }
38
- `);
39
- });
40
-
41
- it("applies naming policy to enum and members", () => {
42
- const res = utils.toSourceText(
43
- <csharp.EnumDeclaration public name="testEnum">
44
- <csharp.EnumMember name="one" />,<hbr />
45
- <csharp.EnumMember name="two" />
46
- </csharp.EnumDeclaration>,
47
- );
48
-
49
- expect(res).toBe(coretest.d`
50
- namespace TestCode
51
- {
52
- public enum TestEnum
53
- {
54
- One,
55
- Two
56
- }
57
- }
58
- `);
59
- });
60
-
61
- it("can reference things by refkey", () => {
62
- const enumRK = core.refkey();
63
- const twoRK = core.refkey();
64
-
65
- const res = core.render(
66
- <core.Output>
67
- <csharp.Namespace name="TestCode">
68
- <csharp.SourceFile path="Test.cs">
69
- <csharp.EnumDeclaration public name="TestEnum" refkey={enumRK}>
70
- <csharp.EnumMember name="One" />,<hbr />
71
- <csharp.EnumMember name="Two" refkey={twoRK} />
72
- </csharp.EnumDeclaration>
73
- <hbr />
74
- {enumRK};<hbr />
75
- {twoRK};
76
- </csharp.SourceFile>
77
- </csharp.Namespace>
78
- </core.Output>,
79
- );
80
-
81
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
82
- namespace TestCode
83
- {
84
- public enum TestEnum
85
- {
86
- One,
87
- Two
88
- }
89
- TestEnum;
90
- TestEnum.Two;
91
- }
92
- `);
93
- });
94
-
95
- it("can reference things by refkey across files", () => {
96
- const enumRK = core.refkey();
97
- const barRK = core.refkey();
98
-
99
- const res = core.render(
100
- <core.Output>
101
- <csharp.Namespace name="TestCode">
102
- <csharp.SourceFile path="Test.cs">
103
- <csharp.EnumDeclaration public name="TestEnum">
104
- <csharp.EnumMember name="One" />,<hbr />
105
- <csharp.EnumMember name="Two" />
106
- </csharp.EnumDeclaration>
107
- <hbr />
108
- {enumRK};<hbr />
109
- {barRK};
110
- </csharp.SourceFile>
111
- <csharp.SourceFile path="Other.cs">
112
- <csharp.EnumDeclaration public name="OtherEnum" refkey={enumRK}>
113
- <csharp.EnumMember name="Foo" />,<hbr />
114
- <csharp.EnumMember name="Bar" refkey={barRK} />
115
- </csharp.EnumDeclaration>
116
- <hbr />
117
- {enumRK};<hbr />
118
- {barRK};
119
- </csharp.SourceFile>
120
- </csharp.Namespace>
121
- </core.Output>,
122
- );
123
-
124
- expect(findFile(res, "Test.cs").contents).toBe(coretest.d`
125
- namespace TestCode
126
- {
127
- public enum TestEnum
128
- {
129
- One,
130
- Two
131
- }
132
- OtherEnum;
133
- OtherEnum.Bar;
134
- }
135
- `);
136
-
137
- expect(findFile(res, "Other.cs").contents).toBe(coretest.d`
138
- namespace TestCode
139
- {
140
- public enum OtherEnum
141
- {
142
- Foo,
143
- Bar
144
- }
145
- OtherEnum;
146
- OtherEnum.Bar;
147
- }
148
- `);
149
- });
@@ -1,55 +0,0 @@
1
- import * as core from "@alloy-js/core";
2
- import * as coretest from "@alloy-js/core/testing";
3
- import { it } from "vitest";
4
- import * as csharp from "../src/index.js";
5
- import { assertFileContents } from "./utils.jsx";
6
-
7
- it("defines multiple namespaces and source files with unique content", () => {
8
- const res = core.render(
9
- <core.Output>
10
- <csharp.Namespace name="Namespace1">
11
- <csharp.SourceFile path="Model1.cs">
12
- <csharp.ClassDeclaration public name="Model1" />
13
- </csharp.SourceFile>
14
- <csharp.SourceFile path="Model2.cs">
15
- <csharp.ClassDeclaration public name="Model2" />
16
- </csharp.SourceFile>
17
- </csharp.Namespace>
18
- <csharp.Namespace name="Namespace2">
19
- <csharp.SourceFile path="Model3.cs">
20
- <csharp.ClassDeclaration public name="Model3" />
21
- </csharp.SourceFile>
22
- <csharp.SourceFile path="Model4.cs">
23
- <csharp.ClassDeclaration public name="Model4" />
24
- </csharp.SourceFile>
25
- </csharp.Namespace>
26
- </core.Output>,
27
- );
28
-
29
- assertFileContents(res, {
30
- "Model1.cs": coretest.d`
31
- namespace Namespace1
32
- {
33
- public class Model1;
34
- }
35
- `,
36
- "Model2.cs": coretest.d`
37
- namespace Namespace1
38
- {
39
- public class Model2;
40
- }
41
- `,
42
- "Model3.cs": coretest.d`
43
- namespace Namespace2
44
- {
45
- public class Model3;
46
- }
47
- `,
48
- "Model4.cs": coretest.d`
49
- namespace Namespace2
50
- {
51
- public class Model4;
52
- }
53
- `,
54
- });
55
- });
@@ -1,47 +0,0 @@
1
- import * as core from "@alloy-js/core";
2
- import * as coretest from "@alloy-js/core/testing";
3
- import { expect, it } from "vitest";
4
- import * as csharp from "../src/index.js";
5
- import { assertFileContents } from "./utils.jsx";
6
-
7
- it("defines multiple source files with unique content", () => {
8
- const res = core.render(
9
- <core.Output>
10
- <csharp.Namespace name="TestCode">
11
- <csharp.SourceFile path="Test1.cs">
12
- <csharp.ClassDeclaration public name="TestClass1" />
13
- </csharp.SourceFile>
14
- <csharp.SourceFile path="Test2.cs">
15
- <csharp.ClassDeclaration public name="TestClass2" />
16
- </csharp.SourceFile>
17
- </csharp.Namespace>
18
- </core.Output>,
19
- );
20
-
21
- assertFileContents(res, {
22
- "Test1.cs": coretest.d`
23
- namespace TestCode
24
- {
25
- public class TestClass1;
26
- }
27
- `,
28
- "Test2.cs": coretest.d`
29
- namespace TestCode
30
- {
31
- public class TestClass2;
32
- }
33
- `,
34
- });
35
- });
36
-
37
- it("throws when declaring a source file outside a namespace", () => {
38
- const decl = (
39
- <core.Output>
40
- <csharp.SourceFile path="Test.cs" />
41
- </core.Output>
42
- );
43
-
44
- expect(() => core.render(decl)).toThrow(
45
- "SourceFile must be declared inside a namespace",
46
- );
47
- });