@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.
Files changed (190) hide show
  1. package/dist/src/core/components/index.js +2 -1
  2. package/dist/src/core/components/index.js.map +1 -0
  3. package/dist/src/core/components/output.js +2 -1
  4. package/dist/src/core/components/output.js.map +1 -0
  5. package/dist/src/core/components/overrides/component-overrides.js +2 -1
  6. package/dist/src/core/components/overrides/component-overrides.js.map +1 -0
  7. package/dist/src/core/components/overrides/config.js +2 -1
  8. package/dist/src/core/components/overrides/config.js.map +1 -0
  9. package/dist/src/core/components/overrides/context.js +2 -1
  10. package/dist/src/core/components/overrides/context.js.map +1 -0
  11. package/dist/src/core/context/index.js +2 -1
  12. package/dist/src/core/context/index.js.map +1 -0
  13. package/dist/src/core/context/name-policy-context.js +2 -1
  14. package/dist/src/core/context/name-policy-context.js.map +1 -0
  15. package/dist/src/core/context/tsp-context.js +2 -1
  16. package/dist/src/core/context/tsp-context.js.map +1 -0
  17. package/dist/src/core/index.js +2 -1
  18. package/dist/src/core/index.js.map +1 -0
  19. package/dist/src/core/transport-name-policy.js +2 -1
  20. package/dist/src/core/transport-name-policy.js.map +1 -0
  21. package/dist/src/core/write-output.d.ts.map +1 -1
  22. package/dist/src/core/write-output.js +4 -3
  23. package/dist/src/core/write-output.js.map +1 -0
  24. package/dist/src/csharp/components/class/declaration.d.ts +1 -1
  25. package/dist/src/csharp/components/class/declaration.d.ts.map +1 -1
  26. package/dist/src/csharp/components/class/declaration.js +14 -5
  27. package/dist/src/csharp/components/class/declaration.js.map +1 -0
  28. package/dist/src/csharp/components/class/declaration.test.js +65 -105
  29. package/dist/src/csharp/components/class/declaration.test.js.map +1 -0
  30. package/dist/src/csharp/components/enum/declaration.js +2 -1
  31. package/dist/src/csharp/components/enum/declaration.js.map +1 -0
  32. package/dist/src/csharp/components/enum/declaration.test.js +52 -88
  33. package/dist/src/csharp/components/enum/declaration.test.js.map +1 -0
  34. package/dist/src/csharp/components/index.js +2 -1
  35. package/dist/src/csharp/components/index.js.map +1 -0
  36. package/dist/src/csharp/components/property/property.d.ts.map +1 -1
  37. package/dist/src/csharp/components/property/property.js +40 -14
  38. package/dist/src/csharp/components/property/property.js.map +1 -0
  39. package/dist/src/csharp/components/property/property.test.js +129 -29
  40. package/dist/src/csharp/components/property/property.test.js.map +1 -0
  41. package/dist/src/csharp/components/type-expression.d.ts.map +1 -1
  42. package/dist/src/csharp/components/type-expression.js +22 -3
  43. package/dist/src/csharp/components/type-expression.js.map +1 -0
  44. package/dist/src/csharp/components/type-expression.test.js +87 -54
  45. package/dist/src/csharp/components/type-expression.test.js.map +1 -0
  46. package/dist/src/csharp/components/utils/doc-comments.js +2 -1
  47. package/dist/src/csharp/components/utils/doc-comments.js.map +1 -0
  48. package/dist/src/csharp/components/utils/nullable-util.d.ts +4 -0
  49. package/dist/src/csharp/components/utils/nullable-util.d.ts.map +1 -0
  50. package/dist/src/csharp/components/utils/nullable-util.js +27 -0
  51. package/dist/src/csharp/components/utils/nullable-util.js.map +1 -0
  52. package/dist/src/csharp/components/utils/refkey.js +2 -1
  53. package/dist/src/csharp/components/utils/refkey.js.map +1 -0
  54. package/dist/src/csharp/index.js +2 -1
  55. package/dist/src/csharp/index.js.map +1 -0
  56. package/dist/src/lib.js +2 -1
  57. package/dist/src/lib.js.map +1 -0
  58. package/dist/src/testing/index.js +2 -1
  59. package/dist/src/testing/index.js.map +1 -0
  60. package/dist/src/testing/scenario-test/code-block-expectation.js +2 -1
  61. package/dist/src/testing/scenario-test/code-block-expectation.js.map +1 -0
  62. package/dist/src/testing/scenario-test/code-block-expectation.test.js +2 -1
  63. package/dist/src/testing/scenario-test/code-block-expectation.test.js.map +1 -0
  64. package/dist/src/testing/scenario-test/harness.js +2 -1
  65. package/dist/src/testing/scenario-test/harness.js.map +1 -0
  66. package/dist/src/testing/scenario-test/index.js +2 -1
  67. package/dist/src/testing/scenario-test/index.js.map +1 -0
  68. package/dist/src/testing/scenario-test/snippet-extractor.js +2 -1
  69. package/dist/src/testing/scenario-test/snippet-extractor.js.map +1 -0
  70. package/dist/src/typescript/components/array-expression.js +2 -1
  71. package/dist/src/typescript/components/array-expression.js.map +1 -0
  72. package/dist/src/typescript/components/arrow-function.js +2 -1
  73. package/dist/src/typescript/components/arrow-function.js.map +1 -0
  74. package/dist/src/typescript/components/class-method.js +2 -1
  75. package/dist/src/typescript/components/class-method.js.map +1 -0
  76. package/dist/src/typescript/components/enum-declaration.js +2 -1
  77. package/dist/src/typescript/components/enum-declaration.js.map +1 -0
  78. package/dist/src/typescript/components/function-declaration.js +2 -1
  79. package/dist/src/typescript/components/function-declaration.js.map +1 -0
  80. package/dist/src/typescript/components/function-expression.js +2 -1
  81. package/dist/src/typescript/components/function-expression.js.map +1 -0
  82. package/dist/src/typescript/components/function-type.js +2 -1
  83. package/dist/src/typescript/components/function-type.js.map +1 -0
  84. package/dist/src/typescript/components/index.js +2 -1
  85. package/dist/src/typescript/components/index.js.map +1 -0
  86. package/dist/src/typescript/components/interface-declaration.js +2 -1
  87. package/dist/src/typescript/components/interface-declaration.js.map +1 -0
  88. package/dist/src/typescript/components/interface-member.js +2 -1
  89. package/dist/src/typescript/components/interface-member.js.map +1 -0
  90. package/dist/src/typescript/components/interface-method.js +2 -1
  91. package/dist/src/typescript/components/interface-method.js.map +1 -0
  92. package/dist/src/typescript/components/record-expression.js +2 -1
  93. package/dist/src/typescript/components/record-expression.js.map +1 -0
  94. package/dist/src/typescript/components/static-serializers.js +2 -1
  95. package/dist/src/typescript/components/static-serializers.js.map +1 -0
  96. package/dist/src/typescript/components/type-alias-declaration.js +2 -1
  97. package/dist/src/typescript/components/type-alias-declaration.js.map +1 -0
  98. package/dist/src/typescript/components/type-declaration.js +2 -1
  99. package/dist/src/typescript/components/type-declaration.js.map +1 -0
  100. package/dist/src/typescript/components/type-expression.js +2 -1
  101. package/dist/src/typescript/components/type-expression.js.map +1 -0
  102. package/dist/src/typescript/components/type-transform.js +2 -1
  103. package/dist/src/typescript/components/type-transform.js.map +1 -0
  104. package/dist/src/typescript/components/union/declaration.js +2 -1
  105. package/dist/src/typescript/components/union/declaration.js.map +1 -0
  106. package/dist/src/typescript/components/union/declaration.test.js +2 -1
  107. package/dist/src/typescript/components/union/declaration.test.js.map +1 -0
  108. package/dist/src/typescript/components/union/expression.js +2 -1
  109. package/dist/src/typescript/components/union/expression.js.map +1 -0
  110. package/dist/src/typescript/components/union/expression.test.js +2 -1
  111. package/dist/src/typescript/components/union/expression.test.js.map +1 -0
  112. package/dist/src/typescript/components/value-expression.js +2 -1
  113. package/dist/src/typescript/components/value-expression.js.map +1 -0
  114. package/dist/src/typescript/index.js +2 -1
  115. package/dist/src/typescript/index.js.map +1 -0
  116. package/dist/src/typescript/lib.js +2 -1
  117. package/dist/src/typescript/lib.js.map +1 -0
  118. package/dist/src/typescript/utils/index.js +2 -1
  119. package/dist/src/typescript/utils/index.js.map +1 -0
  120. package/dist/src/typescript/utils/operation.js +2 -1
  121. package/dist/src/typescript/utils/operation.js.map +1 -0
  122. package/dist/src/typescript/utils/refkey.js +2 -1
  123. package/dist/src/typescript/utils/refkey.js.map +1 -0
  124. package/dist/test/test-host.js +2 -1
  125. package/dist/test/test-host.js.map +1 -0
  126. package/dist/test/testing/snippet-extractor-csharp.test.js +2 -1
  127. package/dist/test/testing/snippet-extractor-csharp.test.js.map +1 -0
  128. package/dist/test/testing/snippet-extractor-java.test.js +2 -1
  129. package/dist/test/testing/snippet-extractor-java.test.js.map +1 -0
  130. package/dist/test/testing/snippet-extractor-python.test.js +2 -1
  131. package/dist/test/testing/snippet-extractor-python.test.js.map +1 -0
  132. package/dist/test/testing/snippet-extractor-typescript.test.js +2 -1
  133. package/dist/test/testing/snippet-extractor-typescript.test.js.map +1 -0
  134. package/dist/test/typescript/components/arrow-function.test.js +18 -22
  135. package/dist/test/typescript/components/arrow-function.test.js.map +1 -0
  136. package/dist/test/typescript/components/component-override.test.js +3 -2
  137. package/dist/test/typescript/components/component-override.test.js.map +1 -0
  138. package/dist/test/typescript/components/enum-declaration.test.js +2 -1
  139. package/dist/test/typescript/components/enum-declaration.test.js.map +1 -0
  140. package/dist/test/typescript/components/function-declaration.test.js +3 -2
  141. package/dist/test/typescript/components/function-declaration.test.js.map +1 -0
  142. package/dist/test/typescript/components/function-expression.test.js +18 -22
  143. package/dist/test/typescript/components/function-expression.test.js.map +1 -0
  144. package/dist/test/typescript/components/function-type.test.js +18 -22
  145. package/dist/test/typescript/components/function-type.test.js.map +1 -0
  146. package/dist/test/typescript/components/interface-declaration.test.js +3 -2
  147. package/dist/test/typescript/components/interface-declaration.test.js.map +1 -0
  148. package/dist/test/typescript/components/interface-method.test.js +37 -45
  149. package/dist/test/typescript/components/interface-method.test.js.map +1 -0
  150. package/dist/test/typescript/components/member-expression.test.js +2 -1
  151. package/dist/test/typescript/components/member-expression.test.js.map +1 -0
  152. package/dist/test/typescript/components/type-alias-declaration.test.js +8 -5
  153. package/dist/test/typescript/components/type-alias-declaration.test.js.map +1 -0
  154. package/dist/test/typescript/components/type-transform.test.js +29 -27
  155. package/dist/test/typescript/components/type-transform.test.js.map +1 -0
  156. package/dist/test/typescript/components/value-expression.test.js +3 -2
  157. package/dist/test/typescript/components/value-expression.test.js.map +1 -0
  158. package/dist/test/typescript/utils.js +2 -1
  159. package/dist/test/typescript/utils.js.map +1 -0
  160. package/dist/test/utils.d.ts +1 -0
  161. package/dist/test/utils.d.ts.map +1 -1
  162. package/dist/test/utils.js +13 -3
  163. package/dist/test/utils.js.map +1 -0
  164. package/dist/test/vitest.setup.js +2 -1
  165. package/dist/test/vitest.setup.js.map +1 -0
  166. package/package.json +8 -8
  167. package/src/core/write-output.ts +2 -2
  168. package/src/csharp/components/class/declaration.test.tsx +64 -102
  169. package/src/csharp/components/class/declaration.tsx +13 -3
  170. package/src/csharp/components/enum/declaration.test.tsx +47 -78
  171. package/src/csharp/components/property/property.test.tsx +108 -25
  172. package/src/csharp/components/property/property.tsx +43 -11
  173. package/src/csharp/components/type-expression.test.tsx +84 -69
  174. package/src/csharp/components/type-expression.tsx +25 -4
  175. package/src/csharp/components/utils/nullable-util.ts +25 -0
  176. package/test/typescript/components/arrow-function.test.tsx +23 -42
  177. package/test/typescript/components/component-override.test.tsx +1 -1
  178. package/test/typescript/components/function-declaration.test.tsx +2 -1
  179. package/test/typescript/components/function-expression.test.tsx +23 -42
  180. package/test/typescript/components/function-type.test.tsx +22 -40
  181. package/test/typescript/components/interface-declaration.test.tsx +1 -1
  182. package/test/typescript/components/interface-method.test.tsx +50 -92
  183. package/test/typescript/components/type-alias-declaration.test.tsx +8 -6
  184. package/test/typescript/components/type-transform.test.tsx +37 -37
  185. package/test/typescript/components/value-expression.test.tsx +1 -1
  186. package/test/utils.ts +10 -3
  187. package/dist/test/typescript/test-host.d.ts +0 -12
  188. package/dist/test/typescript/test-host.d.ts.map +0 -1
  189. package/dist/test/typescript/test-host.js +0 -29
  190. 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 createEmitterFrameworkTestRunner();
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":[]}
@@ -15,4 +15,5 @@ export function TestFile(props) {
15
15
  });
16
16
  }
17
17
  });
18
- }
18
+ }
19
+ //# sourceMappingURL=utils.js.map
@@ -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":[]}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../test/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAU,MAAM,gBAAgB,CAAC;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,+EAOtF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAKxE"}
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"}
@@ -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.1",
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.19.0",
45
- "@alloy-js/csharp": "^0.19.0",
46
- "@alloy-js/typescript": "^0.19.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.19.0",
51
- "@alloy-js/core": "^0.19.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.19.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.8.2",
63
+ "typescript": "~5.9.2",
64
64
  "vitest": "^3.1.2",
65
65
  "web-tree-sitter": "^0.25.4"
66
66
  },
@@ -1,4 +1,4 @@
1
- import { type Children, type OutputDirectory, render } from "@alloy-js/core";
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 = render(rootComponent);
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, Namespace, SourceFile } from "@alloy-js/csharp";
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
- <Namespace name="TestNamespace">
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
- namespace TestNamespace
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
- namespace TestNamespace
59
+ class TestModel
65
60
  {
66
- class TestModel
67
- {
68
- public required string Prop1 { get; set; }
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
- namespace TestNamespace
90
+ class Foo
91
+ {
92
+
93
+ }
94
+ class Bar
98
95
  {
99
- class Foo
100
- {
101
-
102
- }
103
- class Bar
104
- {
105
-
106
- }
107
- class TestModel
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
- namespace TestNamespace
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
- namespace TestNamespace
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
- namespace TestNamespace
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
- namespace TestNamespace
192
+ class TestInterface
210
193
  {
211
- class TestInterface
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
- namespace TestNamespace
215
+ class TestReference
216
+ {
217
+
218
+ }
219
+ class TestModel
236
220
  {
237
- class TestReference
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
- namespace TestNamespace
244
+ enum TestEnum
268
245
  {
269
- enum TestEnum
270
- {
271
- Value1,
272
- Value2
273
- }
274
- class TestModel
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
- namespace TestNamespace
268
+ class TestModel
295
269
  {
296
- class TestModel
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
- namespace TestNamespace
293
+ enum TestEnum
294
+ {
295
+ Value1,
296
+ Value2
297
+ }
298
+ class TestModel
323
299
  {
324
- enum TestEnum
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
- namespace TestNamespace
321
+ /// <summary>
322
+ /// This is a test model
323
+ /// </summary>
324
+ class TestModel
354
325
  {
355
326
  /// <summary>
356
- /// This is a test model
327
+ /// This is a test property
357
328
  /// </summary>
358
- class TestModel
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
- namespace TestNamespace
349
+ /// <summary>
350
+ /// This is a test interface
351
+ /// </summary>
352
+ class TestInterface
385
353
  {
386
354
  /// <summary>
387
- /// This is a test interface
355
+ /// This is a test operation
388
356
  /// </summary>
389
- class TestInterface
390
- {
391
- /// <summary>
392
- /// This is a test operation
393
- /// </summary>
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
  });