@alloy-js/csharp 0.18.0-dev.3 → 0.18.0-dev.4
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.
- package/dist/src/components/Class.d.ts +4 -7
- package/dist/src/components/Class.d.ts.map +1 -1
- package/dist/src/components/Class.js +8 -6
- package/dist/src/components/ClassMethod.d.ts +2 -4
- package/dist/src/components/ClassMethod.d.ts.map +1 -1
- package/dist/src/components/ClassMethod.js +2 -2
- package/dist/src/components/Enum.d.ts +2 -3
- package/dist/src/components/Enum.d.ts.map +1 -1
- package/dist/src/components/Enum.js +4 -3
- package/dist/src/modifiers.d.ts +17 -4
- package/dist/src/modifiers.d.ts.map +1 -1
- package/dist/src/modifiers.js +9 -29
- package/dist/test/class-method.test.js +14 -12
- package/dist/test/class.test.js +24 -24
- package/dist/test/enum.test.js +6 -6
- package/dist/test/namespace.test.js +4 -4
- package/dist/test/projectdirectory.test.js +4 -4
- package/dist/test/sourcefile.test.js +2 -2
- package/dist/test/using.test.js +5 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/components/Class.tsx +18 -12
- package/src/components/ClassMethod.tsx +6 -10
- package/src/components/Enum.tsx +9 -4
- package/src/modifiers.ts +36 -39
- package/temp/api.json +357 -216
- package/test/class-method.test.tsx +6 -12
- package/test/class.test.tsx +23 -58
- package/test/enum.test.tsx +6 -8
- package/test/namespace.test.tsx +4 -4
- package/test/projectdirectory.test.tsx +4 -4
- package/test/sourcefile.test.tsx +2 -2
- package/test/using.test.tsx +5 -13
|
@@ -5,7 +5,7 @@ import { TestNamespace } from "./utils.jsx";
|
|
|
5
5
|
|
|
6
6
|
const Wrapper = (props: { children: Children }) => (
|
|
7
7
|
<TestNamespace>
|
|
8
|
-
<Class
|
|
8
|
+
<Class public name="TestClass">
|
|
9
9
|
{props.children}
|
|
10
10
|
</Class>
|
|
11
11
|
</TestNamespace>
|
|
@@ -18,7 +18,7 @@ describe("modifiers", () => {
|
|
|
18
18
|
(accessModifier) => {
|
|
19
19
|
expect(
|
|
20
20
|
<Wrapper>
|
|
21
|
-
<ClassMethod
|
|
21
|
+
<ClassMethod {...{ [accessModifier]: true }} name="MethodOne" />
|
|
22
22
|
</Wrapper>,
|
|
23
23
|
).toRenderTo(`
|
|
24
24
|
public class TestClass
|
|
@@ -36,7 +36,7 @@ describe("modifiers", () => {
|
|
|
36
36
|
(methodModifier) => {
|
|
37
37
|
expect(
|
|
38
38
|
<Wrapper>
|
|
39
|
-
<ClassMethod
|
|
39
|
+
<ClassMethod {...{ [methodModifier]: true }} name="MethodOne" />
|
|
40
40
|
</Wrapper>,
|
|
41
41
|
).toRenderTo(`
|
|
42
42
|
public class TestClass
|
|
@@ -50,7 +50,7 @@ describe("modifiers", () => {
|
|
|
50
50
|
it("abstract exclude body", () => {
|
|
51
51
|
expect(
|
|
52
52
|
<Wrapper>
|
|
53
|
-
<ClassMethod
|
|
53
|
+
<ClassMethod abstract name="MethodOne" />
|
|
54
54
|
</Wrapper>,
|
|
55
55
|
).toRenderTo(`
|
|
56
56
|
public class TestClass
|
|
@@ -77,13 +77,7 @@ describe("modifiers", () => {
|
|
|
77
77
|
it("combine modifiers", () => {
|
|
78
78
|
expect(
|
|
79
79
|
<Wrapper>
|
|
80
|
-
<ClassMethod
|
|
81
|
-
async
|
|
82
|
-
returns="Task"
|
|
83
|
-
accessModifier="public"
|
|
84
|
-
methodModifier="abstract"
|
|
85
|
-
name="MethodOne"
|
|
86
|
-
/>
|
|
80
|
+
<ClassMethod async returns="Task" public abstract name="MethodOne" />
|
|
87
81
|
</Wrapper>,
|
|
88
82
|
).toRenderTo(`
|
|
89
83
|
public class TestClass
|
|
@@ -120,7 +114,7 @@ it("defines params and return type", () => {
|
|
|
120
114
|
const res = (
|
|
121
115
|
<Wrapper>
|
|
122
116
|
<ClassMethod
|
|
123
|
-
|
|
117
|
+
public
|
|
124
118
|
name="MethodOne"
|
|
125
119
|
parameters={params}
|
|
126
120
|
returns="string"
|
package/test/class.test.tsx
CHANGED
|
@@ -5,9 +5,7 @@ import * as csharp from "../src/index.js";
|
|
|
5
5
|
import * as utils from "./utils.js";
|
|
6
6
|
|
|
7
7
|
it("declares class with no members", () => {
|
|
8
|
-
const res = utils.toSourceText(
|
|
9
|
-
<csharp.Class accessModifier="public" name="TestClass" />,
|
|
10
|
-
);
|
|
8
|
+
const res = utils.toSourceText(<csharp.Class public name="TestClass" />);
|
|
11
9
|
|
|
12
10
|
expect(res).toBe(coretest.d`
|
|
13
11
|
namespace TestCode
|
|
@@ -19,18 +17,10 @@ it("declares class with no members", () => {
|
|
|
19
17
|
|
|
20
18
|
it("declares class with some members", () => {
|
|
21
19
|
const res = utils.toSourceText(
|
|
22
|
-
<csharp.Class
|
|
20
|
+
<csharp.Class public name="TestClass">
|
|
23
21
|
<core.StatementList>
|
|
24
|
-
<csharp.ClassMember
|
|
25
|
-
|
|
26
|
-
name="MemberOne"
|
|
27
|
-
type="string"
|
|
28
|
-
/>
|
|
29
|
-
<csharp.ClassMember
|
|
30
|
-
accessModifier="private"
|
|
31
|
-
name="MemberTwo"
|
|
32
|
-
type="int"
|
|
33
|
-
/>
|
|
22
|
+
<csharp.ClassMember public name="MemberOne" type="string" />
|
|
23
|
+
<csharp.ClassMember private name="MemberTwo" type="int" />
|
|
34
24
|
</core.StatementList>
|
|
35
25
|
</csharp.Class>,
|
|
36
26
|
);
|
|
@@ -49,14 +39,10 @@ it("declares class with some members", () => {
|
|
|
49
39
|
|
|
50
40
|
it("declares class with some methods", () => {
|
|
51
41
|
const res = utils.toSourceText(
|
|
52
|
-
<csharp.Class
|
|
42
|
+
<csharp.Class public name="TestClass">
|
|
53
43
|
<core.List>
|
|
54
|
-
<csharp.ClassMethod
|
|
55
|
-
<csharp.ClassMethod
|
|
56
|
-
accessModifier="private"
|
|
57
|
-
methodModifier="virtual"
|
|
58
|
-
name="MethodTwo"
|
|
59
|
-
/>
|
|
44
|
+
<csharp.ClassMethod public name="MethodOne" />
|
|
45
|
+
<csharp.ClassMethod private virtual name="MethodTwo" />
|
|
60
46
|
</core.List>
|
|
61
47
|
</csharp.Class>,
|
|
62
48
|
);
|
|
@@ -93,39 +79,31 @@ it("uses refkeys for members, params, and return type", () => {
|
|
|
93
79
|
<core.Output namePolicy={csharp.createCSharpNamePolicy()}>
|
|
94
80
|
<csharp.Namespace name="TestCode">
|
|
95
81
|
<csharp.SourceFile path="Test.cs">
|
|
96
|
-
<csharp.Enum
|
|
97
|
-
accessModifier="public"
|
|
98
|
-
name="TestEnum"
|
|
99
|
-
refkey={enumTypeRefkey}
|
|
100
|
-
>
|
|
82
|
+
<csharp.Enum public name="TestEnum" refkey={enumTypeRefkey}>
|
|
101
83
|
<core.List comma hardline>
|
|
102
84
|
<csharp.EnumMember name="One" />
|
|
103
85
|
<csharp.EnumMember name="Two" />
|
|
104
86
|
</core.List>
|
|
105
87
|
</csharp.Enum>
|
|
106
88
|
<hbr />
|
|
107
|
-
<csharp.Class
|
|
108
|
-
accessModifier="public"
|
|
109
|
-
name="TestInput"
|
|
110
|
-
refkey={inputTypeRefkey}
|
|
111
|
-
/>
|
|
89
|
+
<csharp.Class public name="TestInput" refkey={inputTypeRefkey} />
|
|
112
90
|
<hbr />
|
|
113
91
|
<csharp.Class
|
|
114
|
-
|
|
92
|
+
public
|
|
115
93
|
name="TestResult"
|
|
116
94
|
refkey={testResultTypeRefkey}
|
|
117
95
|
/>
|
|
118
96
|
<hbr />
|
|
119
|
-
<csharp.Class
|
|
97
|
+
<csharp.Class public name="TestClass">
|
|
120
98
|
<csharp.ClassMember
|
|
121
|
-
|
|
99
|
+
private
|
|
122
100
|
name="MemberOne"
|
|
123
101
|
type={enumTypeRefkey}
|
|
124
102
|
/>
|
|
125
103
|
;
|
|
126
104
|
<hbr />
|
|
127
105
|
<csharp.ClassMethod
|
|
128
|
-
|
|
106
|
+
public
|
|
129
107
|
name="MethodOne"
|
|
130
108
|
parameters={params}
|
|
131
109
|
returns={testResultTypeRefkey}
|
|
@@ -167,23 +145,10 @@ it("declares class with generic parameters", () => {
|
|
|
167
145
|
};
|
|
168
146
|
|
|
169
147
|
const res = utils.toSourceText(
|
|
170
|
-
<csharp.Class
|
|
171
|
-
|
|
172
|
-
name="TestClass"
|
|
173
|
-
typeParameters={typeParameters}
|
|
174
|
-
>
|
|
175
|
-
<csharp.ClassMember
|
|
176
|
-
accessModifier="public"
|
|
177
|
-
name="memberOne"
|
|
178
|
-
type={typeParameters.T}
|
|
179
|
-
/>
|
|
148
|
+
<csharp.Class public name="TestClass" typeParameters={typeParameters}>
|
|
149
|
+
<csharp.ClassMember public name="memberOne" type={typeParameters.T} />
|
|
180
150
|
;<hbr />
|
|
181
|
-
<csharp.ClassMember
|
|
182
|
-
accessModifier="private"
|
|
183
|
-
name="memberTwo"
|
|
184
|
-
type={typeParameters.U}
|
|
185
|
-
/>
|
|
186
|
-
;
|
|
151
|
+
<csharp.ClassMember private name="memberTwo" type={typeParameters.U} />;
|
|
187
152
|
</csharp.Class>,
|
|
188
153
|
);
|
|
189
154
|
|
|
@@ -201,7 +166,7 @@ it("declares class with generic parameters", () => {
|
|
|
201
166
|
|
|
202
167
|
it("declares class with invalid members", () => {
|
|
203
168
|
const decl = (
|
|
204
|
-
<csharp.Class
|
|
169
|
+
<csharp.Class public name="TestClass">
|
|
205
170
|
<csharp.EnumMember name="One" />,<hbr />
|
|
206
171
|
<csharp.EnumMember name="Two" />
|
|
207
172
|
</csharp.Class>
|
|
@@ -214,8 +179,8 @@ it("declares class with invalid members", () => {
|
|
|
214
179
|
|
|
215
180
|
it("declares class with constructor", () => {
|
|
216
181
|
const res = utils.toSourceText(
|
|
217
|
-
<csharp.Class
|
|
218
|
-
<csharp.ClassConstructor
|
|
182
|
+
<csharp.Class public name="TestClass">
|
|
183
|
+
<csharp.ClassConstructor public />
|
|
219
184
|
</csharp.Class>,
|
|
220
185
|
);
|
|
221
186
|
|
|
@@ -250,22 +215,22 @@ it("declares class with constructor params and assigns values to fields", () =>
|
|
|
250
215
|
];
|
|
251
216
|
|
|
252
217
|
const res = utils.toSourceText(
|
|
253
|
-
<csharp.Class
|
|
218
|
+
<csharp.Class public name="TestClass">
|
|
254
219
|
<csharp.ClassMember
|
|
255
|
-
|
|
220
|
+
private
|
|
256
221
|
name="name"
|
|
257
222
|
type="string"
|
|
258
223
|
refkey={thisNameRefkey}
|
|
259
224
|
/>
|
|
260
225
|
;<hbr />
|
|
261
226
|
<csharp.ClassMember
|
|
262
|
-
|
|
227
|
+
private
|
|
263
228
|
name="size"
|
|
264
229
|
type="int"
|
|
265
230
|
refkey={thisSizeRefkey}
|
|
266
231
|
/>
|
|
267
232
|
;<hbr />
|
|
268
|
-
<csharp.ClassConstructor
|
|
233
|
+
<csharp.ClassConstructor public parameters={ctorParams}>
|
|
269
234
|
{thisNameRefkey} = {paramNameRefkey};<hbr />
|
|
270
235
|
{thisSizeRefkey} = {paramSizeRefkey};
|
|
271
236
|
</csharp.ClassConstructor>
|
package/test/enum.test.tsx
CHANGED
|
@@ -5,9 +5,7 @@ import * as csharp from "../src/index.js";
|
|
|
5
5
|
import * as utils from "./utils.js";
|
|
6
6
|
|
|
7
7
|
it("declares enum with no members", () => {
|
|
8
|
-
const res = utils.toSourceText(
|
|
9
|
-
<csharp.Enum accessModifier="public" name="TestEnum" />,
|
|
10
|
-
);
|
|
8
|
+
const res = utils.toSourceText(<csharp.Enum public name="TestEnum" />);
|
|
11
9
|
|
|
12
10
|
expect(res).toBe(coretest.d`
|
|
13
11
|
namespace TestCode
|
|
@@ -19,7 +17,7 @@ it("declares enum with no members", () => {
|
|
|
19
17
|
|
|
20
18
|
it("declares enum with members", () => {
|
|
21
19
|
const res = utils.toSourceText(
|
|
22
|
-
<csharp.Enum
|
|
20
|
+
<csharp.Enum public name="TestEnum">
|
|
23
21
|
<csharp.EnumMember name="One" />,<hbr />
|
|
24
22
|
<csharp.EnumMember name="Two" />
|
|
25
23
|
</csharp.Enum>,
|
|
@@ -39,7 +37,7 @@ it("declares enum with members", () => {
|
|
|
39
37
|
|
|
40
38
|
it("applies naming policy to enum and members", () => {
|
|
41
39
|
const res = utils.toSourceText(
|
|
42
|
-
<csharp.Enum
|
|
40
|
+
<csharp.Enum public name="testEnum">
|
|
43
41
|
<csharp.EnumMember name="one" />,<hbr />
|
|
44
42
|
<csharp.EnumMember name="two" />
|
|
45
43
|
</csharp.Enum>,
|
|
@@ -65,7 +63,7 @@ it("can reference things by refkey", () => {
|
|
|
65
63
|
<core.Output>
|
|
66
64
|
<csharp.Namespace name="TestCode">
|
|
67
65
|
<csharp.SourceFile path="Test.cs">
|
|
68
|
-
<csharp.Enum
|
|
66
|
+
<csharp.Enum public name="TestEnum" refkey={enumRK}>
|
|
69
67
|
<csharp.EnumMember name="One" />,<hbr />
|
|
70
68
|
<csharp.EnumMember name="Two" refkey={twoRK} />
|
|
71
69
|
</csharp.Enum>
|
|
@@ -99,7 +97,7 @@ it("can reference things by refkey across files", () => {
|
|
|
99
97
|
<core.Output>
|
|
100
98
|
<csharp.Namespace name="TestCode">
|
|
101
99
|
<csharp.SourceFile path="Test.cs">
|
|
102
|
-
<csharp.Enum
|
|
100
|
+
<csharp.Enum public name="TestEnum">
|
|
103
101
|
<csharp.EnumMember name="One" />,<hbr />
|
|
104
102
|
<csharp.EnumMember name="Two" />
|
|
105
103
|
</csharp.Enum>
|
|
@@ -108,7 +106,7 @@ it("can reference things by refkey across files", () => {
|
|
|
108
106
|
{barRK};
|
|
109
107
|
</csharp.SourceFile>
|
|
110
108
|
<csharp.SourceFile path="Other.cs">
|
|
111
|
-
<csharp.Enum
|
|
109
|
+
<csharp.Enum public name="OtherEnum" refkey={enumRK}>
|
|
112
110
|
<csharp.EnumMember name="Foo" />,<hbr />
|
|
113
111
|
<csharp.EnumMember name="Bar" refkey={barRK} />
|
|
114
112
|
</csharp.Enum>
|
package/test/namespace.test.tsx
CHANGED
|
@@ -8,18 +8,18 @@ it("defines multiple namespaces and source files with unique content", () => {
|
|
|
8
8
|
<core.Output>
|
|
9
9
|
<csharp.Namespace name="Namespace1">
|
|
10
10
|
<csharp.SourceFile path="Model1.cs">
|
|
11
|
-
<csharp.Class
|
|
11
|
+
<csharp.Class public name="Model1" />
|
|
12
12
|
</csharp.SourceFile>
|
|
13
13
|
<csharp.SourceFile path="Model2.cs">
|
|
14
|
-
<csharp.Class
|
|
14
|
+
<csharp.Class public name="Model2" />
|
|
15
15
|
</csharp.SourceFile>
|
|
16
16
|
</csharp.Namespace>
|
|
17
17
|
<csharp.Namespace name="Namespace2">
|
|
18
18
|
<csharp.SourceFile path="Model3.cs">
|
|
19
|
-
<csharp.Class
|
|
19
|
+
<csharp.Class public name="Model3" />
|
|
20
20
|
</csharp.SourceFile>
|
|
21
21
|
<csharp.SourceFile path="Model4.cs">
|
|
22
|
-
<csharp.Class
|
|
22
|
+
<csharp.Class public name="Model4" />
|
|
23
23
|
</csharp.SourceFile>
|
|
24
24
|
</csharp.Namespace>
|
|
25
25
|
</core.Output>,
|
|
@@ -14,10 +14,10 @@ it("defines a project directory file with multiple source files", () => {
|
|
|
14
14
|
>
|
|
15
15
|
<csharp.Namespace name="TestCode">
|
|
16
16
|
<csharp.SourceFile path="Test1.cs">
|
|
17
|
-
<csharp.Class
|
|
17
|
+
<csharp.Class public name="TestClass1" />
|
|
18
18
|
</csharp.SourceFile>
|
|
19
19
|
<csharp.SourceFile path="Test2.cs">
|
|
20
|
-
<csharp.Class
|
|
20
|
+
<csharp.Class public name="TestClass2" />
|
|
21
21
|
</csharp.SourceFile>
|
|
22
22
|
</csharp.Namespace>
|
|
23
23
|
</csharp.ProjectDirectory>
|
|
@@ -71,10 +71,10 @@ it("defines a project directory file with multiple source files and a custom TFM
|
|
|
71
71
|
>
|
|
72
72
|
<csharp.Namespace name="TestCode">
|
|
73
73
|
<csharp.SourceFile path="Test1.cs">
|
|
74
|
-
<csharp.Class
|
|
74
|
+
<csharp.Class public name="TestClass1" />
|
|
75
75
|
</csharp.SourceFile>
|
|
76
76
|
<csharp.SourceFile path="Test2.cs">
|
|
77
|
-
<csharp.Class
|
|
77
|
+
<csharp.Class public name="TestClass2" />
|
|
78
78
|
</csharp.SourceFile>
|
|
79
79
|
</csharp.Namespace>
|
|
80
80
|
</csharp.ProjectDirectory>
|
package/test/sourcefile.test.tsx
CHANGED
|
@@ -8,10 +8,10 @@ it("defines multiple source files with unique content", () => {
|
|
|
8
8
|
<core.Output>
|
|
9
9
|
<csharp.Namespace name="TestCode">
|
|
10
10
|
<csharp.SourceFile path="Test1.cs">
|
|
11
|
-
<csharp.Class
|
|
11
|
+
<csharp.Class public name="TestClass1" />
|
|
12
12
|
</csharp.SourceFile>
|
|
13
13
|
<csharp.SourceFile path="Test2.cs">
|
|
14
|
-
<csharp.Class
|
|
14
|
+
<csharp.Class public name="TestClass2" />
|
|
15
15
|
</csharp.SourceFile>
|
|
16
16
|
</csharp.Namespace>
|
|
17
17
|
</core.Output>,
|
package/test/using.test.tsx
CHANGED
|
@@ -52,19 +52,11 @@ it("adds using statement across namespaces", () => {
|
|
|
52
52
|
<core.Output namePolicy={csharp.createCSharpNamePolicy()}>
|
|
53
53
|
<csharp.Namespace name="Models">
|
|
54
54
|
<csharp.SourceFile path="Models.cs">
|
|
55
|
-
<csharp.Class
|
|
56
|
-
accessModifier="public"
|
|
57
|
-
name="Input"
|
|
58
|
-
refkey={inputTypeRefkey}
|
|
59
|
-
/>
|
|
55
|
+
<csharp.Class public name="Input" refkey={inputTypeRefkey} />
|
|
60
56
|
<hbr />
|
|
61
|
-
<csharp.Class
|
|
62
|
-
accessModifier="public"
|
|
63
|
-
name="Output"
|
|
64
|
-
refkey={outputTypeRefkey}
|
|
65
|
-
/>
|
|
57
|
+
<csharp.Class public name="Output" refkey={outputTypeRefkey} />
|
|
66
58
|
<hbr />
|
|
67
|
-
<csharp.Enum
|
|
59
|
+
<csharp.Enum public name="TestEnum">
|
|
68
60
|
<csharp.EnumMember name="One" />,<hbr />
|
|
69
61
|
<csharp.EnumMember name="Two" refkey={twoValRefkey} />
|
|
70
62
|
</csharp.Enum>
|
|
@@ -72,9 +64,9 @@ it("adds using statement across namespaces", () => {
|
|
|
72
64
|
</csharp.Namespace>
|
|
73
65
|
<csharp.Namespace name="Client">
|
|
74
66
|
<csharp.SourceFile path="Client.cs" using={["System"]}>
|
|
75
|
-
<csharp.Class
|
|
67
|
+
<csharp.Class public name="Client">
|
|
76
68
|
<csharp.ClassMethod
|
|
77
|
-
|
|
69
|
+
public
|
|
78
70
|
name="MethodOne"
|
|
79
71
|
parameters={params}
|
|
80
72
|
returns={outputTypeRefkey}
|