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

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 (188) hide show
  1. package/dist/dev/src/components/constructor/constructor.js +78 -9
  2. package/dist/dev/src/components/constructor/constructor.js.map +1 -1
  3. package/dist/dev/src/components/constructor/constructor.test.js +170 -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/src/components/constructor/constructor.d.ts +34 -0
  14. package/dist/src/components/constructor/constructor.d.ts.map +1 -1
  15. package/dist/src/components/constructor/constructor.js +41 -4
  16. package/dist/src/components/constructor/constructor.js.map +1 -1
  17. package/dist/src/components/constructor/constructor.test.js +114 -0
  18. package/dist/src/components/constructor/constructor.test.js.map +1 -1
  19. package/dist/src/components/enum/declaration.d.ts +2 -0
  20. package/dist/src/components/enum/declaration.d.ts.map +1 -1
  21. package/dist/src/components/enum/declaration.js +6 -1
  22. package/dist/src/components/enum/declaration.js.map +1 -1
  23. package/dist/src/components/enum/declaration.test.js +24 -0
  24. package/dist/src/components/enum/declaration.test.js.map +1 -1
  25. package/dist/src/components/enum/member.d.ts +4 -2
  26. package/dist/src/components/enum/member.d.ts.map +1 -1
  27. package/dist/src/components/enum/member.js +6 -1
  28. package/dist/src/components/enum/member.js.map +1 -1
  29. package/dist/src/components/enum/member.test.js +26 -0
  30. package/dist/src/components/enum/member.test.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/docs/api/components/AttributeList.md +34 -0
  33. package/docs/api/components/ClassDeclaration.md +104 -0
  34. package/docs/api/components/Constructor.md +61 -0
  35. package/docs/api/components/CsprojFile.md +34 -0
  36. package/docs/api/components/Declaration.md +32 -0
  37. package/docs/api/components/DocC.md +27 -0
  38. package/docs/api/components/DocCode.md +27 -0
  39. package/docs/api/components/DocComment.md +27 -0
  40. package/docs/api/components/DocDescription.md +27 -0
  41. package/docs/api/components/DocExample.md +27 -0
  42. package/docs/api/components/DocException.md +27 -0
  43. package/docs/api/components/DocFromMarkdown.md +27 -0
  44. package/docs/api/components/DocInclude.md +26 -0
  45. package/docs/api/components/DocList.md +26 -0
  46. package/docs/api/components/DocPara.md +27 -0
  47. package/docs/api/components/DocParam.md +28 -0
  48. package/docs/api/components/DocParamRef.md +25 -0
  49. package/docs/api/components/DocPermission.md +27 -0
  50. package/docs/api/components/DocRemarks.md +27 -0
  51. package/docs/api/components/DocReturns.md +27 -0
  52. package/docs/api/components/DocSee.md +30 -0
  53. package/docs/api/components/DocSeeAlso.md +29 -0
  54. package/docs/api/components/DocSummary.md +27 -0
  55. package/docs/api/components/DocTypeParam.md +28 -0
  56. package/docs/api/components/DocTypeParamRef.md +25 -0
  57. package/docs/api/components/DocValue.md +27 -0
  58. package/docs/api/components/DocWhen.md +27 -0
  59. package/docs/api/components/ElseClause.md +29 -0
  60. package/docs/api/components/ElseIfClause.md +30 -0
  61. package/docs/api/components/EnumDeclaration.md +76 -0
  62. package/docs/api/components/EnumMember.md +31 -0
  63. package/docs/api/components/Field.md +67 -0
  64. package/docs/api/components/IfStatement.md +30 -0
  65. package/docs/api/components/InterfaceDeclaration.md +82 -0
  66. package/docs/api/components/InterfaceMethod.md +68 -0
  67. package/docs/api/components/InterfaceProperty.md +78 -0
  68. package/docs/api/components/InvocationExpression.md +49 -0
  69. package/docs/api/components/LexicalScope.md +65 -0
  70. package/docs/api/components/Method.md +92 -0
  71. package/docs/api/components/MethodScope.md +65 -0
  72. package/docs/api/components/Name.md +19 -0
  73. package/docs/api/components/Namespace.md +35 -0
  74. package/docs/api/components/Parameter.md +58 -0
  75. package/docs/api/components/Parameters_2.md +27 -0
  76. package/docs/api/components/Property.md +110 -0
  77. package/docs/api/components/RecordDeclaration.md +84 -0
  78. package/docs/api/components/Reference.md +25 -0
  79. package/docs/api/components/Region.md +28 -0
  80. package/docs/api/components/SourceFile.md +45 -0
  81. package/docs/api/components/StructDeclaration.md +94 -0
  82. package/docs/api/components/UsingNamespaceDirective.md +25 -0
  83. package/docs/api/components/Usings.md +40 -0
  84. package/docs/api/components/VarDeclaration.md +74 -0
  85. package/docs/api/components/index.md +55 -0
  86. package/docs/api/functions/access.md +35 -0
  87. package/docs/api/functions/accessibilityFromProps.md +18 -0
  88. package/docs/api/functions/computeModifiersPrefix.md +20 -0
  89. package/docs/api/functions/createCSharpNamePolicy.md +17 -0
  90. package/docs/api/functions/createCSharpNamespaceScope.md +18 -0
  91. package/docs/api/functions/createClassScope.md +27 -0
  92. package/docs/api/functions/createFieldSymbol.md +43 -0
  93. package/docs/api/functions/createLibrary.md +19 -0
  94. package/docs/api/functions/createMethodScope.md +26 -0
  95. package/docs/api/functions/createMethodSymbol.md +34 -0
  96. package/docs/api/functions/createNamedTypeScope.md +27 -0
  97. package/docs/api/functions/createNamedTypeSymbol.md +35 -0
  98. package/docs/api/functions/createNamespaceSymbol.md +43 -0
  99. package/docs/api/functions/createParameterSymbol.md +45 -0
  100. package/docs/api/functions/createPropertySymbol.md +43 -0
  101. package/docs/api/functions/createTypeParameterSymbol.md +34 -0
  102. package/docs/api/functions/createVariableSymbol.md +43 -0
  103. package/docs/api/functions/getAccessModifier.md +18 -0
  104. package/docs/api/functions/getAsyncModifier.md +18 -0
  105. package/docs/api/functions/index.md +33 -0
  106. package/docs/api/functions/makeModifiers.md +18 -0
  107. package/docs/api/functions/nonAccessibilityFromProps.md +18 -0
  108. package/docs/api/functions/ref.md +18 -0
  109. package/docs/api/functions/useCSharpNamePolicy.md +17 -0
  110. package/docs/api/functions/useCSharpScope.md +17 -0
  111. package/docs/api/functions/useCsharpFormatOptions.md +18 -0
  112. package/docs/api/functions/useEnclosingNamespaceScope.md +17 -0
  113. package/docs/api/functions/useLexicalScope.md +17 -0
  114. package/docs/api/functions/useMethodScope.md +17 -0
  115. package/docs/api/functions/useNamedTypeScope.md +17 -0
  116. package/docs/api/functions/useNamespace.md +17 -0
  117. package/docs/api/functions/useSourceFileScope.md +17 -0
  118. package/docs/api/index.md +6 -0
  119. package/docs/api/types/AccessExpressionBuilder.md +11 -0
  120. package/docs/api/types/AccessExpressionPartProps.md +17 -0
  121. package/docs/api/types/AccessModifiers.md +13 -0
  122. package/docs/api/types/AttributeProps.md +8 -0
  123. package/docs/api/types/AttributesProp.md +5 -0
  124. package/docs/api/types/CSharpClassScope.md +9 -0
  125. package/docs/api/types/CSharpElements.md +5 -0
  126. package/docs/api/types/CSharpFormatOptions.md +5 -0
  127. package/docs/api/types/CSharpLexicalScope.md +10 -0
  128. package/docs/api/types/CSharpMethodScope.md +12 -0
  129. package/docs/api/types/CSharpNamedTypeScope.md +16 -0
  130. package/docs/api/types/CSharpNamespaceScope.md +10 -0
  131. package/docs/api/types/CSharpProjectSdk.md +5 -0
  132. package/docs/api/types/CSharpScope.md +12 -0
  133. package/docs/api/types/CSharpSourceFileScope.md +13 -0
  134. package/docs/api/types/CSharpSymbol.md +30 -0
  135. package/docs/api/types/CSharpSymbolKinds.md +5 -0
  136. package/docs/api/types/CSharpSymbolOptions.md +17 -0
  137. package/docs/api/types/ClassDescriptor.md +9 -0
  138. package/docs/api/types/ClassModifiers.md +10 -0
  139. package/docs/api/types/CreateMethodSymbolOptions.md +9 -0
  140. package/docs/api/types/CreateTypeParameterSymbolOptions.md +9 -0
  141. package/docs/api/types/DeclarationModifiers.md +8 -0
  142. package/docs/api/types/DeclaredAccessibility.md +5 -0
  143. package/docs/api/types/Descriptor.md +5 -0
  144. package/docs/api/types/DocCommentTagProps.md +7 -0
  145. package/docs/api/types/EnumDescriptor.md +9 -0
  146. package/docs/api/types/FieldDescriptor.md +9 -0
  147. package/docs/api/types/FieldModifiers.md +12 -0
  148. package/docs/api/types/GenericDescriptor.md +7 -0
  149. package/docs/api/types/InterfaceDescriptor.md +9 -0
  150. package/docs/api/types/InterfaceMethodModifiers.md +9 -0
  151. package/docs/api/types/InterfaceModifiers.md +7 -0
  152. package/docs/api/types/InterfacePropertyModifiers.md +9 -0
  153. package/docs/api/types/LexicalScopeProps.md +5 -0
  154. package/docs/api/types/LibraryFrom.md +7 -0
  155. package/docs/api/types/MemberDescriptor.md +16 -0
  156. package/docs/api/types/MethodDescriptor.md +10 -0
  157. package/docs/api/types/MethodKinds.md +5 -0
  158. package/docs/api/types/MethodModifiers.md +15 -0
  159. package/docs/api/types/MethodScopeProps.md +5 -0
  160. package/docs/api/types/MethodSymbol.md +13 -0
  161. package/docs/api/types/NamedTypeDescriptor.md +11 -0
  162. package/docs/api/types/NamedTypeSymbol.md +17 -0
  163. package/docs/api/types/NamedTypeSymbolKind.md +5 -0
  164. package/docs/api/types/NamedTypeTypeKind.md +5 -0
  165. package/docs/api/types/NamespaceDescriptor.md +8 -0
  166. package/docs/api/types/NamespaceSymbol.md +16 -0
  167. package/docs/api/types/NamespaceSymbolOptions.md +9 -0
  168. package/docs/api/types/NonAccessModifiers.md +13 -0
  169. package/docs/api/types/PropertyDescriptor_2.md +9 -0
  170. package/docs/api/types/PropertyModifiers.md +17 -0
  171. package/docs/api/types/RecordDescriptor.md +9 -0
  172. package/docs/api/types/RecordModifiers.md +7 -0
  173. package/docs/api/types/ResolveDescriptor.md +7 -0
  174. package/docs/api/types/StructDescriptor.md +9 -0
  175. package/docs/api/types/StructModifiers.md +10 -0
  176. package/docs/api/types/TypeParameterProps.md +11 -0
  177. package/docs/api/types/VarModifiers.md +8 -0
  178. package/docs/api/types/index.md +62 -0
  179. package/docs/api/variables/Attribute.md +21 -0
  180. package/docs/api/variables/index.md +3 -0
  181. package/package.json +5 -5
  182. package/src/components/constructor/constructor.test.tsx +91 -0
  183. package/src/components/constructor/constructor.tsx +86 -1
  184. package/src/components/enum/declaration.test.tsx +20 -0
  185. package/src/components/enum/declaration.tsx +4 -0
  186. package/src/components/enum/member.test.tsx +21 -0
  187. package/src/components/enum/member.tsx +5 -0
  188. package/temp/api.json +149 -5
@@ -0,0 +1,78 @@
1
+ # InterfaceProperty
2
+
3
+ Render a C# interface property.
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { InterfaceProperty } from "@alloy-js/csharp";
9
+
10
+
11
+ <InterfaceProperty
12
+ attributes={AttributesProp}
13
+ doc={Children}
14
+ file
15
+ get
16
+ internal
17
+ name={string | Namekey}
18
+ new
19
+ nullable
20
+ private
21
+ protected
22
+ public
23
+ refkey={Refkey}
24
+ set
25
+ type={Children}
26
+ />
27
+ ```
28
+
29
+ * stc
30
+
31
+ ```ts
32
+ import { InterfaceProperty } from "@alloy-js/csharp/stc";
33
+
34
+
35
+ InterfaceProperty({
36
+ attributes: AttributesProp,
37
+ doc: Children,
38
+ file: boolean,
39
+ get: boolean,
40
+ internal: boolean,
41
+ name: string | Namekey,
42
+ new: boolean,
43
+ nullable: boolean,
44
+ private: boolean,
45
+ protected: boolean,
46
+ public: boolean,
47
+ refkey: Refkey,
48
+ set: boolean,
49
+ type: Children,
50
+ }).children(children)
51
+ ```
52
+
53
+ ## Props
54
+
55
+ | | | |
56
+ | ---------- | ------------------------------------------------------ | -------------------------------- |
57
+ | attributes | optional [AttributesProp](../../types/attributesprop/) | Define attributes to attach |
58
+ | doc | optional [Children](../../../core/types/children/) | Doc comment |
59
+ | file | optional boolean | |
60
+ | get | optional boolean | If property should have a getter |
61
+ | internal | optional boolean | |
62
+ | name | string \| [Namekey](../../../core/types/namekey/) | |
63
+ | new | optional boolean | |
64
+ | nullable | optional boolean | Property initializer |
65
+ | private | optional boolean | |
66
+ | protected | optional boolean | |
67
+ | public | optional boolean | |
68
+ | refkey | optional [Refkey](../../../core/types/refkey/) | |
69
+ | set | optional boolean | If property should have a setter |
70
+ | type | [Children](../../../core/types/children/) | Property type |
71
+
72
+ ## Example
73
+
74
+ `<InterfaceProperty public name="My" get set />`
75
+
76
+ ```cs
77
+ public int My { get; set; };
78
+ ```
@@ -0,0 +1,49 @@
1
+ # InvocationExpression
2
+
3
+ A call to a function or method.
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { InvocationExpression } from "@alloy-js/csharp";
9
+
10
+
11
+ <InvocationExpression
12
+ args={Children[]}
13
+ target={Children}
14
+ typeArgs={Children[]}
15
+ />
16
+ ```
17
+
18
+ * stc
19
+
20
+ ```ts
21
+ import { InvocationExpression } from "@alloy-js/csharp/stc";
22
+
23
+
24
+ InvocationExpression({
25
+ args: Children[],
26
+ target: Children,
27
+ typeArgs: Children[],
28
+ }).children(children)
29
+ ```
30
+
31
+ ## Props
32
+
33
+ | | | |
34
+ | -------- | ----------------------------------------------------- | ------------------------------------------ |
35
+ | args | optional [Children](../../../core/types/children/)\[] | Arguments to pass to the invocation. |
36
+ | target | [Children](../../../core/types/children/) | |
37
+ | typeArgs | optional [Children](../../../core/types/children/)\[] | Generic type arguments for the invocation. |
38
+
39
+ ## Example
40
+
41
+ ```jsx
42
+ <InvocationExpression target="Foo" typeArgs={["T"]} args={["x"]} />
43
+ ```
44
+
45
+ Renders to:
46
+
47
+ ```csharp
48
+ Foo<T>("x");
49
+ ```
@@ -0,0 +1,65 @@
1
+ # LexicalScope
2
+
3
+ ## Overload 1
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { LexicalScope } from "@alloy-js/csharp";
9
+
10
+
11
+ <LexicalScope value={OutputScope} />
12
+ ```
13
+
14
+ * stc
15
+
16
+ ```ts
17
+ import { LexicalScope } from "@alloy-js/csharp/stc";
18
+
19
+
20
+ LexicalScope({ value: OutputScope }).children(children)
21
+ ```
22
+
23
+ ### Props
24
+
25
+ | | | |
26
+ | -------- | -------------------------------------------------- | --------------------------------------------------------------- |
27
+ | children | optional [Children](../../../core/types/children/) | |
28
+ | value | [OutputScope](../../../core/types/outputscope/) | The scope to use. If not provided, a new scope will be created. |
29
+
30
+ ## Overload 2
31
+
32
+ * jsx
33
+
34
+ ```tsx
35
+ import { LexicalScope } from "@alloy-js/csharp";
36
+
37
+
38
+ <LexicalScope
39
+ metadata={Record<string, unknown>}
40
+ name="string"
41
+ ownerSymbol={OutputSymbol}
42
+ />
43
+ ```
44
+
45
+ * stc
46
+
47
+ ```ts
48
+ import { LexicalScope } from "@alloy-js/csharp/stc";
49
+
50
+
51
+ LexicalScope({
52
+ metadata: Record<string, unknown>,
53
+ name: string,
54
+ ownerSymbol: OutputSymbol,
55
+ }).children(children)
56
+ ```
57
+
58
+ ### Props
59
+
60
+ | | | |
61
+ | ----------- | ---------------------------------------------------------- | --------------------------------------------------------------------------- |
62
+ | children | optional [Children](../../../core/types/children/) | |
63
+ | metadata | optional Record\<string, unknown> | Additional metadata for the scope. |
64
+ | name | optional string | The name of this scope. |
65
+ | ownerSymbol | optional [OutputSymbol](../../../core/types/outputsymbol/) | Create a member scope with the owner symbol providing the in-scope symbols. |
@@ -0,0 +1,92 @@
1
+ # Method
2
+
3
+ * jsx
4
+
5
+ ```tsx
6
+ import { Method } from "@alloy-js/csharp";
7
+
8
+
9
+ <Method
10
+ abstract
11
+ async
12
+ attributes={AttributesProp}
13
+ doc={Children}
14
+ expression
15
+ extern
16
+ file
17
+ internal
18
+ name={string | Namekey}
19
+ override
20
+ parameters={Array<ParameterProps>}
21
+ private
22
+ protected
23
+ public
24
+ readonly
25
+ refkey={Refkey}
26
+ returns={Children}
27
+ sealed
28
+ static
29
+ typeParameters={(TypeParameterProps | string)[]}
30
+ virtual
31
+ >
32
+ {children}
33
+ </Method>
34
+ ```
35
+
36
+ * stc
37
+
38
+ ```ts
39
+ import { Method } from "@alloy-js/csharp/stc";
40
+
41
+
42
+ Method({
43
+ abstract: boolean,
44
+ async: boolean,
45
+ attributes: AttributesProp,
46
+ doc: Children,
47
+ expression: boolean,
48
+ extern: boolean,
49
+ file: boolean,
50
+ internal: boolean,
51
+ name: string | Namekey,
52
+ override: boolean,
53
+ parameters: Array<ParameterProps>,
54
+ private: boolean,
55
+ protected: boolean,
56
+ public: boolean,
57
+ readonly: boolean,
58
+ refkey: Refkey,
59
+ returns: Children,
60
+ sealed: boolean,
61
+ static: boolean,
62
+ typeParameters: (TypeParameterProps | string)[],
63
+ virtual: boolean,
64
+ }).children(children)
65
+ ```
66
+
67
+ ## Props
68
+
69
+ | | | |
70
+ | -------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------- |
71
+ | abstract | optional boolean | |
72
+ | async | optional boolean | If true, the method will be declared as an async method. |
73
+ | attributes | optional [AttributesProp](../../types/attributesprop/) | Define attributes to attach |
74
+ | children | optional [Children](../../../core/types/children/) | |
75
+ | doc | optional [Children](../../../core/types/children/) | Doc comment |
76
+ | expression | optional boolean | Use expression syntax for the method. |
77
+ | extern | optional boolean | |
78
+ | file | optional boolean | |
79
+ | internal | optional boolean | |
80
+ | name | string \| [Namekey](../../../core/types/namekey/) | |
81
+ | override | optional boolean | |
82
+ | parameters | optional Array<[ParameterProps](../parameter/)> | An array of parameter descriptors. |
83
+ | private | optional boolean | |
84
+ | protected | optional boolean | |
85
+ | public | optional boolean | |
86
+ | readonly | optional boolean | |
87
+ | refkey | optional [Refkey](../../../core/types/refkey/) | |
88
+ | returns | optional [Children](../../../core/types/children/) | |
89
+ | sealed | optional boolean | |
90
+ | static | optional boolean | |
91
+ | typeParameters | optional ([TypeParameterProps](../../types/typeparameterprops/) \| string)\[] | Type parameters for the method |
92
+ | virtual | optional boolean | |
@@ -0,0 +1,65 @@
1
+ # MethodScope
2
+
3
+ ## Overload 1
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { MethodScope } from "@alloy-js/csharp";
9
+
10
+
11
+ <MethodScope value={OutputScope} />
12
+ ```
13
+
14
+ * stc
15
+
16
+ ```ts
17
+ import { MethodScope } from "@alloy-js/csharp/stc";
18
+
19
+
20
+ MethodScope({ value: OutputScope }).children(children)
21
+ ```
22
+
23
+ ### Props
24
+
25
+ | | | |
26
+ | -------- | -------------------------------------------------- | --------------------------------------------------------------- |
27
+ | children | optional [Children](../../../core/types/children/) | |
28
+ | value | [OutputScope](../../../core/types/outputscope/) | The scope to use. If not provided, a new scope will be created. |
29
+
30
+ ## Overload 2
31
+
32
+ * jsx
33
+
34
+ ```tsx
35
+ import { MethodScope } from "@alloy-js/csharp";
36
+
37
+
38
+ <MethodScope
39
+ metadata={Record<string, unknown>}
40
+ name="string"
41
+ ownerSymbol={OutputSymbol}
42
+ />
43
+ ```
44
+
45
+ * stc
46
+
47
+ ```ts
48
+ import { MethodScope } from "@alloy-js/csharp/stc";
49
+
50
+
51
+ MethodScope({
52
+ metadata: Record<string, unknown>,
53
+ name: string,
54
+ ownerSymbol: OutputSymbol,
55
+ }).children(children)
56
+ ```
57
+
58
+ ### Props
59
+
60
+ | | | |
61
+ | ----------- | ---------------------------------------------------------- | --------------------------------------------------------------------------- |
62
+ | children | optional [Children](../../../core/types/children/) | |
63
+ | metadata | optional Record\<string, unknown> | Additional metadata for the scope. |
64
+ | name | optional string | The name of this scope. |
65
+ | ownerSymbol | optional [OutputSymbol](../../../core/types/outputsymbol/) | Create a member scope with the owner symbol providing the in-scope symbols. |
@@ -0,0 +1,19 @@
1
+ # Name
2
+
3
+ * jsx
4
+
5
+ ```tsx
6
+ import { Name } from "@alloy-js/csharp";
7
+
8
+
9
+ <Name />
10
+ ```
11
+
12
+ * stc
13
+
14
+ ```ts
15
+ import { Name } from "@alloy-js/csharp/stc";
16
+
17
+
18
+ Name({ }).children(children)
19
+ ```
@@ -0,0 +1,35 @@
1
+ # Namespace
2
+
3
+ * jsx
4
+
5
+ ```tsx
6
+ import { Namespace } from "@alloy-js/csharp";
7
+
8
+
9
+ <Namespace
10
+ name={string | Namekey | (string | Namekey)[]}
11
+ refkey={Refkey | Refkey[]}
12
+ >
13
+ {children}
14
+ </Namespace>
15
+ ```
16
+
17
+ * stc
18
+
19
+ ```ts
20
+ import { Namespace } from "@alloy-js/csharp/stc";
21
+
22
+
23
+ Namespace({
24
+ name: string | Namekey | (string | Namekey)[],
25
+ refkey: Refkey | Refkey[],
26
+ }).children(children)
27
+ ```
28
+
29
+ ## Props
30
+
31
+ | | | |
32
+ | -------- | ----------------------------------------------------------------------------------------------------------- | - |
33
+ | children | optional [Children](../../../core/types/children/) | |
34
+ | name | string \| [Namekey](../../../core/types/namekey/) \| (string \| [Namekey](../../../core/types/namekey/))\[] | |
35
+ | refkey | optional [Refkey](../../../core/types/refkey/) \| [Refkey](../../../core/types/refkey/)\[] | |
@@ -0,0 +1,58 @@
1
+ # Parameter
2
+
3
+ Define a parameter to be used in class or interface method.
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { Parameter } from "@alloy-js/csharp";
9
+
10
+
11
+ <Parameter
12
+ attributes={AttributesProp}
13
+ default={Children}
14
+ in
15
+ name={string | Namekey}
16
+ optional
17
+ out
18
+ ref
19
+ refReadonly
20
+ refkey={Refkey}
21
+ type={Children}
22
+ />
23
+ ```
24
+
25
+ * stc
26
+
27
+ ```ts
28
+ import { Parameter } from "@alloy-js/csharp/stc";
29
+
30
+
31
+ Parameter({
32
+ attributes: AttributesProp,
33
+ default: Children,
34
+ in: boolean,
35
+ name: string | Namekey,
36
+ optional: boolean,
37
+ out: boolean,
38
+ ref: boolean,
39
+ refReadonly: boolean,
40
+ refkey: Refkey,
41
+ type: Children,
42
+ }).children(children)
43
+ ```
44
+
45
+ ## Props
46
+
47
+ | | | |
48
+ | ----------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
49
+ | attributes | optional [AttributesProp](../../types/attributesprop/) | Define attributes to attach |
50
+ | default | optional [Children](../../../core/types/children/) | Default value for the parameter |
51
+ | in | optional boolean | Parameter modifier: The argument must be initialized before calling the method. The method can’t assign a new value to the parameter. The compiler might create a temporary variable to hold a copy of the argument to in parameters. |
52
+ | name | string \| [Namekey](../../../core/types/namekey/) | |
53
+ | optional | optional boolean | If the parmaeter is optional(without default value) |
54
+ | out | optional boolean | Parameter modifier: The calling method isn’t required to initialize the argument before calling the method. The method must assign a value to the parameter. |
55
+ | ref | optional boolean | Parameter modifier: The argument must be initialized before calling the method. The method can assign a new value to the parameter, but isn’t required to do so. |
56
+ | refReadonly | optional boolean | Parameter modifier: The argument must be initialized before calling the method. The method can’t assign a new value to the parameter. |
57
+ | refkey | optional [Refkey](../../../core/types/refkey/) | |
58
+ | type | [Children](../../../core/types/children/) | |
@@ -0,0 +1,27 @@
1
+ # Parameters_2
2
+
3
+ Render a collection of parameters
4
+
5
+ * jsx
6
+
7
+ ```tsx
8
+ import { Parameters_2 } from "@alloy-js/csharp";
9
+
10
+
11
+ <Parameters_2 parameters={ParameterProps[] | undefined} />
12
+ ```
13
+
14
+ * stc
15
+
16
+ ```ts
17
+ import { Parameters_2 } from "@alloy-js/csharp/stc";
18
+
19
+
20
+ Parameters_2({ parameters: ParameterProps[] | undefined }).children(children)
21
+ ```
22
+
23
+ ## Props
24
+
25
+ | | | |
26
+ | ---------- | ----------------------------------------------- | - |
27
+ | parameters | [ParameterProps](../parameter/)\[] \| undefined | |
@@ -0,0 +1,110 @@
1
+ # Property
2
+
3
+ Render a C# class property.
4
+
5
+ Properties for [Property](../property/) component
6
+
7
+ * jsx
8
+
9
+ ```tsx
10
+ import { Property } from "@alloy-js/csharp";
11
+
12
+
13
+ <Property
14
+ abstract
15
+ attributes={AttributesProp}
16
+ doc={Children}
17
+ extern
18
+ file
19
+ get
20
+ init
21
+ initializer={Children}
22
+ internal
23
+ name={Namekey | string}
24
+ new
25
+ nullable
26
+ override
27
+ private
28
+ protected
29
+ public
30
+ readonly
31
+ refkey={Refkey}
32
+ required
33
+ sealed
34
+ set
35
+ static
36
+ type={Children}
37
+ virtual
38
+ />
39
+ ```
40
+
41
+ * stc
42
+
43
+ ```ts
44
+ import { Property } from "@alloy-js/csharp/stc";
45
+
46
+
47
+ Property({
48
+ abstract: boolean,
49
+ attributes: AttributesProp,
50
+ doc: Children,
51
+ extern: boolean,
52
+ file: boolean,
53
+ get: boolean,
54
+ init: boolean,
55
+ initializer: Children,
56
+ internal: boolean,
57
+ name: Namekey | string,
58
+ new: boolean,
59
+ nullable: boolean,
60
+ override: boolean,
61
+ private: boolean,
62
+ protected: boolean,
63
+ public: boolean,
64
+ readonly: boolean,
65
+ refkey: Refkey,
66
+ required: boolean,
67
+ sealed: boolean,
68
+ set: boolean,
69
+ static: boolean,
70
+ type: Children,
71
+ virtual: boolean,
72
+ }).children(children)
73
+ ```
74
+
75
+ ## Props
76
+
77
+ | | | |
78
+ | ----------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
79
+ | abstract | optional boolean | |
80
+ | attributes | optional [AttributesProp](../../types/attributesprop/) | Define attributes to attach |
81
+ | doc | optional [Children](../../../core/types/children/) | Doc comment |
82
+ | extern | optional boolean | |
83
+ | file | optional boolean | |
84
+ | get | optional boolean | If property should have a getter |
85
+ | init | optional boolean | If property should only be set on the type creation |
86
+ | initializer | optional [Children](../../../core/types/children/) | Property initializer |
87
+ | internal | optional boolean | |
88
+ | name | [Namekey](../../../core/types/namekey/) \| string | |
89
+ | new | optional boolean | |
90
+ | nullable | optional boolean | Property initializer |
91
+ | override | optional boolean | |
92
+ | private | optional boolean | |
93
+ | protected | optional boolean | |
94
+ | public | optional boolean | |
95
+ | readonly | optional boolean | |
96
+ | refkey | optional [Refkey](../../../core/types/refkey/) | |
97
+ | required | optional boolean | Set required modifier on property <https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/required> |
98
+ | sealed | optional boolean | |
99
+ | set | optional boolean | If property should have a setter |
100
+ | static | optional boolean | |
101
+ | type | [Children](../../../core/types/children/) | Property type |
102
+ | virtual | optional boolean | |
103
+
104
+ ## Example
105
+
106
+ `<ClassProperty public name="My" get set />`
107
+
108
+ ```cs
109
+ public int My { get; set; };
110
+ ```