@alloy-js/csharp 0.20.0-dev.3 → 0.20.0-dev.5

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 (346) 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/SourceFile.d.ts +8 -9
  13. package/dist/src/components/SourceFile.d.ts.map +1 -1
  14. package/dist/src/components/SourceFile.js +71 -46
  15. package/dist/src/components/SourceFile.js.map +1 -0
  16. package/dist/src/components/UsingDirective.d.ts +5 -1
  17. package/dist/src/components/UsingDirective.d.ts.map +1 -1
  18. package/dist/src/components/UsingDirective.js +5 -2
  19. package/dist/src/components/UsingDirective.js.map +1 -0
  20. package/dist/src/components/attributes/attributes.js +2 -1
  21. package/dist/src/components/attributes/attributes.js.map +1 -0
  22. package/dist/src/components/attributes/attributes.test.js +2 -1
  23. package/dist/src/components/attributes/attributes.test.js.map +1 -0
  24. package/dist/src/components/class/declaration.d.ts +2 -2
  25. package/dist/src/components/class/declaration.d.ts.map +1 -1
  26. package/dist/src/components/class/declaration.js +20 -33
  27. package/dist/src/components/class/declaration.js.map +1 -0
  28. package/dist/src/components/class/declaration.test.js +173 -194
  29. package/dist/src/components/class/declaration.test.js.map +1 -0
  30. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  31. package/dist/src/components/constructor/constructor.js +13 -17
  32. package/dist/src/components/constructor/constructor.js.map +1 -0
  33. package/dist/src/components/constructor/constructor.test.js +12 -20
  34. package/dist/src/components/constructor/constructor.test.js.map +1 -0
  35. package/dist/src/components/doc/comment.js +2 -1
  36. package/dist/src/components/doc/comment.js.map +1 -0
  37. package/dist/src/components/doc/comment.test.js +2 -1
  38. package/dist/src/components/doc/comment.test.js.map +1 -0
  39. package/dist/src/components/doc/from-markdown.js +2 -1
  40. package/dist/src/components/doc/from-markdown.js.map +1 -0
  41. package/dist/src/components/doc/from-markdown.test.js +2 -1
  42. package/dist/src/components/doc/from-markdown.test.js.map +1 -0
  43. package/dist/src/components/{EnumDeclaration.d.ts → enum/declaration.d.ts} +6 -11
  44. package/dist/src/components/enum/declaration.d.ts.map +1 -0
  45. package/dist/src/components/enum/declaration.js +55 -0
  46. package/dist/src/components/enum/declaration.js.map +1 -0
  47. package/dist/src/components/enum/declaration.ref.test.d.ts +2 -0
  48. package/dist/src/components/enum/declaration.ref.test.d.ts.map +1 -0
  49. package/dist/src/components/enum/declaration.ref.test.js +121 -0
  50. package/dist/src/components/enum/declaration.ref.test.js.map +1 -0
  51. package/dist/src/components/enum/declaration.test.d.ts +2 -0
  52. package/dist/src/components/enum/declaration.test.d.ts.map +1 -0
  53. package/dist/src/components/enum/declaration.test.js +40 -0
  54. package/dist/src/components/enum/declaration.test.js.map +1 -0
  55. package/dist/src/components/enum/member.d.ts +7 -0
  56. package/dist/src/components/enum/member.d.ts.map +1 -0
  57. package/dist/src/components/enum/member.js +30 -0
  58. package/dist/src/components/enum/member.js.map +1 -0
  59. package/dist/src/components/enum/member.test.d.ts +2 -0
  60. package/dist/src/components/enum/member.test.d.ts.map +1 -0
  61. package/dist/src/components/enum/member.test.js +29 -0
  62. package/dist/src/components/enum/member.test.js.map +1 -0
  63. package/dist/src/components/field/field.d.ts.map +1 -1
  64. package/dist/src/components/field/field.js +11 -15
  65. package/dist/src/components/field/field.js.map +1 -0
  66. package/dist/src/components/field/field.test.js +9 -8
  67. package/dist/src/components/field/field.test.js.map +1 -0
  68. package/dist/src/components/index.d.ts +5 -2
  69. package/dist/src/components/index.d.ts.map +1 -1
  70. package/dist/src/components/index.js +7 -3
  71. package/dist/src/components/index.js.map +1 -0
  72. package/dist/src/components/interface/declaration.d.ts.map +1 -1
  73. package/dist/src/components/interface/declaration.js +21 -22
  74. package/dist/src/components/interface/declaration.js.map +1 -0
  75. package/dist/src/components/interface/declaration.test.js +28 -36
  76. package/dist/src/components/interface/declaration.test.js.map +1 -0
  77. package/dist/src/components/interface/method.d.ts.map +1 -1
  78. package/dist/src/components/interface/method.js +9 -16
  79. package/dist/src/components/interface/method.js.map +1 -0
  80. package/dist/src/components/interface/method.test.js +40 -48
  81. package/dist/src/components/interface/method.test.js.map +1 -0
  82. package/dist/src/components/interface/property.d.ts.map +1 -1
  83. package/dist/src/components/interface/property.js +23 -37
  84. package/dist/src/components/interface/property.js.map +1 -0
  85. package/dist/src/components/interface/property.test.js +13 -12
  86. package/dist/src/components/interface/property.test.js.map +1 -0
  87. package/dist/src/components/lexical-scope.d.ts +8 -0
  88. package/dist/src/components/lexical-scope.d.ts.map +1 -0
  89. package/dist/src/components/lexical-scope.js +25 -0
  90. package/dist/src/components/lexical-scope.js.map +1 -0
  91. package/dist/src/components/method/method.d.ts +5 -2
  92. package/dist/src/components/method/method.d.ts.map +1 -1
  93. package/dist/src/components/method/method.js +9 -14
  94. package/dist/src/components/method/method.js.map +1 -0
  95. package/dist/src/components/method/method.test.js +13 -12
  96. package/dist/src/components/method/method.test.js.map +1 -0
  97. package/dist/src/components/method-scope.d.ts +8 -0
  98. package/dist/src/components/method-scope.d.ts.map +1 -0
  99. package/dist/src/components/method-scope.js +25 -0
  100. package/dist/src/components/method-scope.js.map +1 -0
  101. package/dist/src/components/namespace-scopes.d.ts +13 -0
  102. package/dist/src/components/namespace-scopes.d.ts.map +1 -0
  103. package/dist/src/components/namespace-scopes.js +45 -0
  104. package/dist/src/components/namespace-scopes.js.map +1 -0
  105. package/dist/src/components/namespace.d.ts +7 -0
  106. package/dist/src/components/namespace.d.ts.map +1 -0
  107. package/dist/src/components/namespace.js +47 -0
  108. package/dist/src/components/namespace.js.map +1 -0
  109. package/dist/src/components/namespace.ref.test.d.ts +2 -0
  110. package/dist/src/components/namespace.ref.test.d.ts.map +1 -0
  111. package/dist/src/components/namespace.ref.test.js +182 -0
  112. package/dist/src/components/namespace.ref.test.js.map +1 -0
  113. package/dist/src/components/namespace.test.d.ts.map +1 -0
  114. package/dist/src/components/namespace.test.js +79 -0
  115. package/dist/src/components/namespace.test.js.map +1 -0
  116. package/dist/src/components/parameters/parameters.d.ts +2 -2
  117. package/dist/src/components/parameters/parameters.d.ts.map +1 -1
  118. package/dist/src/components/parameters/parameters.js +14 -12
  119. package/dist/src/components/parameters/parameters.js.map +1 -0
  120. package/dist/src/components/parameters/parameters.test.d.ts +2 -0
  121. package/dist/src/components/parameters/parameters.test.d.ts.map +1 -0
  122. package/dist/src/components/parameters/parameters.test.js +88 -0
  123. package/dist/src/components/parameters/parameters.test.js.map +1 -0
  124. package/dist/src/components/property/property.d.ts.map +1 -1
  125. package/dist/src/components/property/property.js +23 -37
  126. package/dist/src/components/property/property.js.map +1 -0
  127. package/dist/src/components/property/property.test.js +16 -15
  128. package/dist/src/components/property/property.test.js.map +1 -0
  129. package/dist/src/components/record/declaration.d.ts.map +1 -1
  130. package/dist/src/components/record/declaration.js +10 -13
  131. package/dist/src/components/record/declaration.js.map +1 -0
  132. package/dist/src/components/record/declaration.test.js +8 -14
  133. package/dist/src/components/record/declaration.test.js.map +1 -0
  134. package/dist/src/components/stc/index.js +2 -1
  135. package/dist/src/components/stc/index.js.map +1 -0
  136. package/dist/src/components/struct/declaration.d.ts.map +1 -1
  137. package/dist/src/components/struct/declaration.js +6 -7
  138. package/dist/src/components/struct/declaration.js.map +1 -0
  139. package/dist/src/components/struct/declaration.test.js +32 -40
  140. package/dist/src/components/struct/declaration.test.js.map +1 -0
  141. package/dist/src/components/type-parameters/type-parameter-constraints.js +2 -1
  142. package/dist/src/components/type-parameters/type-parameter-constraints.js.map +1 -0
  143. package/dist/src/components/type-parameters/type-parameter-constraints.test.js +2 -1
  144. package/dist/src/components/type-parameters/type-parameter-constraints.test.js.map +1 -0
  145. package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -1
  146. package/dist/src/components/type-parameters/type-parameter.js +9 -11
  147. package/dist/src/components/type-parameters/type-parameter.js.map +1 -0
  148. package/dist/src/components/type-parameters/type-parameters.js +2 -1
  149. package/dist/src/components/type-parameters/type-parameters.js.map +1 -0
  150. package/dist/src/components/type-parameters/type-parameters.test.js +5 -4
  151. package/dist/src/components/type-parameters/type-parameters.test.js.map +1 -0
  152. package/dist/src/components/var/declaration.d.ts.map +1 -1
  153. package/dist/src/components/var/declaration.js +8 -9
  154. package/dist/src/components/var/declaration.js.map +1 -0
  155. package/dist/src/components/var/declaration.test.js +13 -21
  156. package/dist/src/components/var/declaration.test.js.map +1 -0
  157. package/dist/src/contexts/global-namespace.d.ts +5 -0
  158. package/dist/src/contexts/global-namespace.d.ts.map +1 -0
  159. package/dist/src/contexts/global-namespace.js +25 -0
  160. package/dist/src/contexts/global-namespace.js.map +1 -0
  161. package/dist/src/contexts/namespace.d.ts +8 -0
  162. package/dist/src/contexts/namespace.d.ts.map +1 -0
  163. package/dist/src/contexts/namespace.js +6 -0
  164. package/dist/src/contexts/namespace.js.map +1 -0
  165. package/dist/src/index.d.ts +1 -0
  166. package/dist/src/index.d.ts.map +1 -1
  167. package/dist/src/index.js +3 -1
  168. package/dist/src/index.js.map +1 -0
  169. package/dist/src/modifiers.d.ts +11 -0
  170. package/dist/src/modifiers.d.ts.map +1 -1
  171. package/dist/src/modifiers.js +2 -1
  172. package/dist/src/modifiers.js.map +1 -0
  173. package/dist/src/name-policy.js +2 -1
  174. package/dist/src/name-policy.js.map +1 -0
  175. package/dist/src/scopes/class.d.ts +10 -0
  176. package/dist/src/scopes/class.d.ts.map +1 -0
  177. package/dist/src/scopes/class.js +11 -0
  178. package/dist/src/scopes/class.js.map +1 -0
  179. package/dist/src/scopes/contexts.d.ts +9 -0
  180. package/dist/src/scopes/contexts.d.ts.map +1 -0
  181. package/dist/src/scopes/contexts.js +34 -0
  182. package/dist/src/scopes/contexts.js.map +1 -0
  183. package/dist/src/scopes/csharp.d.ts +8 -0
  184. package/dist/src/scopes/csharp.d.ts.map +1 -0
  185. package/dist/src/scopes/csharp.js +12 -0
  186. package/dist/src/scopes/csharp.js.map +1 -0
  187. package/dist/src/scopes/factories.d.ts +9 -0
  188. package/dist/src/scopes/factories.d.ts.map +1 -0
  189. package/dist/src/scopes/factories.js +24 -0
  190. package/dist/src/scopes/factories.js.map +1 -0
  191. package/dist/src/scopes/index.d.ts +10 -0
  192. package/dist/src/scopes/index.d.ts.map +1 -0
  193. package/dist/src/scopes/index.js +10 -0
  194. package/dist/src/scopes/index.js.map +1 -0
  195. package/dist/src/scopes/lexical.d.ts +7 -0
  196. package/dist/src/scopes/lexical.d.ts.map +1 -0
  197. package/dist/src/scopes/lexical.js +8 -0
  198. package/dist/src/scopes/lexical.js.map +1 -0
  199. package/dist/src/scopes/method.d.ts +9 -0
  200. package/dist/src/scopes/method.d.ts.map +1 -0
  201. package/dist/src/scopes/method.js +14 -0
  202. package/dist/src/scopes/method.js.map +1 -0
  203. package/dist/src/scopes/named-type.d.ts +22 -0
  204. package/dist/src/scopes/named-type.d.ts.map +1 -0
  205. package/dist/src/scopes/named-type.js +33 -0
  206. package/dist/src/scopes/named-type.js.map +1 -0
  207. package/dist/src/scopes/namespace.d.ts +11 -0
  208. package/dist/src/scopes/namespace.d.ts.map +1 -0
  209. package/dist/src/scopes/namespace.js +39 -0
  210. package/dist/src/scopes/namespace.js.map +1 -0
  211. package/dist/src/scopes/source-file.d.ts +16 -0
  212. package/dist/src/scopes/source-file.d.ts.map +1 -0
  213. package/dist/src/scopes/source-file.js +44 -0
  214. package/dist/src/scopes/source-file.js.map +1 -0
  215. package/dist/src/symbols/csharp.d.ts +76 -0
  216. package/dist/src/symbols/csharp.d.ts.map +1 -0
  217. package/dist/src/symbols/csharp.js +223 -0
  218. package/dist/src/symbols/csharp.js.map +1 -0
  219. package/dist/src/symbols/factories.d.ts +25 -0
  220. package/dist/src/symbols/factories.d.ts.map +1 -0
  221. package/dist/src/symbols/factories.js +87 -0
  222. package/dist/src/symbols/factories.js.map +1 -0
  223. package/dist/src/symbols/index.d.ts +5 -2
  224. package/dist/src/symbols/index.d.ts.map +1 -1
  225. package/dist/src/symbols/index.js +6 -2
  226. package/dist/src/symbols/index.js.map +1 -0
  227. package/dist/src/symbols/method.d.ts +13 -0
  228. package/dist/src/symbols/method.d.ts.map +1 -0
  229. package/dist/src/symbols/method.js +16 -0
  230. package/dist/src/symbols/method.js.map +1 -0
  231. package/dist/src/symbols/named-type.d.ts +19 -0
  232. package/dist/src/symbols/named-type.d.ts.map +1 -0
  233. package/dist/src/symbols/named-type.js +31 -0
  234. package/dist/src/symbols/named-type.js.map +1 -0
  235. package/dist/src/symbols/namespace.d.ts +22 -0
  236. package/dist/src/symbols/namespace.d.ts.map +1 -0
  237. package/dist/src/symbols/namespace.js +45 -0
  238. package/dist/src/symbols/namespace.js.map +1 -0
  239. package/dist/src/symbols/reference.d.ts +2 -2
  240. package/dist/src/symbols/reference.d.ts.map +1 -1
  241. package/dist/src/symbols/reference.js +38 -44
  242. package/dist/src/symbols/reference.js.map +1 -0
  243. package/dist/test/project-directory.test.js +14 -17
  244. package/dist/test/project-directory.test.js.map +1 -0
  245. package/dist/test/sourcefile.test.js +8 -19
  246. package/dist/test/sourcefile.test.js.map +1 -0
  247. package/dist/test/using.test.js +20 -17
  248. package/dist/test/using.test.js.map +1 -0
  249. package/dist/test/utils.js +4 -3
  250. package/dist/test/utils.js.map +1 -0
  251. package/dist/test/vitest.setup.js +2 -1
  252. package/dist/test/vitest.setup.js.map +1 -0
  253. package/dist/tsconfig.tsbuildinfo +1 -1
  254. package/package.json +9 -3
  255. package/src/components/Declaration.tsx +3 -6
  256. package/src/components/Reference.tsx +3 -1
  257. package/src/components/SourceFile.tsx +68 -55
  258. package/src/components/UsingDirective.tsx +12 -2
  259. package/src/components/class/declaration.test.tsx +120 -143
  260. package/src/components/class/declaration.tsx +19 -32
  261. package/src/components/constructor/constructor.test.tsx +10 -16
  262. package/src/components/constructor/constructor.tsx +13 -27
  263. package/src/components/enum/declaration.ref.test.tsx +93 -0
  264. package/src/components/enum/declaration.test.tsx +34 -0
  265. package/src/components/enum/declaration.tsx +65 -0
  266. package/src/components/enum/member.test.tsx +24 -0
  267. package/src/components/enum/member.tsx +36 -0
  268. package/src/components/field/field.test.tsx +7 -7
  269. package/src/components/field/field.tsx +12 -14
  270. package/src/components/index.ts +5 -2
  271. package/src/components/interface/declaration.test.tsx +26 -32
  272. package/src/components/interface/declaration.tsx +16 -18
  273. package/src/components/interface/method.test.tsx +38 -44
  274. package/src/components/interface/method.tsx +7 -19
  275. package/src/components/interface/property.test.tsx +11 -11
  276. package/src/components/interface/property.tsx +15 -33
  277. package/src/components/lexical-scope.tsx +29 -0
  278. package/src/components/method/method.test.tsx +11 -11
  279. package/src/components/method/method.tsx +12 -18
  280. package/src/components/method-scope.tsx +27 -0
  281. package/src/components/namespace-scopes.tsx +44 -0
  282. package/src/components/namespace.ref.test.tsx +139 -0
  283. package/src/components/namespace.test.tsx +52 -0
  284. package/src/components/namespace.tsx +45 -0
  285. package/src/components/parameters/parameters.test.tsx +71 -0
  286. package/src/components/parameters/parameters.tsx +9 -16
  287. package/src/components/property/property.test.tsx +14 -14
  288. package/src/components/property/property.tsx +17 -38
  289. package/src/components/record/declaration.test.tsx +5 -12
  290. package/src/components/record/declaration.tsx +10 -11
  291. package/src/components/struct/declaration.test.tsx +16 -22
  292. package/src/components/struct/declaration.tsx +4 -6
  293. package/src/components/type-parameters/type-parameter.tsx +14 -11
  294. package/src/components/type-parameters/type-parameters.test.tsx +4 -4
  295. package/src/components/var/declaration.test.tsx +8 -14
  296. package/src/components/var/declaration.tsx +12 -6
  297. package/src/contexts/global-namespace.ts +29 -0
  298. package/src/contexts/namespace.ts +13 -0
  299. package/src/index.ts +1 -0
  300. package/src/modifiers.ts +14 -0
  301. package/src/scopes/class.ts +12 -0
  302. package/src/scopes/contexts.ts +45 -0
  303. package/src/scopes/csharp.ts +18 -0
  304. package/src/scopes/factories.ts +45 -0
  305. package/src/scopes/index.ts +9 -0
  306. package/src/scopes/lexical.ts +10 -0
  307. package/src/scopes/method.ts +22 -0
  308. package/src/scopes/named-type.ts +44 -0
  309. package/src/scopes/namespace.ts +59 -0
  310. package/src/scopes/source-file.ts +67 -0
  311. package/src/symbols/csharp.ts +307 -0
  312. package/src/symbols/factories.ts +199 -0
  313. package/src/symbols/index.ts +5 -2
  314. package/src/symbols/method.ts +26 -0
  315. package/src/symbols/named-type.ts +54 -0
  316. package/src/symbols/namespace.ts +62 -0
  317. package/src/symbols/reference.ts +47 -50
  318. package/temp/api.json +6251 -2454
  319. package/test/project-directory.test.tsx +12 -16
  320. package/test/sourcefile.test.tsx +7 -21
  321. package/test/using.test.tsx +18 -16
  322. package/test/utils.tsx +1 -1
  323. package/tsconfig.json +4 -1
  324. package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
  325. package/dist/src/components/EnumDeclaration.js +0 -82
  326. package/dist/src/components/Namespace.d.ts +0 -11
  327. package/dist/src/components/Namespace.d.ts.map +0 -1
  328. package/dist/src/components/Namespace.js +0 -33
  329. package/dist/src/symbols/csharp-output-symbol.d.ts +0 -8
  330. package/dist/src/symbols/csharp-output-symbol.d.ts.map +0 -1
  331. package/dist/src/symbols/csharp-output-symbol.js +0 -19
  332. package/dist/src/symbols/scopes.d.ts +0 -20
  333. package/dist/src/symbols/scopes.d.ts.map +0 -1
  334. package/dist/src/symbols/scopes.js +0 -42
  335. package/dist/test/enum.test.d.ts +0 -2
  336. package/dist/test/enum.test.d.ts.map +0 -1
  337. package/dist/test/enum.test.js +0 -178
  338. package/dist/test/namespace.test.d.ts.map +0 -1
  339. package/dist/test/namespace.test.js +0 -81
  340. package/src/components/EnumDeclaration.tsx +0 -98
  341. package/src/components/Namespace.tsx +0 -35
  342. package/src/symbols/csharp-output-symbol.ts +0 -22
  343. package/src/symbols/scopes.ts +0 -61
  344. package/test/enum.test.tsx +0 -149
  345. package/test/namespace.test.tsx +0 -55
  346. /package/dist/{test → src/components}/namespace.test.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import * as core from "@alloy-js/core";
2
2
  export interface DeclarationProps {
3
3
  name: string;
4
- refkey?: core.Refkey;
4
+ refkey?: core.Refkey | core.Refkey[];
5
5
  children?: core.Children;
6
6
  }
7
- export declare function Declaration(props: DeclarationProps): core.Children;
7
+ export declare function Declaration(props: DeclarationProps): void;
8
8
  //# sourceMappingURL=Declaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Declaration.d.ts","sourceRoot":"","sources":["../../../src/components/Declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAIvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,iBAMlD"}
1
+ {"version":3,"file":"Declaration.d.ts","sourceRoot":"","sources":["../../../src/components/Declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAGvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,QAIlD"}
@@ -1,18 +1,9 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import * as core from "@alloy-js/core";
3
- import { CSharpOutputSymbol } from "../symbols/csharp-output-symbol.js";
4
-
5
1
  // properties for creating a declaration
6
2
 
7
3
  // declares a symbol in the program (class, enum, interface etc)
8
4
  export function Declaration(props) {
9
- const sym = new CSharpOutputSymbol(props.name, {
10
- refkeys: props.refkey
11
- });
12
- return _$createComponent(core.Declaration, {
13
- symbol: sym,
14
- get children() {
15
- return props.children;
16
- }
17
- });
18
- }
5
+ throw new Error("Not supported");
6
+
7
+ //return <core.Declaration symbol={sym}>{props.children}</core.Declaration>;
8
+ }
9
+ //# sourceMappingURL=Declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Declaration","props","Error"],"sources":["../../../src/components/Declaration.tsx"],"sourcesContent":[null],"mappings":"AAEA;;AAOA;AACA,OAAO,SAASA,WAAWA,CAACC,KAAuB,EAAE;EACnD,MAAM,IAAIC,KAAK,CAAC,eAAe,CAAC;;EAEhC;AACF","ignoreList":[]}
@@ -8,4 +8,5 @@ export function Name() {
8
8
  throw new Error("missing declaration context");
9
9
  }
10
10
  return [_$memo(() => declSymbol.name)];
11
- }
11
+ }
12
+ //# sourceMappingURL=Name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["core","Name","declSymbol","useContext","DeclarationContext","Error","_$memo","name"],"sources":["../../../src/components/Name.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;;AAEtC;AACA,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,MAAMC,UAAU,GAAGF,IAAI,CAACG,UAAU,CAACH,IAAI,CAACI,kBAAkB,CAAC;EAC3D,IAAI,CAACF,UAAU,EAAE;IACf,MAAM,IAAIG,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,QAAAC,MAAA,OAAUJ,UAAU,CAACK,IAAI;AAC3B","ignoreList":[]}
@@ -43,4 +43,5 @@ export function ProjectDirectory(props) {
43
43
  })];
44
44
  }
45
45
  });
46
- }
46
+ }
47
+ //# sourceMappingURL=ProjectDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["core","join","ProjectDirectory","props","srcDir","targetFrameworkMoniker","_$createComponent","SourceDirectory","path","name","children","SourceFile","filetype","code","version","description"],"sources":["../../../src/components/ProjectDirectory.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,SAASC,IAAI,QAAQ,OAAO;;AAE5B;;AAwBA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE;IACjBD,KAAK,CAACC,MAAM,GAAG,KAAK;EACtB;EAEA,IAAI,CAACD,KAAK,CAACE,sBAAsB,EAAE;IACjCF,KAAK,CAACE,sBAAsB,GAAG,QAAQ;EACzC;EAEA,OAAAC,iBAAA,CACGN,IAAI,CAACO,eAAe;IAAA,IAACC,IAAIA,CAAA;MAAA,OAAEP,IAAI,CAACE,KAAK,CAACK,IAAI,EAAEL,KAAK,CAACM,IAAI,CAAC;IAAA;IAAA,IAAAC,SAAA;MAAA,QAAAJ,iBAAA,CACrDN,IAAI,CAACW,UAAU;QAAA,IAACH,IAAIA,CAAA;UAAA,OAAEL,KAAK,CAACM,IAAI,GAAG,SAAS;QAAA;QAAEG,QAAQ;QAAA,IAAAF,SAAA;UAAA,OACpDV,IAAI,CAACa,IAAI;AAClB;AACA;AACA,uBAAuBV,KAAK,CAACW,OAAO;AACpC,2BAA2BX,KAAK,CAACY,WAAW;AAC5C,+BAA+BZ,KAAK,CAACE,sBAAsB;AAC3D;AACA;AACA,OAAO;QAAA;MAAA,IAAAC,iBAAA,CAEAN,IAAI,CAACO,eAAe;QAAA,IAACC,IAAIA,CAAA;UAAA,OAAEL,KAAK,CAACC,MAAM;QAAA;QAAA,IAAAM,SAAA;UAAA,OACrCP,KAAK,CAACO,QAAQ;QAAA;MAAA;IAAA;EAAA;AAIvB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAGvC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB;AAGD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,iBAInD"}
1
+ {"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../../../src/components/Reference.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAGvC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB;AAGD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,iBAMnD"}
@@ -1,8 +1,13 @@
1
+ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
+ import * as core from "@alloy-js/core";
1
3
  import { ref } from "../symbols/reference.js";
2
4
  // used to resolve refkey references within source files
3
5
  export function Reference({
4
6
  refkey
5
7
  }) {
6
8
  const reference = ref(refkey);
7
- return [reference];
8
- }
9
+ const symbolRef = core.computed(() => reference()[1]);
10
+ core.emitSymbol(symbolRef);
11
+ return [_$memo(() => reference()[0])];
12
+ }
13
+ //# sourceMappingURL=Reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["core","ref","Reference","refkey","reference","symbolRef","computed","emitSymbol","_$memo"],"sources":["../../../src/components/Reference.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,SAASC,GAAG,QAAQ,yBAAyB;AAM7C;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC;AAAuB,CAAC,EAAE;EACpD,MAAMC,SAAS,GAAGH,GAAG,CAACE,MAAM,CAAC;EAC7B,MAAME,SAAS,GAAGL,IAAI,CAACM,QAAQ,CAAC,MAAMF,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAErDJ,IAAI,CAACO,UAAU,CAACF,SAAS,CAAC;EAC1B,QAAAG,MAAA,OAAUJ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -1,14 +1,13 @@
1
- import * as core from "@alloy-js/core";
2
- export interface SourceFileContext {
3
- addUsing(namespace: string): void;
4
- }
5
- export declare function useSourceFile(): SourceFileContext | undefined;
1
+ import { Children } from "@alloy-js/core";
6
2
  export interface SourceFileProps {
7
3
  /** Path of the source file */
8
4
  path: string;
9
- /** A list of namespaces to use */
10
- using?: Array<string>;
11
- children?: core.Children;
5
+ children?: Children;
6
+ /**
7
+ * A list of using directives to explicitly include. Note that providing
8
+ * explicit usings is not necessary when referencing symbols via refkeys.
9
+ */
10
+ using?: string[];
12
11
  }
13
- export declare function SourceFile(props: SourceFileProps): core.Children;
12
+ export declare function SourceFile(props: SourceFileProps): Children;
14
13
  //# sourceMappingURL=SourceFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAMvC,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAKD,wBAAgB,aAAa,IAAI,iBAAiB,GAAG,SAAS,CAE7D;AAED,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,iBA+ChD"}
1
+ {"version":3,"file":"SourceFile.d.ts","sourceRoot":"","sources":["../../../src/components/SourceFile.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AASxB,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA2DhD"}
@@ -1,40 +1,23 @@
1
- import { memo as _$memo, createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import * as core from "@alloy-js/core";
3
- import { useNamespace } from "./Namespace.js";
1
+ import { memo as _$memo, createIntrinsic as _$createIntrinsic, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { computed, SourceFile as CoreSourceFile, Scope, Show, useBinder } from "@alloy-js/core";
3
+ import { getGlobalNamespace } from "../contexts/global-namespace.js";
4
+ import { useNamespaceContext } from "../contexts/namespace.js";
5
+ import { CSharpSourceFileScope } from "../scopes/source-file.js";
6
+ import { NamespaceScope, NamespaceScopes } from "./namespace-scopes.js";
4
7
  import { Reference } from "./Reference.js";
5
8
  import { UsingDirective } from "./UsingDirective.js";
6
-
7
- // contains the info for the current source file
8
-
9
- const SourceFileContext = core.createContext();
10
-
11
- // returns the current source file
12
- export function useSourceFile() {
13
- return core.useContext(SourceFileContext);
14
- }
15
9
  // a C# source file. exists within the context of a namespace
16
10
  // contains using statements and declarations
17
11
  export function SourceFile(props) {
18
- const namespaceCtx = useNamespace();
19
- if (!namespaceCtx) {
20
- throw new Error("SourceFile must be declared inside a namespace");
21
- }
22
- const using = core.reactive(new Array());
23
- if (props.using) {
24
- using.push(...props.using);
25
- }
26
-
27
- // adds the specified namespace to the array of using statements.
28
- // called via SourceFileContext.addUsing when resolving refkeys.
29
- function addUsing(namespace) {
30
- if (!using.includes(namespace)) {
31
- using.push(namespace);
32
- }
33
- }
34
- const sourceFileCtx = {
35
- addUsing
36
- };
37
- return _$createComponent(core.SourceFile, {
12
+ const sourceFileScope = new CSharpSourceFileScope(props.path);
13
+ const nsContext = useNamespaceContext();
14
+ const globalNs = getGlobalNamespace(useBinder());
15
+ const nsSymbol = nsContext ? nsContext.symbol : globalNs;
16
+ const nsRef = nsContext ? nsContext.symbol.name : undefined;
17
+ const usings = computed(() => {
18
+ return Array.from(sourceFileScope.usings).concat(props.using ?? []);
19
+ });
20
+ return _$createComponent(CoreSourceFile, {
38
21
  get path() {
39
22
  return props.path;
40
23
  },
@@ -43,27 +26,69 @@ export function SourceFile(props) {
43
26
  tabWidth: 4,
44
27
  printWidth: 120,
45
28
  get children() {
46
- return _$createComponent(SourceFileContext.Provider, {
47
- value: sourceFileCtx,
29
+ return _$createComponent(Scope, {
30
+ value: sourceFileScope,
48
31
  get children() {
49
- return _$createComponent(core.Scope, {
50
- get name() {
51
- return props.path;
52
- },
53
- kind: "source-file",
32
+ return [_$memo(() => _$memo(() => !!(sourceFileScope.usings.size > 0 || props.using && props.using.length > 0))() && [_$createComponent(UsingDirective, {
33
+ get namespaces() {
34
+ return usings.value;
35
+ }
36
+ }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), _$createComponent(Show, {
37
+ when: !!nsContext && nsSymbol !== globalNs,
54
38
  get children() {
55
- return [_$memo(() => _$memo(() => using.length > 0)() && [_$createComponent(UsingDirective, {
56
- namespaces: using
57
- }), _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})]), "namespace ", _$memo(() => namespaceCtx.name), _$createComponent(core.Block, {
58
- newline: true,
39
+ return [_$createComponent(Show, {
40
+ get when() {
41
+ return sourceFileScope.hasBlockNamespace;
42
+ },
59
43
  get children() {
60
- return props.children;
44
+ return ["namespace ", nsRef, " {", _$createIntrinsic("hbr", {}), " "];
45
+ }
46
+ }), _$createComponent(Show, {
47
+ get when() {
48
+ return !sourceFileScope.hasBlockNamespace;
49
+ },
50
+ get children() {
51
+ return ["namespace ", nsRef, ";", _$createIntrinsic("hbr", {}), _$createIntrinsic("hbr", {})];
52
+ }
53
+ }), _$createIntrinsic("align", {
54
+ get width() {
55
+ return sourceFileScope.hasBlockNamespace ? 4 : 0;
56
+ },
57
+ get children() {
58
+ return _$createComponent(NamespaceScopes, {
59
+ get symbol() {
60
+ return nsContext.symbol;
61
+ },
62
+ get children() {
63
+ return props.children;
64
+ }
65
+ });
66
+ }
67
+ }), _$createComponent(Show, {
68
+ get when() {
69
+ return sourceFileScope.hasBlockNamespace;
70
+ },
71
+ get children() {
72
+ return [_$createIntrinsic("hbr", {}), "}"];
61
73
  }
62
74
  })];
63
75
  }
64
- });
76
+ }), _$createComponent(Show, {
77
+ when: !nsContext || nsSymbol === globalNs,
78
+ get children() {
79
+ return _$createComponent(NamespaceScope, {
80
+ get symbol() {
81
+ return getGlobalNamespace(useBinder());
82
+ },
83
+ get children() {
84
+ return props.children;
85
+ }
86
+ });
87
+ }
88
+ })];
65
89
  }
66
90
  });
67
91
  }
68
92
  });
69
- }
93
+ }
94
+ //# sourceMappingURL=SourceFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computed","SourceFile","CoreSourceFile","Scope","Show","useBinder","getGlobalNamespace","useNamespaceContext","CSharpSourceFileScope","NamespaceScope","NamespaceScopes","Reference","UsingDirective","props","sourceFileScope","path","nsContext","globalNs","nsSymbol","symbol","nsRef","name","undefined","usings","Array","from","concat","using","_$createComponent","filetype","reference","tabWidth","printWidth","children","value","_$memo","size","length","namespaces","_$createIntrinsic","when","hasBlockNamespace","width"],"sources":["../../../src/components/SourceFile.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,10 @@
1
1
  import * as core from "@alloy-js/core";
2
+ import { NamespaceSymbol } from "../symbols/namespace.js";
2
3
  export interface UsingDirectiveProps {
3
- namespaces: Array<string>;
4
+ /**
5
+ * Namespace symbols or namespace names to use to generate using statements.
6
+ */
7
+ namespaces?: (NamespaceSymbol | string)[];
4
8
  }
5
9
  export declare function UsingDirective(props: UsingDirectiveProps): core.Children;
6
10
  //# sourceMappingURL=UsingDirective.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UsingDirective.d.ts","sourceRoot":"","sources":["../../../src/components/UsingDirective.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC3B;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,iBAUxD"}
1
+ {"version":3,"file":"UsingDirective.d.ts","sourceRoot":"","sources":["../../../src/components/UsingDirective.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3C;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,iBAgBxD"}
@@ -3,10 +3,13 @@ import * as core from "@alloy-js/core";
3
3
  // one ore more C# using directives
4
4
  export function UsingDirective(props) {
5
5
  const sortedNamespaces = core.computed(() => {
6
- return props.namespaces.sort();
6
+ return props.namespaces.map(ns => typeof ns === "string" ? ns : ns.getFullyQualifiedName({
7
+ omitGlobal: true
8
+ })).sort((n1, n2) => n1.localeCompare(n2));
7
9
  });
8
10
  return _$createComponent(core.For, {
9
11
  each: sortedNamespaces,
10
12
  children: namespace => `using ${namespace};`
11
13
  });
12
- }
14
+ }
15
+ //# sourceMappingURL=UsingDirective.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["core","UsingDirective","props","sortedNamespaces","computed","namespaces","map","ns","getFullyQualifiedName","omitGlobal","sort","n1","n2","localeCompare","_$createComponent","For","each","children","namespace"],"sources":["../../../src/components/UsingDirective.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AAUtC;AACA,OAAO,SAASC,cAAcA,CAACC,KAA0B,EAAE;EACzD,MAAMC,gBAAgB,GAAGH,IAAI,CAACI,QAAQ,CAAC,MAAM;IAC3C,OAAOF,KAAK,CACTG,UAAU,CAAEC,GAAG,CAAEC,EAAE,IAClB,OAAOA,EAAE,KAAK,QAAQ,GAAGA,EAAE,GACzBA,EAAE,CAACC,qBAAqB,CAAC;MAAEC,UAAU,EAAE;IAAK,CAAC,CAEjD,CAAC,CACAC,IAAI,CAAC,CAACC,EAAE,EAAEC,EAAE,KAAKD,EAAE,CAACE,aAAa,CAACD,EAAE,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,OAAAE,iBAAA,CACGd,IAAI,CAACe,GAAG;IAACC,IAAI,EAAEb,gBAAgB;IAAAc,QAAA,EAC5BC,SAAS,IAAK,SAASA,SAAS;EAAG;AAG3C","ignoreList":[]}
@@ -59,4 +59,5 @@ export const Attribute = taggedComponent(AttributeTag, props => {
59
59
  }), ")"]), "]"];
60
60
  }
61
61
  });
62
- });
62
+ });
63
+ //# sourceMappingURL=attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["findKeyedChildren","For","Indent","taggedComponent","AttributeList","props","attributes","children","Attribute","tag","_$createComponent","each","line","arg","renderAttribute","_$memo","endline","length","_$createIntrinsic","attr","name","AttributeTag","Symbol","args","softline","comma"],"sources":["../../../../src/components/attributes/attributes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,iBAAiB,EACjBC,GAAG,EACHC,MAAM,EACNC,eAAe,QACV,gBAAgB;AAgBvB;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAE;EACvD,MAAMC,UAAU,GACdD,KAAK,CAACC,UAAU,KACfD,KAAK,CAACE,QAAQ,IAAIP,iBAAiB,CAACK,KAAK,CAACE,QAAQ,EAAEC,SAAS,CAACC,GAAG,CAAC,CAAC;EAEtE,IAAI,CAACH,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,QAAAI,iBAAA,CAEKT,GAAG;IAACU,IAAI,EAAEL,UAAU;IAAEM,IAAI;IAAAL,QAAA,EACvBM,GAAG,IAAKC,eAAe,CAACD,GAAG;EAAC,IAAAE,MAAA,OAE/BA,MAAA,UAAAV,KAAK,CAACW,OAAO,IAAIV,UAAU,CAACW,MAAM,GAAG,CAAC,QAAAC,iBAAA,WAAW;AAGxD;AAEA,SAASJ,eAAeA,CAACK,IAAwC,EAAY;EAC3E,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAAT,iBAAA,CAAQF,SAAS;MAACY,IAAI,EAAED;IAAI;EAC9B,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,IAAI,MAAM,IAAIA,IAAI,EAAE;IAC7D,OAAAT,iBAAA,CAAQF,SAAS,EAAKW,IAAI;EAC5B,CAAC,MAAM;IACL,OAAOA,IAAI;EACb;AACF;AAUA,MAAME,YAAY,GAAGC,MAAM,CAAC,cAAc,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMd,SAAS,GAAGL,eAAe,CACtCkB,YAAY,EACXhB,KAAqB,IAAK;EACzB,OAAAa,iBAAA;IAAA,IAAAX,SAAA;MAAA,aAAAQ,MAAA,OAEMV,KAAK,CAACe,IAAI,GAAAL,MAAA,OACXA,MAAA,UAAAV,KAAK,CAACkB,IAAI,IAAIlB,KAAK,CAACkB,IAAI,CAACN,MAAM,GAAG,CAAC,cAAAP,iBAAA,CAG/BR,MAAM;QAACsB,QAAQ;QAAA,IAAAjB,SAAA;UAAA,OAAAG,iBAAA,CACbT,GAAG;YAAA,IAACU,IAAIA,CAAA;cAAA,OAAEN,KAAK,CAACkB,IAAI,IAAI,EAAE;YAAA;YAAEE,KAAK;YAACb,IAAI;YAAAL,QAAA,EACnCM,GAAG,IAAKA;UAAG;QAAA;MAAA,QAKpB;IAAA;EAAA;AAIP,CACF,CAAC","ignoreList":[]}
@@ -72,4 +72,5 @@ it("define attribute list with children", () => {
72
72
  [TestA]
73
73
  [TestB]
74
74
  `);
75
- });
75
+ });
76
+ //# sourceMappingURL=attributes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["expect","it","Attribute","AttributeList","_$createComponent","name","toRenderTo","args","attributes","children"],"sources":["../../../../src/components/attributes/attributes.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,SAAS,EAAEC,aAAa;AAEjCF,EAAE,CAAC,kBAAkB,EAAE,MAAM;EAC3BD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;EAAA,EAAU,CAAC,CAACC,UAAU,CAAC;AAC/C;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,kCAAkC,EAAE,MAAM;EAC3CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AAChE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7CD,MAAM,CAAAI,iBAAA,CAAEF,SAAS;IAACG,IAAI;IAAQE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACD,UAAU,CAAC;AACzE;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,iDAAiD,EAAE,MAAM;EAC1DD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IACZK,UAAUA,CAAA;MAAA,OAAE,CAAAJ,iBAAA,CAAEF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CAAcF,SAAS;QAACG,IAAI;MAAA,GAAY;IAAA;EAAA,EAExE,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CAAED,aAAa;IAACK,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO;EAAC,EAAI,CAAC,CAACF,UAAU,CAAC;AACvE;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,4CAA4C,EAAE,MAAM;EACrDD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IACZK,UAAU,EAAE,CAAC;MAAEH,IAAI,EAAE;IAAQ,CAAC,EAAE;MAAEA,IAAI,EAAE,OAAO;MAAEE,IAAI,EAAE,CAAC,QAAQ;IAAE,CAAC;EAAC,EAExE,CAAC,CAACD,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFL,EAAE,CAAC,qCAAqC,EAAE,MAAM;EAC9CD,MAAM,CAAAI,iBAAA,CACHD,aAAa;IAAA,IAAAM,SAAA;MAAA,QAAAL,iBAAA,CACXF,SAAS;QAACG,IAAI;MAAA,IAAAD,iBAAA,CACdF,SAAS;QAACG,IAAI;MAAA;IAAA;EAAA,EAEnB,CAAC,CAACC,UAAU,CAAC;AACf;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Children, DeclarationProps, Refkey } from "@alloy-js/core";
1
+ import { Children, DeclarationProps, Namekey, Refkey } from "@alloy-js/core";
2
2
  import { AccessModifiers } from "../../modifiers.js";
3
3
  import { AttributesProp } from "../attributes/attributes.jsx";
4
4
  import { ParameterProps } from "../parameters/parameters.jsx";
@@ -10,7 +10,7 @@ export interface ClassModifiers {
10
10
  readonly static?: boolean;
11
11
  }
12
12
  export interface ClassDeclarationProps extends Omit<DeclarationProps, "nameKind">, AccessModifiers, ClassModifiers {
13
- name: string;
13
+ name: string | Namekey;
14
14
  /** Doc comment */
15
15
  doc?: Children;
16
16
  refkey?: Refkey;
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/class/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,gBAAgB,EAGhB,MAAM,EAEP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAc,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACxC,eAAe,EACf,cAAc;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAEjD,yCAAyC;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,uCAAuC;IACvC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,YAkD5D"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../src/components/class/declaration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,gBAAgB,EAGhB,OAAO,EACP,MAAM,EAEP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EAIhB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAiB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAc,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAUD,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EACxC,eAAe,EACf,cAAc;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAEjD,yCAAyC;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,uCAAuC;IACvC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,YAqC5D"}
@@ -1,9 +1,8 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { Block, Declaration, join, Name, Scope } from "@alloy-js/core";
3
3
  import { computeModifiersPrefix, getAccessModifier, makeModifiers } from "../../modifiers.js";
4
- import { useCSharpNamePolicy } from "../../name-policy.js";
5
- import { CSharpOutputSymbol } from "../../symbols/csharp-output-symbol.js";
6
- import { CSharpMemberScope } from "../../symbols/scopes.js";
4
+ import { createClassScope } from "../../scopes/factories.js";
5
+ import { createNamedTypeSymbol } from "../../symbols/factories.js";
7
6
  import { AttributeList } from "../attributes/attributes.js";
8
7
  import { DocWhen } from "../doc/comment.js";
9
8
  import { Parameters } from "../parameters/parameters.js";
@@ -38,18 +37,10 @@ const getClassModifiers = makeModifiers(["abstract", "sealed", "static", "partia
38
37
  * ```
39
38
  */
40
39
  export function ClassDeclaration(props) {
41
- const name = useCSharpNamePolicy().getName(props.name, "class");
42
- const thisClassSymbol = new CSharpOutputSymbol(name, {
40
+ const thisClassSymbol = createNamedTypeSymbol(props.name, "class", {
43
41
  refkeys: props.refkey
44
42
  });
45
-
46
- // this creates a new scope for the class definition.
47
- // members will automatically "inherit" this scope so
48
- // that refkeys to them will produce the fully-qualified
49
- // name e.g. Foo.Bar.
50
- const thisClassScope = new CSharpMemberScope("class-decl", {
51
- owner: thisClassSymbol
52
- });
43
+ const thisClassScope = createClassScope(thisClassSymbol);
53
44
  const bases = [...(props.baseType ? [props.baseType] : []), ...(props.interfaceTypes || [])];
54
45
  const base = bases.length > 0 ? [" : ", _$memo(() => join(bases, {
55
46
  joiner: ", "
@@ -67,34 +58,30 @@ export function ClassDeclaration(props) {
67
58
  return props.attributes;
68
59
  },
69
60
  endline: true
70
- }), modifiers, "class ", _$createComponent(Name, {}), _$memo(() => _$memo(() => !!props.typeParameters)() && _$createComponent(TypeParameters, {
71
- get parameters() {
72
- return props.typeParameters;
73
- }
74
- })), _$memo(() => _$memo(() => !!props.primaryConstructor)() && _$createComponent(Scope, {
61
+ }), modifiers, "class ", _$createComponent(Name, {}), _$createComponent(Scope, {
75
62
  value: thisClassScope,
76
63
  get children() {
77
- return _$createComponent(Parameters, {
64
+ return [_$memo(() => _$memo(() => !!props.typeParameters)() && _$createComponent(TypeParameters, {
65
+ get parameters() {
66
+ return props.typeParameters;
67
+ }
68
+ })), _$memo(() => _$memo(() => !!props.primaryConstructor)() && _$createComponent(Parameters, {
78
69
  get parameters() {
79
70
  return props.primaryConstructor;
80
71
  }
81
- });
82
- }
83
- })), base, _$memo(() => _$memo(() => !!props.typeParameters)() && _$createComponent(TypeParameterConstraints, {
84
- get parameters() {
85
- return props.typeParameters;
86
- }
87
- })), _$memo(() => !props.children && ";"), _$memo(() => _$memo(() => !!props.children)() && _$createComponent(Block, {
88
- newline: true,
89
- get children() {
90
- return _$createComponent(Scope, {
91
- value: thisClassScope,
72
+ })), base, _$memo(() => _$memo(() => !!props.typeParameters)() && _$createComponent(TypeParameterConstraints, {
73
+ get parameters() {
74
+ return props.typeParameters;
75
+ }
76
+ })), _$memo(() => !props.children && ";"), _$memo(() => _$memo(() => !!props.children)() && _$createComponent(Block, {
77
+ newline: true,
92
78
  get children() {
93
79
  return props.children;
94
80
  }
95
- });
81
+ }))];
96
82
  }
97
- }))];
83
+ })];
98
84
  }
99
85
  });
100
- }
86
+ }
87
+ //# sourceMappingURL=declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Block","Declaration","join","Name","Scope","computeModifiersPrefix","getAccessModifier","makeModifiers","createClassScope","createNamedTypeSymbol","AttributeList","DocWhen","Parameters","TypeParameterConstraints","TypeParameters","getClassModifiers","ClassDeclaration","props","thisClassSymbol","name","refkeys","refkey","thisClassScope","bases","baseType","interfaceTypes","base","length","_$memo","joiner","modifiers","_$createComponent","symbol","children","doc","attributes","endline","value","typeParameters","parameters","primaryConstructor","newline"],"sources":["../../../../src/components/class/declaration.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}