@alloy-js/csharp 0.23.0-dev.5 → 0.23.0-dev.7

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 (211) hide show
  1. package/dist/dev/src/components/constructor/constructor.js +15 -6
  2. package/dist/dev/src/components/constructor/constructor.js.map +1 -1
  3. package/dist/dev/src/components/constructor/constructor.test.js +53 -4
  4. package/dist/dev/src/components/constructor/constructor.test.js.map +1 -1
  5. package/dist/dev/src/components/enum/declaration.js +14 -5
  6. package/dist/dev/src/components/enum/declaration.js.map +1 -1
  7. package/dist/dev/src/components/enum/declaration.test.js +40 -0
  8. package/dist/dev/src/components/enum/declaration.test.js.map +1 -1
  9. package/dist/dev/src/components/enum/member.js +13 -4
  10. package/dist/dev/src/components/enum/member.js.map +1 -1
  11. package/dist/dev/src/components/enum/member.test.js +42 -0
  12. package/dist/dev/src/components/enum/member.test.js.map +1 -1
  13. package/dist/dev/src/components/namespace/namespace.js +16 -22
  14. package/dist/dev/src/components/namespace/namespace.js.map +1 -1
  15. package/dist/dev/src/components/namespace/namespace.test.js +120 -33
  16. package/dist/dev/src/components/namespace/namespace.test.js.map +1 -1
  17. package/dist/dev/src/components/namespace-scopes.js +10 -3
  18. package/dist/dev/src/components/namespace-scopes.js.map +1 -1
  19. package/dist/dev/src/components/namespace.ref.test.js +69 -0
  20. package/dist/dev/src/components/namespace.ref.test.js.map +1 -1
  21. package/dist/src/components/constructor/constructor.d.ts +2 -0
  22. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  23. package/dist/src/components/constructor/constructor.js +6 -1
  24. package/dist/src/components/constructor/constructor.js.map +1 -1
  25. package/dist/src/components/constructor/constructor.test.js +33 -0
  26. package/dist/src/components/constructor/constructor.test.js.map +1 -1
  27. package/dist/src/components/enum/declaration.d.ts +2 -0
  28. package/dist/src/components/enum/declaration.d.ts.map +1 -1
  29. package/dist/src/components/enum/declaration.js +6 -1
  30. package/dist/src/components/enum/declaration.js.map +1 -1
  31. package/dist/src/components/enum/declaration.test.js +24 -0
  32. package/dist/src/components/enum/declaration.test.js.map +1 -1
  33. package/dist/src/components/enum/member.d.ts +4 -2
  34. package/dist/src/components/enum/member.d.ts.map +1 -1
  35. package/dist/src/components/enum/member.js +6 -1
  36. package/dist/src/components/enum/member.js.map +1 -1
  37. package/dist/src/components/enum/member.test.js +26 -0
  38. package/dist/src/components/enum/member.test.js.map +1 -1
  39. package/dist/src/components/namespace/namespace.d.ts.map +1 -1
  40. package/dist/src/components/namespace/namespace.js +11 -13
  41. package/dist/src/components/namespace/namespace.js.map +1 -1
  42. package/dist/src/components/namespace/namespace.test.js +61 -2
  43. package/dist/src/components/namespace/namespace.test.js.map +1 -1
  44. package/dist/src/components/namespace-scopes.d.ts +16 -0
  45. package/dist/src/components/namespace-scopes.d.ts.map +1 -1
  46. package/dist/src/components/namespace-scopes.js +8 -1
  47. package/dist/src/components/namespace-scopes.js.map +1 -1
  48. package/dist/src/components/namespace.ref.test.js +41 -0
  49. package/dist/src/components/namespace.ref.test.js.map +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/docs/api/components/AttributeList.md +34 -0
  52. package/docs/api/components/ClassDeclaration.md +104 -0
  53. package/docs/api/components/Constructor.md +55 -0
  54. package/docs/api/components/CsprojFile.md +34 -0
  55. package/docs/api/components/Declaration.md +32 -0
  56. package/docs/api/components/DocC.md +27 -0
  57. package/docs/api/components/DocCode.md +27 -0
  58. package/docs/api/components/DocComment.md +27 -0
  59. package/docs/api/components/DocDescription.md +27 -0
  60. package/docs/api/components/DocExample.md +27 -0
  61. package/docs/api/components/DocException.md +27 -0
  62. package/docs/api/components/DocFromMarkdown.md +27 -0
  63. package/docs/api/components/DocInclude.md +26 -0
  64. package/docs/api/components/DocList.md +26 -0
  65. package/docs/api/components/DocPara.md +27 -0
  66. package/docs/api/components/DocParam.md +28 -0
  67. package/docs/api/components/DocParamRef.md +25 -0
  68. package/docs/api/components/DocPermission.md +27 -0
  69. package/docs/api/components/DocRemarks.md +27 -0
  70. package/docs/api/components/DocReturns.md +27 -0
  71. package/docs/api/components/DocSee.md +30 -0
  72. package/docs/api/components/DocSeeAlso.md +29 -0
  73. package/docs/api/components/DocSummary.md +27 -0
  74. package/docs/api/components/DocTypeParam.md +28 -0
  75. package/docs/api/components/DocTypeParamRef.md +25 -0
  76. package/docs/api/components/DocValue.md +27 -0
  77. package/docs/api/components/DocWhen.md +27 -0
  78. package/docs/api/components/ElseClause.md +29 -0
  79. package/docs/api/components/ElseIfClause.md +30 -0
  80. package/docs/api/components/EnumDeclaration.md +76 -0
  81. package/docs/api/components/EnumMember.md +31 -0
  82. package/docs/api/components/Field.md +67 -0
  83. package/docs/api/components/IfStatement.md +30 -0
  84. package/docs/api/components/InterfaceDeclaration.md +82 -0
  85. package/docs/api/components/InterfaceMethod.md +68 -0
  86. package/docs/api/components/InterfaceProperty.md +78 -0
  87. package/docs/api/components/InvocationExpression.md +49 -0
  88. package/docs/api/components/LexicalScope.md +65 -0
  89. package/docs/api/components/Method.md +92 -0
  90. package/docs/api/components/MethodScope.md +65 -0
  91. package/docs/api/components/Name.md +19 -0
  92. package/docs/api/components/Namespace.md +35 -0
  93. package/docs/api/components/Parameter.md +58 -0
  94. package/docs/api/components/Parameters_2.md +27 -0
  95. package/docs/api/components/Property.md +110 -0
  96. package/docs/api/components/RecordDeclaration.md +84 -0
  97. package/docs/api/components/Reference.md +25 -0
  98. package/docs/api/components/Region.md +28 -0
  99. package/docs/api/components/SourceFile.md +45 -0
  100. package/docs/api/components/StructDeclaration.md +94 -0
  101. package/docs/api/components/UsingNamespaceDirective.md +25 -0
  102. package/docs/api/components/Usings.md +40 -0
  103. package/docs/api/components/VarDeclaration.md +74 -0
  104. package/docs/api/components/index.md +55 -0
  105. package/docs/api/functions/access.md +35 -0
  106. package/docs/api/functions/accessibilityFromProps.md +18 -0
  107. package/docs/api/functions/computeModifiersPrefix.md +20 -0
  108. package/docs/api/functions/createCSharpNamePolicy.md +17 -0
  109. package/docs/api/functions/createCSharpNamespaceScope.md +18 -0
  110. package/docs/api/functions/createClassScope.md +27 -0
  111. package/docs/api/functions/createFieldSymbol.md +43 -0
  112. package/docs/api/functions/createLibrary.md +19 -0
  113. package/docs/api/functions/createMethodScope.md +26 -0
  114. package/docs/api/functions/createMethodSymbol.md +34 -0
  115. package/docs/api/functions/createNamedTypeScope.md +27 -0
  116. package/docs/api/functions/createNamedTypeSymbol.md +35 -0
  117. package/docs/api/functions/createNamespaceSymbol.md +43 -0
  118. package/docs/api/functions/createParameterSymbol.md +45 -0
  119. package/docs/api/functions/createPropertySymbol.md +43 -0
  120. package/docs/api/functions/createTypeParameterSymbol.md +34 -0
  121. package/docs/api/functions/createVariableSymbol.md +43 -0
  122. package/docs/api/functions/getAccessModifier.md +18 -0
  123. package/docs/api/functions/getAsyncModifier.md +18 -0
  124. package/docs/api/functions/index.md +33 -0
  125. package/docs/api/functions/makeModifiers.md +18 -0
  126. package/docs/api/functions/nonAccessibilityFromProps.md +18 -0
  127. package/docs/api/functions/ref.md +18 -0
  128. package/docs/api/functions/useCSharpNamePolicy.md +17 -0
  129. package/docs/api/functions/useCSharpScope.md +17 -0
  130. package/docs/api/functions/useCsharpFormatOptions.md +18 -0
  131. package/docs/api/functions/useEnclosingNamespaceScope.md +17 -0
  132. package/docs/api/functions/useLexicalScope.md +17 -0
  133. package/docs/api/functions/useMethodScope.md +17 -0
  134. package/docs/api/functions/useNamedTypeScope.md +17 -0
  135. package/docs/api/functions/useNamespace.md +17 -0
  136. package/docs/api/functions/useSourceFileScope.md +17 -0
  137. package/docs/api/index.md +6 -0
  138. package/docs/api/types/AccessExpressionBuilder.md +11 -0
  139. package/docs/api/types/AccessExpressionPartProps.md +17 -0
  140. package/docs/api/types/AccessModifiers.md +13 -0
  141. package/docs/api/types/AttributeProps.md +8 -0
  142. package/docs/api/types/AttributesProp.md +5 -0
  143. package/docs/api/types/CSharpClassScope.md +9 -0
  144. package/docs/api/types/CSharpElements.md +5 -0
  145. package/docs/api/types/CSharpFormatOptions.md +5 -0
  146. package/docs/api/types/CSharpLexicalScope.md +10 -0
  147. package/docs/api/types/CSharpMethodScope.md +12 -0
  148. package/docs/api/types/CSharpNamedTypeScope.md +16 -0
  149. package/docs/api/types/CSharpNamespaceScope.md +10 -0
  150. package/docs/api/types/CSharpProjectSdk.md +5 -0
  151. package/docs/api/types/CSharpScope.md +12 -0
  152. package/docs/api/types/CSharpSourceFileScope.md +13 -0
  153. package/docs/api/types/CSharpSymbol.md +30 -0
  154. package/docs/api/types/CSharpSymbolKinds.md +5 -0
  155. package/docs/api/types/CSharpSymbolOptions.md +17 -0
  156. package/docs/api/types/ClassDescriptor.md +9 -0
  157. package/docs/api/types/ClassModifiers.md +10 -0
  158. package/docs/api/types/CreateMethodSymbolOptions.md +9 -0
  159. package/docs/api/types/CreateTypeParameterSymbolOptions.md +9 -0
  160. package/docs/api/types/DeclarationModifiers.md +8 -0
  161. package/docs/api/types/DeclaredAccessibility.md +5 -0
  162. package/docs/api/types/Descriptor.md +5 -0
  163. package/docs/api/types/DocCommentTagProps.md +7 -0
  164. package/docs/api/types/EnumDescriptor.md +9 -0
  165. package/docs/api/types/FieldDescriptor.md +9 -0
  166. package/docs/api/types/FieldModifiers.md +12 -0
  167. package/docs/api/types/GenericDescriptor.md +7 -0
  168. package/docs/api/types/InterfaceDescriptor.md +9 -0
  169. package/docs/api/types/InterfaceMethodModifiers.md +9 -0
  170. package/docs/api/types/InterfaceModifiers.md +7 -0
  171. package/docs/api/types/InterfacePropertyModifiers.md +9 -0
  172. package/docs/api/types/LexicalScopeProps.md +5 -0
  173. package/docs/api/types/LibraryFrom.md +7 -0
  174. package/docs/api/types/MemberDescriptor.md +16 -0
  175. package/docs/api/types/MethodDescriptor.md +10 -0
  176. package/docs/api/types/MethodKinds.md +5 -0
  177. package/docs/api/types/MethodModifiers.md +15 -0
  178. package/docs/api/types/MethodScopeProps.md +5 -0
  179. package/docs/api/types/MethodSymbol.md +13 -0
  180. package/docs/api/types/NamedTypeDescriptor.md +11 -0
  181. package/docs/api/types/NamedTypeSymbol.md +17 -0
  182. package/docs/api/types/NamedTypeSymbolKind.md +5 -0
  183. package/docs/api/types/NamedTypeTypeKind.md +5 -0
  184. package/docs/api/types/NamespaceDescriptor.md +8 -0
  185. package/docs/api/types/NamespaceSymbol.md +16 -0
  186. package/docs/api/types/NamespaceSymbolOptions.md +9 -0
  187. package/docs/api/types/NonAccessModifiers.md +13 -0
  188. package/docs/api/types/PropertyDescriptor_2.md +9 -0
  189. package/docs/api/types/PropertyModifiers.md +17 -0
  190. package/docs/api/types/RecordDescriptor.md +9 -0
  191. package/docs/api/types/RecordModifiers.md +7 -0
  192. package/docs/api/types/ResolveDescriptor.md +7 -0
  193. package/docs/api/types/StructDescriptor.md +9 -0
  194. package/docs/api/types/StructModifiers.md +10 -0
  195. package/docs/api/types/TypeParameterProps.md +11 -0
  196. package/docs/api/types/VarModifiers.md +8 -0
  197. package/docs/api/types/index.md +62 -0
  198. package/docs/api/variables/Attribute.md +21 -0
  199. package/docs/api/variables/index.md +3 -0
  200. package/package.json +5 -5
  201. package/src/components/constructor/constructor.test.tsx +27 -0
  202. package/src/components/constructor/constructor.tsx +5 -0
  203. package/src/components/enum/declaration.test.tsx +20 -0
  204. package/src/components/enum/declaration.tsx +4 -0
  205. package/src/components/enum/member.test.tsx +21 -0
  206. package/src/components/enum/member.tsx +5 -0
  207. package/src/components/namespace/namespace.test.tsx +42 -1
  208. package/src/components/namespace/namespace.tsx +16 -8
  209. package/src/components/namespace-scopes.tsx +25 -1
  210. package/src/components/namespace.ref.test.tsx +29 -0
  211. package/temp/api.json +85 -5
@@ -4,6 +4,7 @@ import { computeModifiersPrefix, getAccessModifier } from "../../modifiers.js";
4
4
  import { useCSharpNamePolicy } from "../../name-policy.js";
5
5
  import { createNamedTypeScope } from "../../scopes/factories.js";
6
6
  import { createNamedTypeSymbol } from "../../symbols/factories.js";
7
+ import { DocWhen } from "../doc/comment.js";
7
8
  import { Name } from "../Name.js";
8
9
 
9
10
  // properties for creating an enum
@@ -38,7 +39,11 @@ export function EnumDeclaration(props) {
38
39
  return _$createComponent(Declaration, {
39
40
  symbol: symbol,
40
41
  get children() {
41
- return [modifiers, "enum ", _$createComponent(Name, {}), _$memo(() => !props.children && ";"), _$memo(() => _$memo(() => !!props.children)() && _$createComponent(MemberScope, {
42
+ return [_$createComponent(DocWhen, {
43
+ get doc() {
44
+ return props.doc;
45
+ }
46
+ }), modifiers, "enum ", _$createComponent(Name, {}), _$memo(() => !props.children && ";"), _$memo(() => _$memo(() => !!props.children)() && _$createComponent(MemberScope, {
42
47
  value: scope,
43
48
  get children() {
44
49
  return _$createComponent(Block, {
@@ -1 +1 @@
1
- {"version":3,"names":["Block","Declaration","MemberScope","computeModifiersPrefix","getAccessModifier","useCSharpNamePolicy","createNamedTypeScope","createNamedTypeSymbol","Name","EnumDeclaration","props","symbol","name","refkeys","refkey","namePolicy","for","scope","modifiers","_$createComponent","children","_$memo","value","newline"],"sources":["../../../../src/components/enum/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAELC,WAAW,EACXC,WAAW,QAGN,gBAAgB;AACvB,SAEEC,sBAAsB,EACtBC,iBAAiB,QACZ,oBAAoB;AAC3B,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,IAAI;;AAEb;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,MAAM,GAAGJ,qBAAqB,CAACG,KAAK,CAACE,IAAI,EAAE,MAAM,EAAE;IACvDC,OAAO,EAAEH,KAAK,CAACI,MAAM;IACrBC,UAAU,EAAEV,mBAAmB,CAAC,CAAC,CAACW,GAAG,CAAC,MAAM;EAC9C,CAAC,CAAC;EACF,MAAMC,KAAK,GAAGX,oBAAoB,CAACK,MAAM,CAAC;EAE1C,MAAMO,SAAS,GAAGf,sBAAsB,CAAC,CAACC,iBAAiB,CAACM,KAAK,CAAC,CAAC,CAAC;EAEpE,OAAAS,iBAAA,CACGlB,WAAW;IAACU,MAAM,EAAEA,MAAM;IAAA,IAAAS,SAAA;MAAA,QACxBF,SAAS,WAAAC,iBAAA,CAAOX,IAAI,OAAAa,MAAA,OACpB,CAACX,KAAK,CAACU,QAAQ,IAAI,GAAG,GAAAC,MAAA,OACtBA,MAAA,SAAAX,KAAK,CAACU,QAAQ,OAAAD,iBAAA,CACZjB,WAAW;QAACoB,KAAK,EAAEL,KAAK;QAAA,IAAAG,SAAA;UAAA,OAAAD,iBAAA,CACtBnB,KAAK;YAACuB,OAAO;YAAA,IAAAH,SAAA;cAAA,OAAEV,KAAK,CAACU,QAAQ;YAAA;UAAA;QAAA;MAAA,EAEjC;IAAA;EAAA;AAGP","ignoreList":[]}
1
+ {"version":3,"names":["Block","Declaration","MemberScope","computeModifiersPrefix","getAccessModifier","useCSharpNamePolicy","createNamedTypeScope","createNamedTypeSymbol","DocWhen","Name","EnumDeclaration","props","symbol","name","refkeys","refkey","namePolicy","for","scope","modifiers","_$createComponent","children","doc","_$memo","value","newline"],"sources":["../../../../src/components/enum/declaration.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,KAAK,EAELC,WAAW,EACXC,WAAW,QAGN,gBAAgB;AACvB,SAEEC,sBAAsB,EACtBC,iBAAiB,QACZ,oBAAoB;AAC3B,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,OAAO;AAChB,SAASC,IAAI;;AAEb;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAE;EAC3D,MAAMC,MAAM,GAAGL,qBAAqB,CAACI,KAAK,CAACE,IAAI,EAAE,MAAM,EAAE;IACvDC,OAAO,EAAEH,KAAK,CAACI,MAAM;IACrBC,UAAU,EAAEX,mBAAmB,CAAC,CAAC,CAACY,GAAG,CAAC,MAAM;EAC9C,CAAC,CAAC;EACF,MAAMC,KAAK,GAAGZ,oBAAoB,CAACM,MAAM,CAAC;EAE1C,MAAMO,SAAS,GAAGhB,sBAAsB,CAAC,CAACC,iBAAiB,CAACO,KAAK,CAAC,CAAC,CAAC;EAEpE,OAAAS,iBAAA,CACGnB,WAAW;IAACW,MAAM,EAAEA,MAAM;IAAA,IAAAS,SAAA;MAAA,QAAAD,iBAAA,CACxBZ,OAAO;QAAA,IAACc,GAAGA,CAAA;UAAA,OAAEX,KAAK,CAACW,GAAG;QAAA;MAAA,IACtBH,SAAS,WAAAC,iBAAA,CAAOX,IAAI,OAAAc,MAAA,OACpB,CAACZ,KAAK,CAACU,QAAQ,IAAI,GAAG,GAAAE,MAAA,OACtBA,MAAA,SAAAZ,KAAK,CAACU,QAAQ,OAAAD,iBAAA,CACZlB,WAAW;QAACsB,KAAK,EAAEN,KAAK;QAAA,IAAAG,SAAA;UAAA,OAAAD,iBAAA,CACtBpB,KAAK;YAACyB,OAAO;YAAA,IAAAJ,SAAA;cAAA,OAAEV,KAAK,CAACU,QAAQ;YAAA;UAAA;QAAA;MAAA,EAEjC;IAAA;EAAA;AAGP","ignoreList":[]}
@@ -51,4 +51,28 @@ it("takes a namekey", () => {
51
51
  enum MyEnum;
52
52
  `);
53
53
  });
54
+ it("renders doc comment", () => {
55
+ const res = toSourceText(_$createComponent(EnumDeclaration, {
56
+ "public": true,
57
+ name: "TestEnum",
58
+ doc: "This is a test enum",
59
+ get children() {
60
+ return [_$createComponent(EnumMember, {
61
+ name: "One"
62
+ }), ",", _$createIntrinsic("hbr", {}), _$createComponent(EnumMember, {
63
+ name: "Two"
64
+ })];
65
+ }
66
+ }));
67
+ expect(res).toBe(d`
68
+ namespace TestCode;
69
+
70
+ /// This is a test enum
71
+ public enum TestEnum
72
+ {
73
+ One,
74
+ Two
75
+ }
76
+ `);
77
+ });
54
78
  //# sourceMappingURL=declaration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TestNamespace","toSourceText","namekey","d","expect","it","EnumDeclaration","EnumMember","res","_$createComponent","name","toBe","children","_$createIntrinsic","key","tree","toRenderTo"],"sources":["../../../../src/components/enum/declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,aAAa,EAAEC,YAAY;AACpC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnBF,EAAE,CAAC,+BAA+B,EAAE,MAAM;EACxC,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CAAEH,eAAe;IAAA;IAAQI,IAAI;EAAA,EAAc,CAAC;EAEpEN,MAAM,CAACI,GAAG,CAAC,CAACG,IAAI,CAACR,CAAC;AACpB;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,2CAA2C,EAAE,MAAM;EACpD,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAA,IAAAE,SAAA;MAAA,QAAAH,iBAAA,CACzBF,UAAU;QAACG,IAAI;MAAA,SAAAG,iBAAA,aAAAJ,iBAAA,CACfF,UAAU;QAACG,IAAI;MAAA;IAAA;EAAA,EAEpB,CAAC;EAEDN,MAAM,CAACI,GAAG,CAAC,CAACG,IAAI,CAACR,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,iBAAiB,EAAE,MAAM;EAC1B,MAAMS,GAAG,GAAGZ,OAAO,CAAC,SAAS,CAAC;EAC9B,MAAMa,IAAI,GAAAN,iBAAA,CACPT,aAAa;IAAA,IAAAY,SAAA;MAAA,OAAAH,iBAAA,CACXH,eAAe;QAACI,IAAI,EAAEI;MAAG;IAAA;EAAA,EAE7B;EACDV,MAAM,CAACW,IAAI,CAAC,CAACC,UAAU,CAAC;AAC1B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TestNamespace","toSourceText","namekey","d","expect","it","EnumDeclaration","EnumMember","res","_$createComponent","name","toBe","children","_$createIntrinsic","key","tree","toRenderTo","doc"],"sources":["../../../../src/components/enum/declaration.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,aAAa,EAAEC,YAAY;AACpC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnBF,EAAE,CAAC,+BAA+B,EAAE,MAAM;EACxC,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CAAEH,eAAe;IAAA;IAAQI,IAAI;EAAA,EAAc,CAAC;EAEpEN,MAAM,CAACI,GAAG,CAAC,CAACG,IAAI,CAACR,CAAC;AACpB;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,2CAA2C,EAAE,MAAM;EACpD,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAA,IAAAE,SAAA;MAAA,QAAAH,iBAAA,CACzBF,UAAU;QAACG,IAAI;MAAA,SAAAG,iBAAA,aAAAJ,iBAAA,CACfF,UAAU;QAACG,IAAI;MAAA;IAAA;EAAA,EAEpB,CAAC;EAEDN,MAAM,CAACI,GAAG,CAAC,CAACG,IAAI,CAACR,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,iBAAiB,EAAE,MAAM;EAC1B,MAAMS,GAAG,GAAGZ,OAAO,CAAC,SAAS,CAAC;EAC9B,MAAMa,IAAI,GAAAN,iBAAA,CACPT,aAAa;IAAA,IAAAY,SAAA;MAAA,OAAAH,iBAAA,CACXH,eAAe;QAACI,IAAI,EAAEI;MAAG;IAAA;EAAA,EAE7B;EACDV,MAAM,CAACW,IAAI,CAAC,CAACC,UAAU,CAAC;AAC1B;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFX,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9B,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAYO,GAAG;IAAA,IAAAL,SAAA;MAAA,QAAAH,iBAAA,CACxCF,UAAU;QAACG,IAAI;MAAA,SAAAG,iBAAA,aAAAJ,iBAAA,CACfF,UAAU;QAACG,IAAI;MAAA;IAAA;EAAA,EAEpB,CAAC;EAEDN,MAAM,CAACI,GAAG,CAAC,CAACG,IAAI,CAACR,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,9 @@
1
- import { Namekey, Refkey } from "@alloy-js/core";
1
+ import { Children, Namekey, Refkey } from "@alloy-js/core";
2
2
  export interface EnumMemberProps {
3
3
  name: string | Namekey;
4
+ /** Doc comment */
5
+ doc?: Children;
4
6
  refkey?: Refkey;
5
7
  }
6
- export declare function EnumMember(props: EnumMemberProps): import("@alloy-js/core").Children;
8
+ export declare function EnumMember(props: EnumMemberProps): Children;
7
9
  //# sourceMappingURL=member.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../src/components/enum/member.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qCA4BhD"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../src/components/enum/member.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAIR,OAAO,EACP,MAAM,EACP,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,kBAAkB;IAClB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,YA6BhD"}
@@ -3,6 +3,7 @@ import { createSymbol, MemberDeclaration, MemberName } from "@alloy-js/core";
3
3
  import { useCSharpNamePolicy } from "../../name-policy.js";
4
4
  import { useNamedTypeScope } from "../../scopes/contexts.js";
5
5
  import { CSharpSymbol } from "../../symbols/csharp.js";
6
+ import { DocWhen } from "../doc/comment.js";
6
7
 
7
8
  // properties for creating a C# enum member
8
9
 
@@ -23,7 +24,11 @@ export function EnumMember(props) {
23
24
  return _$createComponent(MemberDeclaration, {
24
25
  symbol: thisEnumValueSymbol,
25
26
  get children() {
26
- return _$createComponent(MemberName, {});
27
+ return [_$createComponent(DocWhen, {
28
+ get doc() {
29
+ return props.doc;
30
+ }
31
+ }), _$createComponent(MemberName, {})];
27
32
  }
28
33
  });
29
34
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createSymbol","MemberDeclaration","MemberName","useCSharpNamePolicy","useNamedTypeScope","CSharpSymbol","EnumMember","props","scope","Error","symbol","ownerSymbol","typeKind","thisEnumValueSymbol","name","members","refkeys","refkey","namePolicy","for","_$createComponent","children"],"sources":["../../../../src/components/enum/member.tsx"],"sourcesContent":[null],"mappings":";AAAA,SACEA,YAAY,EACZC,iBAAiB,EACjBC,UAAU,QAGL,gBAAgB;AACvB,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,YAAY,QAAQ,yBAAyB;;AAEtD;;AAMA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,KAAK,GAAGJ,iBAAiB,CAAC,CAAC;EAEjC,IAAI,CAACI,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,WAAW;EAEhC,IAAID,MAAM,CAACE,QAAQ,KAAK,MAAM,EAAE;IAC9B,MAAM,IAAIH,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMI,mBAAmB,GAAGb,YAAY,CACtCK,YAAY,EACZE,KAAK,CAACO,IAAI,EACVJ,MAAM,CAACK,OAAO,EACd;IACEC,OAAO,EAAET,KAAK,CAACU,MAAM;IACrBC,UAAU,EAAEf,mBAAmB,CAAC,CAAC,CAACgB,GAAG,CAAC,aAAa;EACrD,CACF,CAAC;EAED,OAAAC,iBAAA,CACGnB,iBAAiB;IAACS,MAAM,EAAEG,mBAAmB;IAAA,IAAAQ,SAAA;MAAA,OAAAD,iBAAA,CAC3ClB,UAAU;IAAA;EAAA;AAGjB","ignoreList":[]}
1
+ {"version":3,"names":["createSymbol","MemberDeclaration","MemberName","useCSharpNamePolicy","useNamedTypeScope","CSharpSymbol","DocWhen","EnumMember","props","scope","Error","symbol","ownerSymbol","typeKind","thisEnumValueSymbol","name","members","refkeys","refkey","namePolicy","for","_$createComponent","children","doc"],"sources":["../../../../src/components/enum/member.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAEEA,YAAY,EACZC,iBAAiB,EACjBC,UAAU,QAGL,gBAAgB;AACvB,SAASC,mBAAmB,QAAQ,sBAAsB;AAC1D,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,OAAO;;AAEhB;;AAQA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAE;EACjD,MAAMC,KAAK,GAAGL,iBAAiB,CAAC,CAAC;EAEjC,IAAI,CAACK,KAAK,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,WAAW;EAEhC,IAAID,MAAM,CAACE,QAAQ,KAAK,MAAM,EAAE;IAC9B,MAAM,IAAIH,KAAK,CAAC,oDAAoD,CAAC;EACvE;EAEA,MAAMI,mBAAmB,GAAGd,YAAY,CACtCK,YAAY,EACZG,KAAK,CAACO,IAAI,EACVJ,MAAM,CAACK,OAAO,EACd;IACEC,OAAO,EAAET,KAAK,CAACU,MAAM;IACrBC,UAAU,EAAEhB,mBAAmB,CAAC,CAAC,CAACiB,GAAG,CAAC,aAAa;EACrD,CACF,CAAC;EAED,OAAAC,iBAAA,CACGpB,iBAAiB;IAACU,MAAM,EAAEG,mBAAmB;IAAA,IAAAQ,SAAA;MAAA,QAAAD,iBAAA,CAC3Cf,OAAO;QAAA,IAACiB,GAAGA,CAAA;UAAA,OAAEf,KAAK,CAACe,GAAG;QAAA;MAAA,IAAAF,iBAAA,CACtBnB,UAAU;IAAA;EAAA;AAGjB","ignoreList":[]}
@@ -49,4 +49,30 @@ it("takes a namekey", () => {
49
49
  Foo.MyMember;
50
50
  `);
51
51
  });
52
+ it("renders doc comment", () => {
53
+ const res = toSourceText(_$createComponent(EnumDeclaration, {
54
+ "public": true,
55
+ name: "TestEnum",
56
+ get children() {
57
+ return [_$createComponent(EnumMember, {
58
+ name: "One",
59
+ doc: "First value"
60
+ }), ",", _$createIntrinsic("hbr", {}), _$createComponent(EnumMember, {
61
+ name: "Two",
62
+ doc: "Second value"
63
+ })];
64
+ }
65
+ }));
66
+ expect(res).toBe(d`
67
+ namespace TestCode;
68
+
69
+ public enum TestEnum
70
+ {
71
+ /// First value
72
+ One,
73
+ /// Second value
74
+ Two
75
+ }
76
+ `);
77
+ });
52
78
  //# sourceMappingURL=member.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TestNamespace","toSourceText","namekey","d","expect","it","EnumDeclaration","EnumMember","res","_$createComponent","name","children","_$createIntrinsic","toBe","memberKey","tree","toRenderTo"],"sources":["../../../../src/components/enum/member.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,aAAa,EAAEC,YAAY;AACpC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnBF,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAA,IAAAC,SAAA;MAAA,QAAAF,iBAAA,CACzBF,UAAU;QAACG,IAAI;MAAA,SAAAE,iBAAA,aAAAH,iBAAA,CACfF,UAAU;QAACG,IAAI;MAAA;IAAA;EAAA,EAEpB,CAAC;EAEDN,MAAM,CAACI,GAAG,CAAC,CAACK,IAAI,CAACV,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,iBAAiB,EAAE,MAAM;EAC1B,MAAMS,SAAS,GAAGZ,OAAO,CAAC,UAAU,CAAC;EACrC,MAAMa,IAAI,GAAAN,iBAAA,CACPT,aAAa;IAAA,IAAAW,SAAA;MAAA,QAAAF,iBAAA,CACXH,eAAe;QAACI,IAAI;QAAA,IAAAC,SAAA;UAAA,OAAAF,iBAAA,CAClBF,UAAU;YAACG,IAAI,EAAEI;UAAS;QAAA;MAAA,IAAAF,iBAAA,aAG5BE,SAAS;IAAA;EAAA,EAEb;EACDV,MAAM,CAACW,IAAI,CAAC,CAACC,UAAU,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TestNamespace","toSourceText","namekey","d","expect","it","EnumDeclaration","EnumMember","res","_$createComponent","name","children","_$createIntrinsic","toBe","memberKey","tree","toRenderTo","doc"],"sources":["../../../../src/components/enum/member.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,aAAa,EAAEC,YAAY;AACpC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,CAAC,QAAQ,wBAAwB;AAC1C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,eAAe;AACxB,SAASC,UAAU;AAEnBF,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAA,IAAAC,SAAA;MAAA,QAAAF,iBAAA,CACzBF,UAAU;QAACG,IAAI;MAAA,SAAAE,iBAAA,aAAAH,iBAAA,CACfF,UAAU;QAACG,IAAI;MAAA;IAAA;EAAA,EAEpB,CAAC;EAEDN,MAAM,CAACI,GAAG,CAAC,CAACK,IAAI,CAACV,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFE,EAAE,CAAC,iBAAiB,EAAE,MAAM;EAC1B,MAAMS,SAAS,GAAGZ,OAAO,CAAC,UAAU,CAAC;EACrC,MAAMa,IAAI,GAAAN,iBAAA,CACPT,aAAa;IAAA,IAAAW,SAAA;MAAA,QAAAF,iBAAA,CACXH,eAAe;QAACI,IAAI;QAAA,IAAAC,SAAA;UAAA,OAAAF,iBAAA,CAClBF,UAAU;YAACG,IAAI,EAAEI;UAAS;QAAA;MAAA,IAAAF,iBAAA,aAG5BE,SAAS;IAAA;EAAA,EAEb;EACDV,MAAM,CAACW,IAAI,CAAC,CAACC,UAAU,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC;AAEFX,EAAE,CAAC,qBAAqB,EAAE,MAAM;EAC9B,MAAMG,GAAG,GAAGP,YAAY,CAAAQ,iBAAA,CACrBH,eAAe;IAAA;IAAQI,IAAI;IAAA,IAAAC,SAAA;MAAA,QAAAF,iBAAA,CACzBF,UAAU;QAACG,IAAI;QAAOO,GAAG;MAAA,SAAAL,iBAAA,aAAAH,iBAAA,CACzBF,UAAU;QAACG,IAAI;QAAOO,GAAG;MAAA;IAAA;EAAA,EAE9B,CAAC;EAEDb,MAAM,CAACI,GAAG,CAAC,CAACK,IAAI,CAACV,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../src/components/namespace/namespace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAOtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YA2B9C"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../src/components/namespace/namespace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAUtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,YAgC9C"}
@@ -1,9 +1,9 @@
1
1
  import { memo as _$memo, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { Block } from "@alloy-js/core";
3
- import { NamespaceContext } from "../../contexts/namespace.js";
3
+ import { NamespaceContext, useNamespaceContext } from "../../contexts/namespace.js";
4
4
  import { useSourceFileScope } from "../../scopes/source-file.js";
5
5
  import { createNamespaceSymbol } from "../../symbols/factories.js";
6
- import { NamespaceScope } from "../namespace-scopes.js";
6
+ import { NamespaceScopes } from "../namespace-scopes.js";
7
7
  import { NamespaceName } from "./namespace-name.js";
8
8
  export function Namespace(props) {
9
9
  const namespaceSymbol = createNamespaceSymbol(props.name, {
@@ -20,23 +20,21 @@ export function Namespace(props) {
20
20
  }
21
21
  });
22
22
  } else {
23
+ const nsContext = useNamespaceContext();
24
+ const hasOuterNamespace = nsContext && !nsContext.symbol.isGlobal;
23
25
  sfScope.hasBlockNamespace = true;
24
- return ["namespace ", _$createComponent(NamespaceName, {
26
+ return ["namespace", " ", _$createComponent(NamespaceName, {
25
27
  symbol: namespaceSymbol,
26
- relative: true
28
+ relative: !!hasOuterNamespace
27
29
  }), " ", _$createComponent(Block, {
28
30
  get children() {
29
- return _$createComponent(NamespaceContext.Provider, {
30
- value: {
31
- symbol: namespaceSymbol
31
+ return _$createComponent(NamespaceScopes, {
32
+ symbol: namespaceSymbol,
33
+ get stopAt() {
34
+ return nsContext?.symbol;
32
35
  },
33
36
  get children() {
34
- return _$createComponent(NamespaceScope, {
35
- symbol: namespaceSymbol,
36
- get children() {
37
- return props.children;
38
- }
39
- });
37
+ return props.children;
40
38
  }
41
39
  });
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Block","NamespaceContext","useSourceFileScope","createNamespaceSymbol","NamespaceScope","NamespaceName","Namespace","props","namespaceSymbol","name","refkeys","refkey","sfScope","_$createComponent","Provider","value","symbol","children","hasBlockNamespace","relative"],"sources":["../../../../src/components/namespace/namespace.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAyB,gBAAgB;AAEvD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,cAAc;AACvB,SAASC,aAAa;AAQtB,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,eAAe,GAAGL,qBAAqB,CAACI,KAAK,CAACE,IAAI,EAAE;IACxDC,OAAO,EAAEH,KAAK,CAACI;EACjB,CAAC,CAAC;EACF,MAAMC,OAAO,GAAGV,kBAAkB,CAAC,CAAC;EAEpC,IAAI,CAACU,OAAO,EAAE;IACZ,OAAAC,iBAAA,CACGZ,gBAAgB,CAACa,QAAQ;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAER;MAAgB,CAAC;MAAA,IAAAS,SAAA;QAAA,OAC1DV,KAAK,CAACU,QAAQ;MAAA;IAAA;EAGrB,CAAC,MAAM;IACLL,OAAO,CAACM,iBAAiB,GAAG,IAAI;IAChC,sBAAAL,iBAAA,CAEeR,aAAa;MAACW,MAAM,EAAER,eAAe;MAAEW,QAAQ;IAAA,IAAI,GAAG,EAAAN,iBAAA,CAChEb,KAAK;MAAA,IAAAiB,SAAA;QAAA,OAAAJ,iBAAA,CACHZ,gBAAgB,CAACa,QAAQ;UAACC,KAAK,EAAE;YAAEC,MAAM,EAAER;UAAgB,CAAC;UAAA,IAAAS,SAAA;YAAA,OAAAJ,iBAAA,CAC1DT,cAAc;cAACY,MAAM,EAAER,eAAe;cAAA,IAAAS,SAAA;gBAAA,OACpCV,KAAK,CAACU,QAAQ;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA;EAM3B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Block","NamespaceContext","useNamespaceContext","useSourceFileScope","createNamespaceSymbol","NamespaceScopes","NamespaceName","Namespace","props","namespaceSymbol","name","refkeys","refkey","sfScope","_$createComponent","Provider","value","symbol","children","nsContext","hasOuterNamespace","isGlobal","hasBlockNamespace","relative","stopAt"],"sources":["../../../../src/components/namespace/namespace.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAyB,gBAAgB;AAEvD,SACEC,gBAAgB,EAChBC,mBAAmB,QACd,6BAA6B;AACpC,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,eAAe;AACxB,SAASC,aAAa;AAQtB,OAAO,SAASC,SAASA,CAACC,KAAqB,EAAE;EAC/C,MAAMC,eAAe,GAAGL,qBAAqB,CAACI,KAAK,CAACE,IAAI,EAAE;IACxDC,OAAO,EAAEH,KAAK,CAACI;EACjB,CAAC,CAAC;EACF,MAAMC,OAAO,GAAGV,kBAAkB,CAAC,CAAC;EAEpC,IAAI,CAACU,OAAO,EAAE;IACZ,OAAAC,iBAAA,CACGb,gBAAgB,CAACc,QAAQ;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAER;MAAgB,CAAC;MAAA,IAAAS,SAAA;QAAA,OAC1DV,KAAK,CAACU,QAAQ;MAAA;IAAA;EAGrB,CAAC,MAAM;IACL,MAAMC,SAAS,GAAGjB,mBAAmB,CAAC,CAAC;IACvC,MAAMkB,iBAAiB,GAAGD,SAAS,IAAI,CAACA,SAAS,CAACF,MAAM,CAACI,QAAQ;IAEjER,OAAO,CAACS,iBAAiB,GAAG,IAAI;IAChC,qBAEc,GAAG,EAAAR,iBAAA,CACZR,aAAa;MACZW,MAAM,EAAER,eAAe;MACvBc,QAAQ,EAAE,CAAC,CAACH;IAAiB,IAC5B,GAAG,EAAAN,iBAAA,CACLd,KAAK;MAAA,IAAAkB,SAAA;QAAA,OAAAJ,iBAAA,CACHT,eAAe;UAACY,MAAM,EAAER,eAAe;UAAA,IAAEe,MAAMA,CAAA;YAAA,OAAEL,SAAS,EAAEF,MAAM;UAAA;UAAA,IAAAC,SAAA;YAAA,OAChEV,KAAK,CAACU,QAAQ;UAAA;QAAA;MAAA;IAAA;EAKzB;AACF","ignoreList":[]}
@@ -1,10 +1,14 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { TestNamespace } from "#test/utils.js";
3
- import { Output } from "@alloy-js/core";
3
+ import { Output, refkey } from "@alloy-js/core";
4
4
  import { d } from "@alloy-js/core/testing";
5
5
  import { expect, it } from "vitest";
6
+ import { createCSharpNamePolicy } from "../../name-policy.js";
6
7
  import { ClassDeclaration } from "../class/declaration.js";
8
+ import { Constructor } from "../constructor/constructor.js";
9
+ import { Field } from "../field/field.js";
7
10
  import { SourceFile } from "../source-file/source-file.js";
11
+ import { StructDeclaration } from "../struct/declaration.js";
8
12
  import { Namespace } from "./namespace.js";
9
13
  it("defines multiple namespaces and source files with unique content", () => {
10
14
  const tree = _$createComponent(Output, {
@@ -202,4 +206,59 @@ it("define nested namespace in sourcefile", () => {
202
206
  }
203
207
  `);
204
208
  });
209
+ it("contains a struct with a private field initialized by a constructor", () => {
210
+ const fieldRefkey = refkey();
211
+ const paramRefkey = refkey();
212
+ const tree = _$createComponent(Output, {
213
+ get namePolicy() {
214
+ return createCSharpNamePolicy();
215
+ },
216
+ get children() {
217
+ return _$createComponent(SourceFile, {
218
+ path: "MyStruct.cs",
219
+ get children() {
220
+ return _$createComponent(Namespace, {
221
+ name: "TestNamespace.Test",
222
+ get children() {
223
+ return _$createComponent(StructDeclaration, {
224
+ "public": true,
225
+ name: "MyStruct",
226
+ get children() {
227
+ return [_$createComponent(Field, {
228
+ "private": true,
229
+ name: "value",
230
+ type: "int",
231
+ refkey: fieldRefkey
232
+ }), _$createIntrinsic("hbr", {}), _$createComponent(Constructor, {
233
+ "public": true,
234
+ parameters: [{
235
+ name: "value",
236
+ type: "int",
237
+ refkey: paramRefkey
238
+ }],
239
+ get children() {
240
+ return [fieldRefkey, " = ", paramRefkey, ";"];
241
+ }
242
+ })];
243
+ }
244
+ });
245
+ }
246
+ });
247
+ }
248
+ });
249
+ }
250
+ });
251
+ expect(tree).toRenderTo(d`
252
+ namespace TestNamespace.Test {
253
+ public struct MyStruct
254
+ {
255
+ private int _value;
256
+ public MyStruct(int value)
257
+ {
258
+ _value = value;
259
+ }
260
+ }
261
+ }
262
+ `);
263
+ });
205
264
  //# sourceMappingURL=namespace.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TestNamespace","Output","d","expect","it","ClassDeclaration","SourceFile","Namespace","tree","_$createComponent","children","name","path","toRenderTo"],"sources":["../../../../src/components/namespace/namespace.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TestNamespace","Output","refkey","d","expect","it","createCSharpNamePolicy","ClassDeclaration","Constructor","Field","SourceFile","StructDeclaration","Namespace","tree","_$createComponent","children","name","path","toRenderTo","fieldRefkey","paramRefkey","namePolicy","type","_$createIntrinsic","parameters"],"sources":["../../../../src/components/namespace/namespace.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,24 @@ export interface NamespaceScopProps {
6
6
  }
7
7
  export declare function NamespaceScope(props: NamespaceScopProps): Children;
8
8
  export interface NamespaceScopesProps {
9
+ /**
10
+ * Target namespace whose scope chain should be established for `children`.
11
+ *
12
+ * For dotted namespaces, this is typically the most nested segment symbol.
13
+ */
9
14
  symbol: NamespaceSymbol;
15
+ /**
16
+ * Optional ancestor namespace that is already in scope.
17
+ *
18
+ * Wrapping stops before this symbol to avoid duplicating existing namespace
19
+ * scopes in the reference chain.
20
+ */
21
+ stopAt?: NamespaceSymbol;
10
22
  children: Children;
11
23
  }
24
+ /**
25
+ * Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
26
+ * namespaces until the root (or `stopAt`, when provided).
27
+ */
12
28
  export declare function NamespaceScopes(props: NamespaceScopesProps): Children;
13
29
  //# sourceMappingURL=namespace-scopes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-scopes.d.ts","sourceRoot":"","sources":["../../../src/components/namespace-scopes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,YAOvD;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YAkB1D"}
1
+ {"version":3,"file":"namespace-scopes.d.ts","sourceRoot":"","sources":["../../../src/components/namespace-scopes.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,YAOvD;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,YAyB1D"}
@@ -20,13 +20,20 @@ export function NamespaceScope(props) {
20
20
  }
21
21
  });
22
22
  }
23
+ /**
24
+ * Applies `NamespaceScope` wrappers from `symbol` up through its enclosing
25
+ * namespaces until the root (or `stopAt`, when provided).
26
+ */
23
27
  export function NamespaceScopes(props) {
24
28
  function wrapWithScope(symbol, children) {
29
+ if (symbol === props.stopAt) {
30
+ return children;
31
+ }
25
32
  const scopeChildren = _$createComponent(NamespaceScope, {
26
33
  symbol: symbol,
27
34
  children: children
28
35
  });
29
- if (symbol.enclosingNamespace) {
36
+ if (symbol.enclosingNamespace && symbol.enclosingNamespace !== props.stopAt) {
30
37
  return wrapWithScope(symbol.enclosingNamespace, scopeChildren);
31
38
  }
32
39
  return scopeChildren;
@@ -1 +1 @@
1
- {"version":3,"names":["Scope","NamespaceContext","createCSharpNamespaceScope","NamespaceScope","props","scope","symbol","_$createComponent","Provider","value","children","NamespaceScopes","wrapWithScope","scopeChildren","enclosingNamespace"],"sources":["../../../src/components/namespace-scopes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAQ,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,0BAA0B,QAAQ,wBAAwB;AAQnE,OAAO,SAASC,cAAcA,CAACC,KAAyB,EAAE;EACxD,MAAMC,KAAK,GAAGH,0BAA0B,CAACE,KAAK,CAACE,MAAM,CAAC;EACtD,OAAAC,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OAAAH,iBAAA,CACvDP,KAAK;QAACS,KAAK,EAAEJ,KAAK;QAAA,IAAAK,SAAA;UAAA,OAAGN,KAAK,CAACM,QAAQ;QAAA;MAAA;IAAA;EAAA;AAG1C;AAOA,OAAO,SAASC,eAAeA,CAACP,KAA2B,EAAE;EAC3D,SAASQ,aAAaA,CAACN,MAAuB,EAAEI,QAAkB,EAAE;IAClE,MAAMG,aAAa,GAAAN,iBAAA,CAChBJ,cAAc;MAACG,MAAM,EAAEA,MAAM;MAAAI,QAAA,EAAGA;IAAQ,EAC1C;IAED,IAAIJ,MAAM,CAACQ,kBAAkB,EAAE;MAC7B,OAAOF,aAAa,CAACN,MAAM,CAACQ,kBAAkB,EAAED,aAAa,CAAC;IAChE;IAEA,OAAOA,aAAa;EACtB;EAEA,OAAAN,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OACvDE,aAAa,CAACR,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACM,QAAQ,CAAC;IAAA;EAAA;AAGlD","ignoreList":[]}
1
+ {"version":3,"names":["Scope","NamespaceContext","createCSharpNamespaceScope","NamespaceScope","props","scope","symbol","_$createComponent","Provider","value","children","NamespaceScopes","wrapWithScope","stopAt","scopeChildren","enclosingNamespace"],"sources":["../../../src/components/namespace-scopes.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,KAAK,QAAQ,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,0BAA0B,QAAQ,wBAAwB;AAQnE,OAAO,SAASC,cAAcA,CAACC,KAAyB,EAAE;EACxD,MAAMC,KAAK,GAAGH,0BAA0B,CAACE,KAAK,CAACE,MAAM,CAAC;EACtD,OAAAC,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OAAAH,iBAAA,CACvDP,KAAK;QAACS,KAAK,EAAEJ,KAAK;QAAA,IAAAK,SAAA;UAAA,OAAGN,KAAK,CAACM,QAAQ;QAAA;MAAA;IAAA;EAAA;AAG1C;AAoBA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACP,KAA2B,EAAE;EAC3D,SAASQ,aAAaA,CAACN,MAAuB,EAAEI,QAAkB,EAAE;IAClE,IAAIJ,MAAM,KAAKF,KAAK,CAACS,MAAM,EAAE;MAC3B,OAAOH,QAAQ;IACjB;IAEA,MAAMI,aAAa,GAAAP,iBAAA,CAChBJ,cAAc;MAACG,MAAM,EAAEA,MAAM;MAAAI,QAAA,EAAGA;IAAQ,EAC1C;IAED,IACEJ,MAAM,CAACS,kBAAkB,IACzBT,MAAM,CAACS,kBAAkB,KAAKX,KAAK,CAACS,MAAM,EAC1C;MACA,OAAOD,aAAa,CAACN,MAAM,CAACS,kBAAkB,EAAED,aAAa,CAAC;IAChE;IAEA,OAAOA,aAAa;EACtB;EAEA,OAAAP,iBAAA,CACGN,gBAAgB,CAACO,QAAQ;IAAA,IAACC,KAAKA,CAAA;MAAA,OAAE;QAAEH,MAAM,EAAEF,KAAK,CAACE;MAAO,CAAC;IAAA;IAAA,IAAAI,SAAA;MAAA,OACvDE,aAAa,CAACR,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACM,QAAQ,CAAC;IAAA;EAAA;AAGlD","ignoreList":[]}
@@ -211,4 +211,45 @@ it("can be referenced by refkey", () => {
211
211
  TestClass;
212
212
  `);
213
213
  });
214
+ it("references types across sibling namespaces under the same parent", () => {
215
+ const classRef = refkey();
216
+ const tree = _$createComponent(Output, {
217
+ get children() {
218
+ return _$createComponent(SourceFile, {
219
+ path: "test.cs",
220
+ get children() {
221
+ return _$createComponent(Namespace, {
222
+ name: "Parent",
223
+ get children() {
224
+ return [_$createComponent(Namespace, {
225
+ name: "Models",
226
+ get children() {
227
+ return _$createComponent(ClassDeclaration, {
228
+ name: "User",
229
+ refkey: classRef
230
+ });
231
+ }
232
+ }), _$createIntrinsic("hbr", {}), _$createComponent(Namespace, {
233
+ name: "Services",
234
+ get children() {
235
+ return [classRef, ";"];
236
+ }
237
+ })];
238
+ }
239
+ });
240
+ }
241
+ });
242
+ }
243
+ });
244
+ expect(tree).toRenderTo(`
245
+ namespace Parent {
246
+ namespace Models {
247
+ class User;
248
+ }
249
+ namespace Services {
250
+ Models.User;
251
+ }
252
+ }
253
+ `);
254
+ });
214
255
  //# sourceMappingURL=namespace.ref.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["List","memberRefkey","namekey","Output","refkey","expect","it","ClassDeclaration","Namespace","SourceFile","classRef","tree","_$createComponent","children","name","path","_$createIntrinsic","toRenderTo","nsRef","_$memo"],"sources":["../../../src/components/namespace.ref.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["List","memberRefkey","namekey","Output","refkey","expect","it","ClassDeclaration","Namespace","SourceFile","classRef","tree","_$createComponent","children","name","path","_$createIntrinsic","toRenderTo","nsRef","_$memo"],"sources":["../../../src/components/namespace.ref.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}