@typespec/emitter-framework 0.11.0-dev.1 → 0.11.0-dev.10
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/core/components/index.js +2 -1
- package/dist/src/core/components/index.js.map +1 -0
- package/dist/src/core/components/output.js +2 -1
- package/dist/src/core/components/output.js.map +1 -0
- package/dist/src/core/components/overrides/component-overrides.js +2 -1
- package/dist/src/core/components/overrides/component-overrides.js.map +1 -0
- package/dist/src/core/components/overrides/config.js +2 -1
- package/dist/src/core/components/overrides/config.js.map +1 -0
- package/dist/src/core/components/overrides/context.js +2 -1
- package/dist/src/core/components/overrides/context.js.map +1 -0
- package/dist/src/core/context/index.js +2 -1
- package/dist/src/core/context/index.js.map +1 -0
- package/dist/src/core/context/name-policy-context.js +2 -1
- package/dist/src/core/context/name-policy-context.js.map +1 -0
- package/dist/src/core/context/tsp-context.js +2 -1
- package/dist/src/core/context/tsp-context.js.map +1 -0
- package/dist/src/core/index.js +2 -1
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/transport-name-policy.js +2 -1
- package/dist/src/core/transport-name-policy.js.map +1 -0
- package/dist/src/core/write-output.d.ts.map +1 -1
- package/dist/src/core/write-output.js +4 -3
- package/dist/src/core/write-output.js.map +1 -0
- package/dist/src/csharp/components/class/declaration.d.ts +1 -1
- package/dist/src/csharp/components/class/declaration.d.ts.map +1 -1
- package/dist/src/csharp/components/class/declaration.js +14 -5
- package/dist/src/csharp/components/class/declaration.js.map +1 -0
- package/dist/src/csharp/components/class/declaration.test.js +65 -105
- package/dist/src/csharp/components/class/declaration.test.js.map +1 -0
- package/dist/src/csharp/components/enum/declaration.js +2 -1
- package/dist/src/csharp/components/enum/declaration.js.map +1 -0
- package/dist/src/csharp/components/enum/declaration.test.js +52 -88
- package/dist/src/csharp/components/enum/declaration.test.js.map +1 -0
- package/dist/src/csharp/components/index.js +2 -1
- package/dist/src/csharp/components/index.js.map +1 -0
- package/dist/src/csharp/components/property/property.d.ts.map +1 -1
- package/dist/src/csharp/components/property/property.js +40 -14
- package/dist/src/csharp/components/property/property.js.map +1 -0
- package/dist/src/csharp/components/property/property.test.js +129 -29
- package/dist/src/csharp/components/property/property.test.js.map +1 -0
- package/dist/src/csharp/components/type-expression.d.ts.map +1 -1
- package/dist/src/csharp/components/type-expression.js +22 -3
- package/dist/src/csharp/components/type-expression.js.map +1 -0
- package/dist/src/csharp/components/type-expression.test.js +87 -54
- package/dist/src/csharp/components/type-expression.test.js.map +1 -0
- package/dist/src/csharp/components/utils/doc-comments.js +2 -1
- package/dist/src/csharp/components/utils/doc-comments.js.map +1 -0
- package/dist/src/csharp/components/utils/nullable-util.d.ts +4 -0
- package/dist/src/csharp/components/utils/nullable-util.d.ts.map +1 -0
- package/dist/src/csharp/components/utils/nullable-util.js +27 -0
- package/dist/src/csharp/components/utils/nullable-util.js.map +1 -0
- package/dist/src/csharp/components/utils/refkey.js +2 -1
- package/dist/src/csharp/components/utils/refkey.js.map +1 -0
- package/dist/src/csharp/index.js +2 -1
- package/dist/src/csharp/index.js.map +1 -0
- package/dist/src/lib.js +2 -1
- package/dist/src/lib.js.map +1 -0
- package/dist/src/testing/index.js +2 -1
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/scenario-test/code-block-expectation.js +2 -1
- package/dist/src/testing/scenario-test/code-block-expectation.js.map +1 -0
- package/dist/src/testing/scenario-test/code-block-expectation.test.js +2 -1
- package/dist/src/testing/scenario-test/code-block-expectation.test.js.map +1 -0
- package/dist/src/testing/scenario-test/harness.js +2 -1
- package/dist/src/testing/scenario-test/harness.js.map +1 -0
- package/dist/src/testing/scenario-test/index.js +2 -1
- package/dist/src/testing/scenario-test/index.js.map +1 -0
- package/dist/src/testing/scenario-test/snippet-extractor.js +2 -1
- package/dist/src/testing/scenario-test/snippet-extractor.js.map +1 -0
- package/dist/src/typescript/components/array-expression.js +2 -1
- package/dist/src/typescript/components/array-expression.js.map +1 -0
- package/dist/src/typescript/components/arrow-function.js +2 -1
- package/dist/src/typescript/components/arrow-function.js.map +1 -0
- package/dist/src/typescript/components/class-method.js +2 -1
- package/dist/src/typescript/components/class-method.js.map +1 -0
- package/dist/src/typescript/components/enum-declaration.js +2 -1
- package/dist/src/typescript/components/enum-declaration.js.map +1 -0
- package/dist/src/typescript/components/function-declaration.js +2 -1
- package/dist/src/typescript/components/function-declaration.js.map +1 -0
- package/dist/src/typescript/components/function-expression.js +2 -1
- package/dist/src/typescript/components/function-expression.js.map +1 -0
- package/dist/src/typescript/components/function-type.js +2 -1
- package/dist/src/typescript/components/function-type.js.map +1 -0
- package/dist/src/typescript/components/index.js +2 -1
- package/dist/src/typescript/components/index.js.map +1 -0
- package/dist/src/typescript/components/interface-declaration.js +2 -1
- package/dist/src/typescript/components/interface-declaration.js.map +1 -0
- package/dist/src/typescript/components/interface-member.js +2 -1
- package/dist/src/typescript/components/interface-member.js.map +1 -0
- package/dist/src/typescript/components/interface-method.js +2 -1
- package/dist/src/typescript/components/interface-method.js.map +1 -0
- package/dist/src/typescript/components/record-expression.js +2 -1
- package/dist/src/typescript/components/record-expression.js.map +1 -0
- package/dist/src/typescript/components/static-serializers.js +2 -1
- package/dist/src/typescript/components/static-serializers.js.map +1 -0
- package/dist/src/typescript/components/type-alias-declaration.js +2 -1
- package/dist/src/typescript/components/type-alias-declaration.js.map +1 -0
- package/dist/src/typescript/components/type-declaration.js +2 -1
- package/dist/src/typescript/components/type-declaration.js.map +1 -0
- package/dist/src/typescript/components/type-expression.js +2 -1
- package/dist/src/typescript/components/type-expression.js.map +1 -0
- package/dist/src/typescript/components/type-transform.js +2 -1
- package/dist/src/typescript/components/type-transform.js.map +1 -0
- package/dist/src/typescript/components/union/declaration.js +2 -1
- package/dist/src/typescript/components/union/declaration.js.map +1 -0
- package/dist/src/typescript/components/union/declaration.test.js +2 -1
- package/dist/src/typescript/components/union/declaration.test.js.map +1 -0
- package/dist/src/typescript/components/union/expression.js +2 -1
- package/dist/src/typescript/components/union/expression.js.map +1 -0
- package/dist/src/typescript/components/union/expression.test.js +2 -1
- package/dist/src/typescript/components/union/expression.test.js.map +1 -0
- package/dist/src/typescript/components/value-expression.js +2 -1
- package/dist/src/typescript/components/value-expression.js.map +1 -0
- package/dist/src/typescript/index.js +2 -1
- package/dist/src/typescript/index.js.map +1 -0
- package/dist/src/typescript/lib.js +2 -1
- package/dist/src/typescript/lib.js.map +1 -0
- package/dist/src/typescript/utils/index.js +2 -1
- package/dist/src/typescript/utils/index.js.map +1 -0
- package/dist/src/typescript/utils/operation.js +2 -1
- package/dist/src/typescript/utils/operation.js.map +1 -0
- package/dist/src/typescript/utils/refkey.js +2 -1
- package/dist/src/typescript/utils/refkey.js.map +1 -0
- package/dist/test/test-host.js +2 -1
- package/dist/test/test-host.js.map +1 -0
- package/dist/test/testing/snippet-extractor-csharp.test.js +2 -1
- package/dist/test/testing/snippet-extractor-csharp.test.js.map +1 -0
- package/dist/test/testing/snippet-extractor-java.test.js +2 -1
- package/dist/test/testing/snippet-extractor-java.test.js.map +1 -0
- package/dist/test/testing/snippet-extractor-python.test.js +2 -1
- package/dist/test/testing/snippet-extractor-python.test.js.map +1 -0
- package/dist/test/testing/snippet-extractor-typescript.test.js +2 -1
- package/dist/test/testing/snippet-extractor-typescript.test.js.map +1 -0
- package/dist/test/typescript/components/arrow-function.test.js +18 -22
- package/dist/test/typescript/components/arrow-function.test.js.map +1 -0
- package/dist/test/typescript/components/component-override.test.js +3 -2
- package/dist/test/typescript/components/component-override.test.js.map +1 -0
- package/dist/test/typescript/components/enum-declaration.test.js +2 -1
- package/dist/test/typescript/components/enum-declaration.test.js.map +1 -0
- package/dist/test/typescript/components/function-declaration.test.js +3 -2
- package/dist/test/typescript/components/function-declaration.test.js.map +1 -0
- package/dist/test/typescript/components/function-expression.test.js +18 -22
- package/dist/test/typescript/components/function-expression.test.js.map +1 -0
- package/dist/test/typescript/components/function-type.test.js +18 -22
- package/dist/test/typescript/components/function-type.test.js.map +1 -0
- package/dist/test/typescript/components/interface-declaration.test.js +3 -2
- package/dist/test/typescript/components/interface-declaration.test.js.map +1 -0
- package/dist/test/typescript/components/interface-method.test.js +37 -45
- package/dist/test/typescript/components/interface-method.test.js.map +1 -0
- package/dist/test/typescript/components/member-expression.test.js +2 -1
- package/dist/test/typescript/components/member-expression.test.js.map +1 -0
- package/dist/test/typescript/components/type-alias-declaration.test.js +8 -5
- package/dist/test/typescript/components/type-alias-declaration.test.js.map +1 -0
- package/dist/test/typescript/components/type-transform.test.js +29 -27
- package/dist/test/typescript/components/type-transform.test.js.map +1 -0
- package/dist/test/typescript/components/value-expression.test.js +3 -2
- package/dist/test/typescript/components/value-expression.test.js.map +1 -0
- package/dist/test/typescript/utils.js +2 -1
- package/dist/test/typescript/utils.js.map +1 -0
- package/dist/test/utils.d.ts +1 -0
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +13 -3
- package/dist/test/utils.js.map +1 -0
- package/dist/test/vitest.setup.js +2 -1
- package/dist/test/vitest.setup.js.map +1 -0
- package/package.json +8 -8
- package/src/core/write-output.ts +2 -2
- package/src/csharp/components/class/declaration.test.tsx +64 -102
- package/src/csharp/components/class/declaration.tsx +13 -3
- package/src/csharp/components/enum/declaration.test.tsx +47 -78
- package/src/csharp/components/property/property.test.tsx +108 -25
- package/src/csharp/components/property/property.tsx +43 -11
- package/src/csharp/components/type-expression.test.tsx +84 -69
- package/src/csharp/components/type-expression.tsx +25 -4
- package/src/csharp/components/utils/nullable-util.ts +25 -0
- package/test/typescript/components/arrow-function.test.tsx +23 -42
- package/test/typescript/components/component-override.test.tsx +1 -1
- package/test/typescript/components/function-declaration.test.tsx +2 -1
- package/test/typescript/components/function-expression.test.tsx +23 -42
- package/test/typescript/components/function-type.test.tsx +22 -40
- package/test/typescript/components/interface-declaration.test.tsx +1 -1
- package/test/typescript/components/interface-method.test.tsx +50 -92
- package/test/typescript/components/type-alias-declaration.test.tsx +8 -6
- package/test/typescript/components/type-transform.test.tsx +37 -37
- package/test/typescript/components/value-expression.test.tsx +1 -1
- package/test/utils.ts +10 -3
- package/dist/test/typescript/test-host.d.ts +0 -12
- package/dist/test/typescript/test-host.d.ts.map +0 -1
- package/dist/test/typescript/test-host.js +0 -29
- package/test/typescript/test-host.ts +0 -37
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { Tester } from "#test/test-host.js";
|
|
2
3
|
import { code, Output } from "@alloy-js/core";
|
|
3
4
|
import * as ts from "@alloy-js/typescript";
|
|
4
5
|
import { SourceFile } from "@alloy-js/typescript";
|
|
6
|
+
import { t } from "@typespec/compiler/testing";
|
|
5
7
|
import { beforeEach, describe, expect, it } from "vitest";
|
|
6
8
|
import { ArraySerializer, DateDeserializer, RecordSerializer } from "../../../src/typescript/components/static-serializers.js";
|
|
7
9
|
import { getTypeTransformerRefkey, ModelTransformExpression, TypeTransformCall, TypeTransformDeclaration } from "../../../src/typescript/components/type-transform.js";
|
|
8
10
|
import { TypeDeclaration } from "../../../src/typescript/index.js";
|
|
9
|
-
import { createEmitterFrameworkTestRunner } from "../test-host.js";
|
|
10
11
|
describe.skip("Typescript Type Transform", () => {
|
|
11
12
|
let testRunner;
|
|
12
13
|
const namePolicy = ts.createTSNamePolicy();
|
|
13
14
|
beforeEach(async () => {
|
|
14
|
-
testRunner = await
|
|
15
|
+
testRunner = await Tester.createInstance();
|
|
15
16
|
});
|
|
16
17
|
describe("Model Transforms", () => {
|
|
17
18
|
describe("ModelTransformExpression", () => {
|
|
18
19
|
it("should render a transform expression to client", async () => {
|
|
19
|
-
const spec = `
|
|
20
|
+
const spec = t.code`
|
|
20
21
|
namespace DemoService;
|
|
21
|
-
@test model Widget {
|
|
22
|
+
@test model ${t.model("Widget")} {
|
|
22
23
|
id: string;
|
|
23
24
|
birth_year: int32;
|
|
24
25
|
color: "blue" | "red";
|
|
@@ -52,9 +53,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
52
53
|
}`);
|
|
53
54
|
});
|
|
54
55
|
it("should render a transform expression to wire", async () => {
|
|
55
|
-
const spec = `
|
|
56
|
+
const spec = t.code`
|
|
56
57
|
namespace DemoService;
|
|
57
|
-
@test model Widget {
|
|
58
|
+
@test model ${t.model("Widget")} {
|
|
58
59
|
id: string;
|
|
59
60
|
birth_year: int32;
|
|
60
61
|
color: "blue" | "red";
|
|
@@ -88,9 +89,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
88
89
|
}`);
|
|
89
90
|
});
|
|
90
91
|
it("should render a transform expression that contains a utcDateTime to client", async () => {
|
|
91
|
-
const spec = `
|
|
92
|
+
const spec = t.code`
|
|
92
93
|
namespace DemoService;
|
|
93
|
-
@test model Widget {
|
|
94
|
+
@test model ${t.model("Widget")} {
|
|
94
95
|
id: string;
|
|
95
96
|
birth_date: utcDateTime;
|
|
96
97
|
color: "blue" | "red";
|
|
@@ -133,9 +134,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
133
134
|
});
|
|
134
135
|
describe("TypeTransformDeclaration", () => {
|
|
135
136
|
it("should render a transform functions for a model containing array", async () => {
|
|
136
|
-
const spec = `
|
|
137
|
+
const spec = t.code`
|
|
137
138
|
namespace DemoService;
|
|
138
|
-
@test model Widget {
|
|
139
|
+
@test model ${t.model("Widget")} {
|
|
139
140
|
id: string;
|
|
140
141
|
my_color: "blue" | "red";
|
|
141
142
|
simple?: string[];
|
|
@@ -205,9 +206,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
205
206
|
`);
|
|
206
207
|
});
|
|
207
208
|
it("should render a transform functions for a model containing record", async () => {
|
|
208
|
-
const spec = `
|
|
209
|
+
const spec = t.code`
|
|
209
210
|
namespace DemoService;
|
|
210
|
-
@test model Widget {
|
|
211
|
+
@test model ${t.model("Widget")} {
|
|
211
212
|
id: string;
|
|
212
213
|
my_color: "blue" | "red";
|
|
213
214
|
simple: Record<string>;
|
|
@@ -273,9 +274,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
273
274
|
`);
|
|
274
275
|
});
|
|
275
276
|
it("should render a transform functions for a model", async () => {
|
|
276
|
-
const spec = `
|
|
277
|
+
const spec = t.code`
|
|
277
278
|
namespace DemoService;
|
|
278
|
-
@test model Widget {
|
|
279
|
+
@test model ${t.model("Widget")} {
|
|
279
280
|
id: string;
|
|
280
281
|
my_color: "blue" | "red";
|
|
281
282
|
}
|
|
@@ -324,9 +325,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
324
325
|
});
|
|
325
326
|
describe("Calling a model transform functions", () => {
|
|
326
327
|
it("should collapse a model with single property", async () => {
|
|
327
|
-
const spec = `
|
|
328
|
+
const spec = t.code`
|
|
328
329
|
namespace DemoService;
|
|
329
|
-
@test model Widget {
|
|
330
|
+
@test model ${t.model("Widget")} {
|
|
330
331
|
id: string;
|
|
331
332
|
}
|
|
332
333
|
`;
|
|
@@ -357,9 +358,9 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
357
358
|
`);
|
|
358
359
|
});
|
|
359
360
|
it("should call transform functions for a model", async () => {
|
|
360
|
-
const spec = `
|
|
361
|
+
const spec = t.code`
|
|
361
362
|
namespace DemoService;
|
|
362
|
-
@test model Widget {
|
|
363
|
+
@test model ${t.model("Widget")} {
|
|
363
364
|
id: string;
|
|
364
365
|
my_color: "blue" | "red";
|
|
365
366
|
}
|
|
@@ -423,17 +424,17 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
423
424
|
Pet,
|
|
424
425
|
Cat,
|
|
425
426
|
Dog
|
|
426
|
-
} = await testRunner.compile(`
|
|
427
|
+
} = await testRunner.compile(t.code`
|
|
427
428
|
@discriminator("kind")
|
|
428
|
-
@test model Pet {
|
|
429
|
+
@test model ${t.model("Pet")} {
|
|
429
430
|
kind: string;
|
|
430
431
|
}
|
|
431
432
|
|
|
432
|
-
@test model Cat extends Pet {
|
|
433
|
+
@test model ${t.model("Cat")} extends Pet {
|
|
433
434
|
kind: "cat";
|
|
434
435
|
}
|
|
435
436
|
|
|
436
|
-
@test model Dog extends Pet {
|
|
437
|
+
@test model ${t.model("Dog")} extends Pet {
|
|
437
438
|
kind: "dog";
|
|
438
439
|
}
|
|
439
440
|
`);
|
|
@@ -529,18 +530,18 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
529
530
|
Pet,
|
|
530
531
|
Cat,
|
|
531
532
|
Dog
|
|
532
|
-
} = await testRunner.compile(`
|
|
533
|
+
} = await testRunner.compile(t.code`
|
|
533
534
|
@discriminator("kind")
|
|
534
|
-
@test union Pet
|
|
535
|
+
@test union ${t.union("Pet")}{
|
|
535
536
|
cat: Cat;
|
|
536
537
|
dog: Dog;
|
|
537
538
|
}
|
|
538
539
|
|
|
539
|
-
@test model Cat
|
|
540
|
+
@test model ${t.model("Cat")} {
|
|
540
541
|
kind: "cat";
|
|
541
542
|
}
|
|
542
543
|
|
|
543
|
-
@test model Dog {
|
|
544
|
+
@test model ${t.model("Dog")} {
|
|
544
545
|
kind: "dog";
|
|
545
546
|
}
|
|
546
547
|
`);
|
|
@@ -628,4 +629,5 @@ describe.skip("Typescript Type Transform", () => {
|
|
|
628
629
|
`);
|
|
629
630
|
});
|
|
630
631
|
});
|
|
631
|
-
});
|
|
632
|
+
});
|
|
633
|
+
//# sourceMappingURL=type-transform.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Tester","code","Output","ts","SourceFile","t","beforeEach","describe","expect","it","ArraySerializer","DateDeserializer","RecordSerializer","getTypeTransformerRefkey","ModelTransformExpression","TypeTransformCall","TypeTransformDeclaration","TypeDeclaration","skip","testRunner","namePolicy","createTSNamePolicy","createInstance","spec","model","Widget","compile","_$createComponent","children","path","type","target","itemPath","toRenderTo","collapse","FunctionCallExpression","args","Pet","Cat","Dog","union"],"sources":["../../../../test/typescript/components/type-transform.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
|
|
2
|
+
import { getProgram } from "#test/utils.js";
|
|
2
3
|
import { Output } from "@alloy-js/core";
|
|
3
4
|
import { dedent } from "@alloy-js/core/testing";
|
|
4
5
|
import { SourceFile } from "@alloy-js/typescript";
|
|
@@ -6,7 +7,6 @@ import { Numeric } from "@typespec/compiler";
|
|
|
6
7
|
import { $ } from "@typespec/compiler/typekit";
|
|
7
8
|
import { assert, beforeAll, describe, expect, it } from "vitest";
|
|
8
9
|
import { ValueExpression } from "../../../src/typescript/components/value-expression.js";
|
|
9
|
-
import { getProgram } from "../test-host.js";
|
|
10
10
|
let program;
|
|
11
11
|
beforeAll(async () => {
|
|
12
12
|
program = await getProgram("");
|
|
@@ -195,4 +195,5 @@ function getExampleValue(model) {
|
|
|
195
195
|
const decorator = model?.decorators.find(d => d.definition?.name === "@example");
|
|
196
196
|
assert.exists(decorator?.args[0]?.value, "unable to find example decorator");
|
|
197
197
|
return decorator.args[0].value;
|
|
198
|
-
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=value-expression.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getProgram","Output","dedent","SourceFile","Numeric","$","assert","beforeAll","describe","expect","it","ValueExpression","program","value","createString","testValueExpression","createNumeric","digits","entityKind","valueKind","rejects","toThrow","createBoolean","values","tk","namespace","resolveTypeReference","dateRange","models","get","minDate","properties","defaultValue","exists","model","getExampleValue","colors","enums","red","members","green","expected","prefix","_$createComponent","children","path","toRenderTo","decorator","decorators","find","d","definition","name","args"],"sources":["../../../../test/typescript/components/value-expression.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SourceFile","Output","TestFile","props","_$createComponent","program","children","path"],"sources":["../../../test/typescript/utils.tsx"],"sourcesContent":[null],"mappings":";AACA,SAASA,UAAU,QAAQ,sBAAsB;AAEjD,SAASC,MAAM;AAEf,OAAO,SAASC,QAAQA,CAACC,KAA+C,EAAE;EACxE,OAAAC,iBAAA,CACGH,MAAM;IAAA,IAACI,OAAOA,CAAA;MAAA,OAAEF,KAAK,CAACE,OAAO;IAAA;IAAA,IAAAC,SAAA;MAAA,OAAAF,iBAAA,CAC3BJ,UAAU;QAACO,IAAI;QAAA,IAAAD,SAAA;UAAA,OAAYH,KAAK,CAACG,QAAQ;QAAA;MAAA;IAAA;EAAA;AAGhD","ignoreList":[]}
|
package/dist/test/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Children, type OutputDirectory } from "@alloy-js/core";
|
|
2
2
|
import type { Program } from "@typespec/compiler";
|
|
3
3
|
export declare function getEmitOutput(tspCode: string, cb: (program: Program) => Children): Promise<string | (OutputDirectory | import("@alloy-js/core").OutputFile)[]>;
|
|
4
|
+
export declare function getProgram(tspCode: string): Promise<Program>;
|
|
4
5
|
export declare function assertFileContents(res: OutputDirectory, contents: string): void;
|
|
5
6
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/test/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAU,MAAM,gBAAgB,CAAC;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,+EAQtF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,oBAI/C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAKxE"}
|
package/dist/test/utils.js
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
|
+
import { Tester } from "#test/test-host.js";
|
|
1
2
|
import { render } from "@alloy-js/core";
|
|
2
3
|
import { Output } from "@alloy-js/core/stc";
|
|
3
4
|
import { SourceFile } from "@alloy-js/typescript/stc";
|
|
4
5
|
import { assert } from "vitest";
|
|
5
|
-
import { getProgram } from "./typescript/test-host.js";
|
|
6
6
|
export async function getEmitOutput(tspCode, cb) {
|
|
7
7
|
const program = await getProgram(tspCode);
|
|
8
8
|
const res = render(Output().children(SourceFile({
|
|
9
9
|
path: "test.ts"
|
|
10
|
-
}).children(cb(program)))
|
|
10
|
+
}).children(cb(program))), {
|
|
11
|
+
insertFinalNewLine: false
|
|
12
|
+
});
|
|
11
13
|
const testFile = res.contents.find(file => file.path === "test.ts");
|
|
12
14
|
assert("contents" in testFile, "test.ts file does not have contents");
|
|
13
15
|
return testFile.contents;
|
|
14
16
|
}
|
|
17
|
+
export async function getProgram(tspCode) {
|
|
18
|
+
const runner = await Tester.createInstance();
|
|
19
|
+
const {
|
|
20
|
+
program
|
|
21
|
+
} = await runner.compile(tspCode);
|
|
22
|
+
return program;
|
|
23
|
+
}
|
|
15
24
|
export function assertFileContents(res, contents) {
|
|
16
25
|
const testFile = res.contents.find(file => file.path === "test.ts");
|
|
17
26
|
assert(testFile, "test.ts file not rendered");
|
|
18
27
|
assert("contents" in testFile, "test.ts file does not have contents");
|
|
19
28
|
assert.equal(testFile.contents, contents);
|
|
20
|
-
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Tester","render","Output","SourceFile","assert","getEmitOutput","tspCode","cb","program","getProgram","res","children","path","insertFinalNewLine","testFile","contents","find","file","runner","createInstance","compile","assertFileContents","equal"],"sources":["../../test/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAA8CC,MAAM,QAAQ,gBAAgB;AAC5E,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,UAAU,QAAQ,0BAA0B;AAErD,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,eAAeC,aAAaA,CAACC,OAAe,EAAEC,EAAkC,EAAE;EACvF,MAAMC,OAAO,GAAG,MAAMC,UAAU,CAACH,OAAO,CAAC;EACzC,MAAMI,GAAG,GAAGT,MAAM,CAACC,MAAM,CAAC,CAAC,CAACS,QAAQ,CAACR,UAAU,CAAC;IAAES,IAAI,EAAE;EAAU,CAAC,CAAC,CAACD,QAAQ,CAACJ,EAAE,CAACC,OAAO,CAAC,CAAC,CAAC,EAAE;IAC3FK,kBAAkB,EAAE;EACtB,CAAC,CAAC;EACF,MAAMC,QAAQ,GAAGJ,GAAG,CAACK,QAAQ,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACL,IAAI,KAAK,SAAS,CAAE;EACtER,MAAM,CAAC,UAAU,IAAIU,QAAQ,EAAE,qCAAqC,CAAC;EACrE,OAAOA,QAAQ,CAACC,QAAQ;AAC1B;AAEA,OAAO,eAAeN,UAAUA,CAACH,OAAe,EAAE;EAChD,MAAMY,MAAM,GAAG,MAAMlB,MAAM,CAACmB,cAAc,CAAC,CAAC;EAC5C,MAAM;IAAEX;EAAQ,CAAC,GAAG,MAAMU,MAAM,CAACE,OAAO,CAACd,OAAO,CAAC;EACjD,OAAOE,OAAO;AAChB;AAEA,OAAO,SAASa,kBAAkBA,CAACX,GAAoB,EAAEK,QAAgB,EAAE;EACzE,MAAMD,QAAQ,GAAGJ,GAAG,CAACK,QAAQ,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACL,IAAI,KAAK,SAAS,CAAE;EACtER,MAAM,CAACU,QAAQ,EAAE,2BAA2B,CAAC;EAC7CV,MAAM,CAAC,UAAU,IAAIU,QAAQ,EAAE,qCAAqC,CAAC;EACrEV,MAAM,CAACkB,KAAK,CAACR,QAAQ,CAACC,QAAQ,EAAEA,QAAQ,CAAC;AAC3C","ignoreList":[]}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import "@alloy-js/core/testing";
|
|
1
|
+
import "@alloy-js/core/testing";
|
|
2
|
+
//# sourceMappingURL=vitest.setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../test/vitest.setup.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,wBAAwB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/emitter-framework",
|
|
3
|
-
"version": "0.11.0-dev.
|
|
3
|
+
"version": "0.11.0-dev.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"description": "",
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@alloy-js/core": "^0.
|
|
45
|
-
"@alloy-js/csharp": "^0.
|
|
46
|
-
"@alloy-js/typescript": "^0.
|
|
44
|
+
"@alloy-js/core": "^0.20.0",
|
|
45
|
+
"@alloy-js/csharp": "^0.20.0",
|
|
46
|
+
"@alloy-js/typescript": "^0.20.0",
|
|
47
47
|
"@typespec/compiler": "^1.3.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@alloy-js/cli": "^0.
|
|
51
|
-
"@alloy-js/core": "^0.
|
|
50
|
+
"@alloy-js/cli": "^0.20.0",
|
|
51
|
+
"@alloy-js/core": "^0.20.0",
|
|
52
52
|
"@alloy-js/rollup-plugin": "^0.1.0",
|
|
53
|
-
"@alloy-js/typescript": "^0.
|
|
53
|
+
"@alloy-js/typescript": "^0.20.0",
|
|
54
54
|
"@typespec/compiler": "^1.3.0",
|
|
55
55
|
"concurrently": "^9.1.2",
|
|
56
56
|
"pathe": "^2.0.3",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"tree-sitter-javascript": "^0.23.0",
|
|
61
61
|
"tree-sitter-python": "^0.23.2",
|
|
62
62
|
"tree-sitter-typescript": "^0.23.0",
|
|
63
|
-
"typescript": "~5.
|
|
63
|
+
"typescript": "~5.9.2",
|
|
64
64
|
"vitest": "^3.1.2",
|
|
65
65
|
"web-tree-sitter": "^0.25.4"
|
|
66
66
|
},
|
package/src/core/write-output.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Children, type OutputDirectory
|
|
1
|
+
import { renderAsync, type Children, type OutputDirectory } from "@alloy-js/core";
|
|
2
2
|
import { emitFile, joinPaths, type Program } from "@typespec/compiler";
|
|
3
3
|
|
|
4
4
|
export async function writeOutput(
|
|
@@ -6,7 +6,7 @@ export async function writeOutput(
|
|
|
6
6
|
rootComponent: Children,
|
|
7
7
|
emitterOutputDir: string,
|
|
8
8
|
) {
|
|
9
|
-
const tree =
|
|
9
|
+
const tree = await renderAsync(rootComponent);
|
|
10
10
|
await writeOutputDirectory(program, tree, emitterOutputDir);
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import { Tester } from "#test/test-host.js";
|
|
6
6
|
import { List, type Children } from "@alloy-js/core";
|
|
7
7
|
import { d } from "@alloy-js/core/testing";
|
|
8
|
-
import { createCSharpNamePolicy,
|
|
8
|
+
import { createCSharpNamePolicy, SourceFile } from "@alloy-js/csharp";
|
|
9
9
|
import { t, type TesterInstance } from "@typespec/compiler/testing";
|
|
10
10
|
import { beforeEach, describe, expect, it } from "vitest";
|
|
11
11
|
import { Output } from "../../../core/index.js";
|
|
@@ -21,9 +21,7 @@ function Wrapper(props: { children: Children }) {
|
|
|
21
21
|
const policy = createCSharpNamePolicy();
|
|
22
22
|
return (
|
|
23
23
|
<Output program={runner.program} namePolicy={policy}>
|
|
24
|
-
<
|
|
25
|
-
<SourceFile path="test.cs">{props.children}</SourceFile>
|
|
26
|
-
</Namespace>
|
|
24
|
+
<SourceFile path="test.cs">{props.children}</SourceFile>
|
|
27
25
|
</Output>
|
|
28
26
|
);
|
|
29
27
|
}
|
|
@@ -38,12 +36,9 @@ it("renders an empty class declaration", async () => {
|
|
|
38
36
|
<ClassDeclaration type={TestModel} />
|
|
39
37
|
</Wrapper>,
|
|
40
38
|
).toRenderTo(`
|
|
41
|
-
|
|
39
|
+
class TestModel
|
|
42
40
|
{
|
|
43
|
-
class TestModel
|
|
44
|
-
{
|
|
45
41
|
|
|
46
|
-
}
|
|
47
42
|
}
|
|
48
43
|
`);
|
|
49
44
|
});
|
|
@@ -61,13 +56,11 @@ it("renders a class declaration with properties", async () => {
|
|
|
61
56
|
<ClassDeclaration type={TestModel} />
|
|
62
57
|
</Wrapper>,
|
|
63
58
|
).toRenderTo(`
|
|
64
|
-
|
|
59
|
+
class TestModel
|
|
65
60
|
{
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
public required int Prop2 { get; set; }
|
|
70
|
-
}
|
|
61
|
+
public required string Prop1 { get; set; }
|
|
62
|
+
|
|
63
|
+
public required int Prop2 { get; set; }
|
|
71
64
|
}
|
|
72
65
|
`);
|
|
73
66
|
});
|
|
@@ -94,22 +87,21 @@ it("renders a class declaration with properties using component override", async
|
|
|
94
87
|
</TestClientOverrides>
|
|
95
88
|
</Wrapper>,
|
|
96
89
|
).toRenderTo(d`
|
|
97
|
-
|
|
90
|
+
class Foo
|
|
91
|
+
{
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
class Bar
|
|
98
95
|
{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
{
|
|
109
|
-
public required string Prop1 { get; set; }
|
|
110
|
-
public required int Prop2 { get; set; }
|
|
111
|
-
public Bar Prop3 { get; set; }
|
|
112
|
-
}
|
|
96
|
+
|
|
97
|
+
}
|
|
98
|
+
class TestModel
|
|
99
|
+
{
|
|
100
|
+
public required string Prop1 { get; set; }
|
|
101
|
+
|
|
102
|
+
public required int Prop2 { get; set; }
|
|
103
|
+
|
|
104
|
+
public Bar? Prop3 { get; set; }
|
|
113
105
|
}
|
|
114
106
|
`);
|
|
115
107
|
});
|
|
@@ -141,12 +133,9 @@ it("can override class name", async () => {
|
|
|
141
133
|
<ClassDeclaration type={TestModel} name="CustomClassName" />
|
|
142
134
|
</Wrapper>,
|
|
143
135
|
).toRenderTo(`
|
|
144
|
-
|
|
136
|
+
class CustomClassName
|
|
145
137
|
{
|
|
146
|
-
class CustomClassName
|
|
147
|
-
{
|
|
148
138
|
|
|
149
|
-
}
|
|
150
139
|
}
|
|
151
140
|
`);
|
|
152
141
|
});
|
|
@@ -162,12 +151,9 @@ it("renders a class with access modifiers", async () => {
|
|
|
162
151
|
<ClassDeclaration type={TestModel} protected />
|
|
163
152
|
</Wrapper>,
|
|
164
153
|
).toRenderTo(`
|
|
165
|
-
|
|
154
|
+
protected class TestModel
|
|
166
155
|
{
|
|
167
|
-
protected class TestModel
|
|
168
|
-
{
|
|
169
156
|
|
|
170
|
-
}
|
|
171
157
|
}
|
|
172
158
|
`);
|
|
173
159
|
});
|
|
@@ -184,12 +170,9 @@ describe("from an interface", () => {
|
|
|
184
170
|
<ClassDeclaration type={TestInterface} />
|
|
185
171
|
</Wrapper>,
|
|
186
172
|
).toRenderTo(`
|
|
187
|
-
|
|
173
|
+
class TestInterface
|
|
188
174
|
{
|
|
189
|
-
class TestInterface
|
|
190
|
-
{
|
|
191
175
|
|
|
192
|
-
}
|
|
193
176
|
}
|
|
194
177
|
`);
|
|
195
178
|
});
|
|
@@ -206,12 +189,9 @@ describe("from an interface", () => {
|
|
|
206
189
|
<ClassDeclaration type={TestInterface} />
|
|
207
190
|
</Wrapper>,
|
|
208
191
|
).toRenderTo(`
|
|
209
|
-
|
|
192
|
+
class TestInterface
|
|
210
193
|
{
|
|
211
|
-
|
|
212
|
-
{
|
|
213
|
-
public abstract string GetName(string id);
|
|
214
|
-
}
|
|
194
|
+
public abstract string GetName(string id);
|
|
215
195
|
}
|
|
216
196
|
`);
|
|
217
197
|
});
|
|
@@ -232,16 +212,13 @@ it("renders a class with model members", async () => {
|
|
|
232
212
|
<ClassDeclaration type={TestModel} />
|
|
233
213
|
</Wrapper>,
|
|
234
214
|
).toRenderTo(`
|
|
235
|
-
|
|
215
|
+
class TestReference
|
|
216
|
+
{
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
class TestModel
|
|
236
220
|
{
|
|
237
|
-
|
|
238
|
-
{
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
class TestModel
|
|
242
|
-
{
|
|
243
|
-
public required TestReference Prop1 { get; set; }
|
|
244
|
-
}
|
|
221
|
+
public required TestReference Prop1 { get; set; }
|
|
245
222
|
}
|
|
246
223
|
`);
|
|
247
224
|
});
|
|
@@ -264,17 +241,14 @@ it("renders a class with enum members", async () => {
|
|
|
264
241
|
<ClassDeclaration type={TestModel} />
|
|
265
242
|
</Wrapper>,
|
|
266
243
|
).toRenderTo(`
|
|
267
|
-
|
|
244
|
+
enum TestEnum
|
|
268
245
|
{
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
{
|
|
276
|
-
public required TestEnum Prop1 { get; set; }
|
|
277
|
-
}
|
|
246
|
+
Value1,
|
|
247
|
+
Value2
|
|
248
|
+
}
|
|
249
|
+
class TestModel
|
|
250
|
+
{
|
|
251
|
+
public required TestEnum Prop1 { get; set; }
|
|
278
252
|
}
|
|
279
253
|
`);
|
|
280
254
|
});
|
|
@@ -291,12 +265,9 @@ it("maps prop: string | null to nullable property", async () => {
|
|
|
291
265
|
<ClassDeclaration type={TestModel} />
|
|
292
266
|
</Wrapper>,
|
|
293
267
|
).toRenderTo(`
|
|
294
|
-
|
|
268
|
+
class TestModel
|
|
295
269
|
{
|
|
296
|
-
|
|
297
|
-
{
|
|
298
|
-
public required string? Prop1 { get; set; }
|
|
299
|
-
}
|
|
270
|
+
public required string? Prop1 { get; set; }
|
|
300
271
|
}
|
|
301
272
|
`);
|
|
302
273
|
});
|
|
@@ -319,17 +290,14 @@ it("renders a class with string enums", async () => {
|
|
|
319
290
|
<ClassDeclaration type={TestModel} />
|
|
320
291
|
</Wrapper>,
|
|
321
292
|
).toRenderTo(`
|
|
322
|
-
|
|
293
|
+
enum TestEnum
|
|
294
|
+
{
|
|
295
|
+
Value1,
|
|
296
|
+
Value2
|
|
297
|
+
}
|
|
298
|
+
class TestModel
|
|
323
299
|
{
|
|
324
|
-
|
|
325
|
-
{
|
|
326
|
-
Value1,
|
|
327
|
-
Value2
|
|
328
|
-
}
|
|
329
|
-
class TestModel
|
|
330
|
-
{
|
|
331
|
-
public required TestEnum Prop1 { get; set; }
|
|
332
|
-
}
|
|
300
|
+
public required TestEnum Prop1 { get; set; }
|
|
333
301
|
}
|
|
334
302
|
`);
|
|
335
303
|
});
|
|
@@ -350,18 +318,15 @@ describe("with doc comments", () => {
|
|
|
350
318
|
<ClassDeclaration type={TestModel} />
|
|
351
319
|
</Wrapper>,
|
|
352
320
|
).toRenderTo(`
|
|
353
|
-
|
|
321
|
+
/// <summary>
|
|
322
|
+
/// This is a test model
|
|
323
|
+
/// </summary>
|
|
324
|
+
class TestModel
|
|
354
325
|
{
|
|
355
326
|
/// <summary>
|
|
356
|
-
/// This is a test
|
|
327
|
+
/// This is a test property
|
|
357
328
|
/// </summary>
|
|
358
|
-
|
|
359
|
-
{
|
|
360
|
-
/// <summary>
|
|
361
|
-
/// This is a test property
|
|
362
|
-
/// </summary>
|
|
363
|
-
public required string Prop1 { get; set; }
|
|
364
|
-
}
|
|
329
|
+
public required string Prop1 { get; set; }
|
|
365
330
|
}
|
|
366
331
|
`);
|
|
367
332
|
});
|
|
@@ -381,22 +346,19 @@ describe("with doc comments", () => {
|
|
|
381
346
|
<ClassDeclaration type={TestInterface} />
|
|
382
347
|
</Wrapper>,
|
|
383
348
|
).toRenderTo(`
|
|
384
|
-
|
|
349
|
+
/// <summary>
|
|
350
|
+
/// This is a test interface
|
|
351
|
+
/// </summary>
|
|
352
|
+
class TestInterface
|
|
385
353
|
{
|
|
386
354
|
/// <summary>
|
|
387
|
-
/// This is a test
|
|
355
|
+
/// This is a test operation
|
|
388
356
|
/// </summary>
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
///
|
|
395
|
-
/// <returns>
|
|
396
|
-
/// The name of the item
|
|
397
|
-
/// </returns>
|
|
398
|
-
public abstract string GetName(string id);
|
|
399
|
-
}
|
|
357
|
+
///
|
|
358
|
+
/// <returns>
|
|
359
|
+
/// The name of the item
|
|
360
|
+
/// </returns>
|
|
361
|
+
public abstract string GetName(string id);
|
|
400
362
|
}
|
|
401
363
|
`);
|
|
402
364
|
});
|