@alloy-js/csharp 0.18.0-dev.16 → 0.18.0-dev.18
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/ClassDeclaration.d.ts +14 -1
- package/dist/src/components/ClassDeclaration.d.ts.map +1 -1
- package/dist/src/components/ClassDeclaration.js +12 -25
- package/dist/src/components/ClassMethod.d.ts +14 -0
- package/dist/src/components/ClassMethod.d.ts.map +1 -1
- package/dist/src/components/ClassMethod.js +11 -1
- package/dist/src/components/index.d.ts +2 -0
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +3 -1
- package/dist/src/components/interface/declaration.d.ts +14 -1
- package/dist/src/components/interface/declaration.d.ts.map +1 -1
- package/dist/src/components/interface/declaration.js +12 -25
- package/dist/src/components/interface/declaration.test.js +84 -0
- package/dist/src/components/interface/method.d.ts +14 -0
- package/dist/src/components/interface/method.d.ts.map +1 -1
- package/dist/src/components/interface/method.js +11 -1
- package/dist/src/components/interface/method.test.js +79 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.d.ts +8 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.d.ts.map +1 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.js +44 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts +2 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts.map +1 -0
- package/dist/src/components/type-parameters/type-parameter-constraints.test.js +67 -0
- package/dist/src/components/type-parameters/type-parameter.d.ts +20 -0
- package/dist/src/components/type-parameters/type-parameter.d.ts.map +1 -0
- package/dist/src/components/type-parameters/type-parameter.js +22 -0
- package/dist/src/components/type-parameters/type-parameters.d.ts +17 -0
- package/dist/src/components/type-parameters/type-parameters.d.ts.map +1 -0
- package/dist/src/components/type-parameters/type-parameters.js +65 -0
- package/dist/src/components/type-parameters/type-parameters.test.d.ts +2 -0
- package/dist/src/components/type-parameters/type-parameters.test.d.ts.map +1 -0
- package/dist/src/components/type-parameters/type-parameters.test.js +26 -0
- package/dist/src/components/var/declaration.d.ts +35 -0
- package/dist/src/components/var/declaration.d.ts.map +1 -0
- package/dist/src/components/var/declaration.js +40 -0
- package/dist/src/components/var/declaration.test.d.ts +2 -0
- package/dist/src/components/var/declaration.test.d.ts.map +1 -0
- package/dist/src/components/var/declaration.test.js +73 -0
- package/dist/src/name-policy.d.ts +1 -1
- package/dist/src/name-policy.d.ts.map +1 -1
- package/dist/test/class-declaration.test.js +79 -33
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/components/ClassDeclaration.tsx +23 -27
- package/src/components/ClassMethod.tsx +25 -1
- package/src/components/index.ts +2 -0
- package/src/components/interface/declaration.test.tsx +87 -0
- package/src/components/interface/declaration.tsx +23 -27
- package/src/components/interface/method.test.tsx +78 -0
- package/src/components/interface/method.tsx +24 -1
- package/src/components/type-parameters/type-parameter-constraints.test.tsx +93 -0
- package/src/components/type-parameters/type-parameter-constraints.tsx +46 -0
- package/src/components/type-parameters/type-parameter.tsx +35 -0
- package/src/components/type-parameters/type-parameters.test.tsx +19 -0
- package/src/components/type-parameters/type-parameters.tsx +72 -0
- package/src/components/var/declaration.test.tsx +59 -0
- package/src/components/var/declaration.tsx +47 -0
- package/src/name-policy.ts +1 -0
- package/temp/api.json +415 -23
- package/test/class-declaration.test.tsx +75 -25
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import * as core from "@alloy-js/core";
|
|
2
|
+
import { List, refkey } from "@alloy-js/core";
|
|
2
3
|
import * as coretest from "@alloy-js/core/testing";
|
|
3
4
|
import { describe, expect, it } from "vitest";
|
|
5
|
+
import { TypeParameterProps } from "../src/components/type-parameters/type-parameter.jsx";
|
|
4
6
|
import * as csharp from "../src/index.js";
|
|
5
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
ClassDeclaration,
|
|
9
|
+
ClassMember,
|
|
10
|
+
Property,
|
|
11
|
+
SourceFile,
|
|
12
|
+
} from "../src/index.js";
|
|
6
13
|
import * as utils from "./utils.jsx";
|
|
7
14
|
|
|
8
15
|
it("declares class with no members", () => {
|
|
@@ -217,34 +224,77 @@ it("uses refkeys for members, params, and return type", () => {
|
|
|
217
224
|
`);
|
|
218
225
|
});
|
|
219
226
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
227
|
+
describe("with type parameters", () => {
|
|
228
|
+
it("reference parameters", () => {
|
|
229
|
+
const typeParameters: TypeParameterProps[] = [
|
|
230
|
+
{
|
|
231
|
+
name: "T",
|
|
232
|
+
refkey: refkey(),
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: "U",
|
|
236
|
+
refkey: refkey(),
|
|
237
|
+
},
|
|
238
|
+
];
|
|
225
239
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
240
|
+
expect(
|
|
241
|
+
<utils.TestNamespace>
|
|
242
|
+
<SourceFile path="Test.cs">
|
|
243
|
+
<ClassDeclaration
|
|
244
|
+
public
|
|
245
|
+
name="TestClass"
|
|
246
|
+
typeParameters={typeParameters}
|
|
247
|
+
>
|
|
248
|
+
<List>
|
|
249
|
+
<Property name="PropA" type={typeParameters[0].refkey} get set />
|
|
250
|
+
<Property name="PropB" type={typeParameters[1].refkey} get set />
|
|
251
|
+
</List>
|
|
252
|
+
</ClassDeclaration>
|
|
253
|
+
</SourceFile>
|
|
254
|
+
</utils.TestNamespace>,
|
|
255
|
+
).toRenderTo(`
|
|
256
|
+
namespace TestCode
|
|
257
|
+
{
|
|
241
258
|
public class TestClass<T, U>
|
|
242
259
|
{
|
|
243
|
-
|
|
244
|
-
|
|
260
|
+
T PropA { get; set; }
|
|
261
|
+
U PropB { get; set; }
|
|
245
262
|
}
|
|
246
|
-
|
|
247
|
-
|
|
263
|
+
}
|
|
264
|
+
`);
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
it("defines with constraints", () => {
|
|
268
|
+
const typeParameters: TypeParameterProps[] = [
|
|
269
|
+
{
|
|
270
|
+
name: "T",
|
|
271
|
+
constraints: "IFoo",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: "U",
|
|
275
|
+
constraints: "IBar",
|
|
276
|
+
},
|
|
277
|
+
];
|
|
278
|
+
|
|
279
|
+
expect(
|
|
280
|
+
<utils.TestNamespace>
|
|
281
|
+
<ClassDeclaration
|
|
282
|
+
public
|
|
283
|
+
name="TestClass"
|
|
284
|
+
typeParameters={typeParameters}
|
|
285
|
+
>
|
|
286
|
+
// Body
|
|
287
|
+
</ClassDeclaration>
|
|
288
|
+
</utils.TestNamespace>,
|
|
289
|
+
).toRenderTo(`
|
|
290
|
+
public class TestClass<T, U>
|
|
291
|
+
where T : IFoo
|
|
292
|
+
where U : IBar
|
|
293
|
+
{
|
|
294
|
+
// Body
|
|
295
|
+
}
|
|
296
|
+
`);
|
|
297
|
+
});
|
|
248
298
|
});
|
|
249
299
|
|
|
250
300
|
it("declares class with invalid members", () => {
|