@typespec/emitter-framework 0.10.0-dev.0 → 0.10.0-dev.2

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 (31) hide show
  1. package/dist/src/typescript/components/index.d.ts +2 -2
  2. package/dist/src/typescript/components/index.js +2 -2
  3. package/dist/src/typescript/components/type-declaration.js +1 -1
  4. package/dist/src/typescript/components/type-expression.js +1 -1
  5. package/dist/src/typescript/components/{union-declaration.d.ts → union/declaration.d.ts} +1 -1
  6. package/dist/src/typescript/components/union/declaration.d.ts.map +1 -0
  7. package/dist/src/typescript/components/{union-declaration.js → union/declaration.js} +4 -4
  8. package/dist/src/typescript/components/union/declaration.test.d.ts +2 -0
  9. package/dist/src/typescript/components/union/declaration.test.d.ts.map +1 -0
  10. package/dist/src/typescript/components/union/declaration.test.js +308 -0
  11. package/dist/src/typescript/components/{union-expression.d.ts → union/expression.d.ts} +1 -1
  12. package/dist/src/typescript/components/union/expression.d.ts.map +1 -0
  13. package/dist/src/typescript/components/{union-expression.js → union/expression.js} +3 -3
  14. package/dist/src/typescript/components/union/expression.test.d.ts +2 -0
  15. package/dist/src/typescript/components/union/expression.test.d.ts.map +1 -0
  16. package/dist/src/typescript/components/union/expression.test.js +51 -0
  17. package/package.json +12 -12
  18. package/src/typescript/components/index.ts +2 -2
  19. package/src/typescript/components/type-declaration.tsx +1 -1
  20. package/src/typescript/components/type-expression.tsx +1 -1
  21. package/src/typescript/components/union/declaration.test.tsx +264 -0
  22. package/src/typescript/components/{union-declaration.tsx → union/declaration.tsx} +4 -4
  23. package/src/typescript/components/union/expression.test.tsx +42 -0
  24. package/src/typescript/components/{union-expression.tsx → union/expression.tsx} +3 -3
  25. package/vitest.config.ts +1 -1
  26. package/dist/src/typescript/components/union-declaration.d.ts.map +0 -1
  27. package/dist/src/typescript/components/union-expression.d.ts.map +0 -1
  28. package/dist/test/typescript/components/union-declaration.test.d.ts +0 -2
  29. package/dist/test/typescript/components/union-declaration.test.d.ts.map +0 -1
  30. package/dist/test/typescript/components/union-declaration.test.js +0 -465
  31. package/test/typescript/components/union-declaration.test.tsx +0 -411
@@ -11,7 +11,7 @@ export * from "./static-serializers.js";
11
11
  export * from "./type-declaration.js";
12
12
  export * from "./type-expression.js";
13
13
  export * from "./type-transform.js";
14
- export * from "./union-declaration.js";
15
- export * from "./union-expression.js";
14
+ export * from "./union/declaration.js";
15
+ export * from "./union/expression.js";
16
16
  export * from "./value-expression.js";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -11,6 +11,6 @@ export * from "./static-serializers.js";
11
11
  export * from "./type-declaration.js";
12
12
  export * from "./type-expression.js";
13
13
  export * from "./type-transform.js";
14
- export * from "./union-declaration.js";
15
- export * from "./union-expression.js";
14
+ export * from "./union/declaration.js";
15
+ export * from "./union/expression.js";
16
16
  export * from "./value-expression.js";
@@ -5,7 +5,7 @@ import { declarationRefkeys } from "../utils/refkey.js";
5
5
  import { EnumDeclaration } from "./enum-declaration.js";
6
6
  import { InterfaceDeclaration } from "./interface-declaration.js";
7
7
  import { TypeAliasDeclaration } from "./type-alias-declaration.js";
8
- import { UnionDeclaration } from "./union-declaration.js";
8
+ import { UnionDeclaration } from "./union/declaration.js";
9
9
  export function TypeDeclaration(props) {
10
10
  const {
11
11
  $
@@ -9,7 +9,7 @@ import { ArrayExpression } from "./array-expression.js";
9
9
  import { FunctionType } from "./function-type.js";
10
10
  import { InterfaceExpression } from "./interface-declaration.js";
11
11
  import { RecordExpression } from "./record-expression.js";
12
- import { UnionExpression } from "./union-expression.js";
12
+ import { UnionExpression } from "./union/expression.js";
13
13
  export function TypeExpression(props) {
14
14
  const {
15
15
  $
@@ -8,4 +8,4 @@ export interface TypedUnionDeclarationProps extends Omit<ts.TypeDeclarationProps
8
8
  }
9
9
  export type UnionDeclarationProps = TypedUnionDeclarationProps | ts.TypeDeclarationProps;
10
10
  export declare function UnionDeclaration(props: UnionDeclarationProps): Children;
11
- //# sourceMappingURL=union-declaration.d.ts.map
11
+ //# sourceMappingURL=declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../../../src/typescript/components/union/declaration.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKtD,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACvF,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAEzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,YAuB5D"}
@@ -1,9 +1,9 @@
1
1
  import { mergeProps as _$mergeProps, createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { declarationRefkeys } from "#typescript/utils/refkey.js";
2
3
  import * as ts from "@alloy-js/typescript";
3
- import { useTsp } from "../../core/context/tsp-context.js";
4
- import { reportDiagnostic } from "../../lib.js";
5
- import { declarationRefkeys } from "../utils/refkey.js";
6
- import { UnionExpression } from "./union-expression.js";
4
+ import { useTsp } from "../../../core/context/tsp-context.js";
5
+ import { reportDiagnostic } from "../../../lib.js";
6
+ import { UnionExpression } from "./expression.js";
7
7
  export function UnionDeclaration(props) {
8
8
  const {
9
9
  $
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=declaration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declaration.test.d.ts","sourceRoot":"","sources":["../../../../../src/typescript/components/union/declaration.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,308 @@
1
+ import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { Output } from "#core/index.js";
3
+ import { Tester } from "#test/test-host.js";
4
+ import { SourceFile } from "@alloy-js/typescript";
5
+ import { t } from "@typespec/compiler/testing";
6
+ import { beforeEach, expect, it } from "vitest";
7
+ import { InterfaceDeclaration } from "../../index.js";
8
+ import { UnionDeclaration } from "./declaration.js";
9
+ let tester;
10
+ function Wrapper(props) {
11
+ return _$createComponent(Output, {
12
+ get program() {
13
+ return tester.program;
14
+ },
15
+ get children() {
16
+ return _$createComponent(SourceFile, {
17
+ path: "test.ts",
18
+ get children() {
19
+ return props.children;
20
+ }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ beforeEach(async () => {
26
+ tester = await Tester.createInstance();
27
+ });
28
+ it("creates a union declaration (not bound to Typespec Types)", async () => {
29
+ await tester.compile("");
30
+ expect(_$createComponent(Wrapper, {
31
+ get children() {
32
+ return _$createComponent(UnionDeclaration, {
33
+ name: "MyUnion",
34
+ children: "\"red\" | \"blue\""
35
+ });
36
+ }
37
+ })).toRenderTo(`type MyUnion = "red" | "blue";`);
38
+ });
39
+ it("creates a union declaration (bound to union)", async () => {
40
+ const {
41
+ TestUnion
42
+ } = await tester.compile(t.code`
43
+ namespace DemoService;
44
+ union ${t.union("TestUnion")} {
45
+ one: "one",
46
+ two: "two"
47
+ }
48
+ `);
49
+ expect(_$createComponent(Wrapper, {
50
+ get children() {
51
+ return _$createComponent(UnionDeclaration, {
52
+ type: TestUnion
53
+ });
54
+ }
55
+ })).toRenderTo(`type TestUnion = "one" | "two";`);
56
+ });
57
+ it("creates a union declaration with JSDoc", async () => {
58
+ const {
59
+ TestUnion
60
+ } = await tester.compile(t.code`
61
+ namespace DemoService;
62
+ /**
63
+ * Test Union
64
+ */
65
+ union ${t.union("TestUnion")} {
66
+ one: "one",
67
+ two: "two"
68
+ }
69
+ `);
70
+ expect(_$createComponent(Wrapper, {
71
+ get children() {
72
+ return _$createComponent(UnionDeclaration, {
73
+ type: TestUnion
74
+ });
75
+ }
76
+ })).toRenderTo(`/**
77
+ * Test Union
78
+ */
79
+ type TestUnion = "one" | "two";`);
80
+ });
81
+ it("creates a union declaration with name override", async () => {
82
+ const {
83
+ TestUnion
84
+ } = await tester.compile(t.code`
85
+ namespace DemoService;
86
+ union ${t.union("TestUnion")} {
87
+ one: "one",
88
+ two: "two"
89
+ }
90
+ `);
91
+ expect(_$createComponent(Wrapper, {
92
+ get children() {
93
+ return _$createComponent(UnionDeclaration, {
94
+ "export": true,
95
+ type: TestUnion,
96
+ name: "MyUnion"
97
+ });
98
+ }
99
+ })).toRenderTo(`export type MyUnion = "one" | "two";`);
100
+ });
101
+ it("creates a union declaration with extra children", async () => {
102
+ const {
103
+ TestUnion
104
+ } = await tester.compile(t.code`
105
+ namespace DemoService;
106
+ union ${t.union("TestUnion")} {
107
+ one: "one",
108
+ two: "two"
109
+ }
110
+ `);
111
+ expect(_$createComponent(Wrapper, {
112
+ get children() {
113
+ return _$createComponent(UnionDeclaration, {
114
+ type: TestUnion,
115
+ children: "\"three\""
116
+ });
117
+ }
118
+ })).toRenderTo(`type TestUnion = "one" | "two" | "three";`);
119
+ });
120
+ it("renders a discriminated union", async () => {
121
+ const {
122
+ TestUnion
123
+ } = await tester.compile(t.code`
124
+ namespace DemoService;
125
+ @discriminated
126
+ union ${t.union("TestUnion")} {
127
+ one: { oneItem: true },
128
+ two: true
129
+ }
130
+ `);
131
+ expect(_$createComponent(Wrapper, {
132
+ get children() {
133
+ return _$createComponent(UnionDeclaration, {
134
+ type: TestUnion
135
+ });
136
+ }
137
+ })).toRenderTo(`type TestUnion = {
138
+ kind: "one";
139
+ value: {
140
+ oneItem: true;
141
+ };
142
+ } | {
143
+ kind: "two";
144
+ value: true;
145
+ };`);
146
+ });
147
+ it("renders a discriminated union with custom properties", async () => {
148
+ const {
149
+ TestUnion
150
+ } = await tester.compile(t.code`
151
+ namespace DemoService;
152
+ @discriminated(#{ discriminatorPropertyName: "dataKind", envelopePropertyName: "data" })
153
+ union ${t.union("TestUnion")} {
154
+ one: { oneItem: true },
155
+ two: true
156
+ }
157
+ `);
158
+ expect(_$createComponent(Wrapper, {
159
+ get children() {
160
+ return _$createComponent(UnionDeclaration, {
161
+ type: TestUnion
162
+ });
163
+ }
164
+ })).toRenderTo(`type TestUnion = {
165
+ dataKind: "one";
166
+ data: {
167
+ oneItem: true;
168
+ };
169
+ } | {
170
+ dataKind: "two";
171
+ data: true;
172
+ };`);
173
+ });
174
+ it("renders a discriminated union with named models", async () => {
175
+ const {
176
+ Pet,
177
+ Cat,
178
+ Dog
179
+ } = await tester.compile(t.code`
180
+ namespace DemoService;
181
+ model ${t.model("Cat")} {
182
+ name: string;
183
+ meow: boolean;
184
+ }
185
+ model ${t.model("Dog")} {
186
+ name: string;
187
+ bark: boolean;
188
+ }
189
+ @discriminated
190
+ union ${t.union("Pet")} {
191
+ cat: Cat,
192
+ dog: Dog,
193
+ }
194
+ `);
195
+ expect(_$createComponent(Wrapper, {
196
+ get children() {
197
+ return [_$createComponent(InterfaceDeclaration, {
198
+ type: Cat
199
+ }), _$createIntrinsic("hbr", {}), _$createComponent(InterfaceDeclaration, {
200
+ type: Dog
201
+ }), _$createIntrinsic("hbr", {}), _$createComponent(UnionDeclaration, {
202
+ type: Pet
203
+ })];
204
+ }
205
+ })).toRenderTo(`interface Cat {
206
+ name: string;
207
+ meow: boolean;
208
+ }
209
+ interface Dog {
210
+ name: string;
211
+ bark: boolean;
212
+ }
213
+ type Pet = {
214
+ kind: "cat";
215
+ value: Cat;
216
+ } | {
217
+ kind: "dog";
218
+ value: Dog;
219
+ };`);
220
+ });
221
+ it("renders named discriminated union (no envelope)", async () => {
222
+ const {
223
+ Pet,
224
+ Cat,
225
+ Dog
226
+ } = await tester.compile(t.code`
227
+ namespace DemoService;
228
+ model ${t.model("Cat")} {
229
+ name: string;
230
+ meow: boolean;
231
+ }
232
+ model ${t.model("Dog")} {
233
+ name: string;
234
+ bark: boolean;
235
+ }
236
+ @discriminated(#{ envelope: "none", discriminatorPropertyName: "dataKind" })
237
+ union ${t.union("Pet")} {
238
+ cat: Cat,
239
+ dog: Dog,
240
+ }
241
+ `);
242
+ expect(_$createComponent(Wrapper, {
243
+ get children() {
244
+ return [_$createComponent(InterfaceDeclaration, {
245
+ type: Cat
246
+ }), _$createIntrinsic("hbr", {}), _$createComponent(InterfaceDeclaration, {
247
+ type: Dog
248
+ }), _$createIntrinsic("hbr", {}), _$createComponent(UnionDeclaration, {
249
+ type: Pet
250
+ })];
251
+ }
252
+ })).toRenderTo(`interface Cat {
253
+ name: string;
254
+ meow: boolean;
255
+ }
256
+ interface Dog {
257
+ name: string;
258
+ bark: boolean;
259
+ }
260
+ type Pet = {
261
+ dataKind: "cat"
262
+ } & Cat | {
263
+ dataKind: "dog"
264
+ } & Dog;`);
265
+ });
266
+ it("renders anonymous discriminated union (no envelope)", async () => {
267
+ const {
268
+ TestUnion
269
+ } = await tester.compile(t.code`
270
+ namespace DemoService;
271
+ @discriminated(#{ envelope: "none", discriminatorPropertyName: "dataKind" })
272
+ union ${t.union("TestUnion")} {
273
+ one: { oneItem: true },
274
+ two: { secondItem: false }
275
+ }
276
+ `);
277
+ expect(_$createComponent(Wrapper, {
278
+ get children() {
279
+ return _$createComponent(UnionDeclaration, {
280
+ type: TestUnion
281
+ });
282
+ }
283
+ })).toRenderTo(`type TestUnion = {
284
+ dataKind: "one";
285
+ oneItem: true;
286
+ } | {
287
+ dataKind: "two";
288
+ secondItem: false;
289
+ };`);
290
+ });
291
+ it("creates a union declaration (bound to enum)", async () => {
292
+ const {
293
+ TestEnum
294
+ } = await tester.compile(t.code`
295
+ namespace DemoService;
296
+ enum ${t.enum("TestEnum")} {
297
+ one: "one",
298
+ two: "two"
299
+ }
300
+ `);
301
+ expect(_$createComponent(Wrapper, {
302
+ get children() {
303
+ return _$createComponent(UnionDeclaration, {
304
+ type: TestEnum
305
+ });
306
+ }
307
+ })).toRenderTo(`type TestEnum = "one" | "two";`);
308
+ });
@@ -5,4 +5,4 @@ export interface UnionExpressionProps {
5
5
  children?: Children;
6
6
  }
7
7
  export declare function UnionExpression({ type, children }: UnionExpressionProps): Children;
8
- //# sourceMappingURL=union-expression.d.ts.map
8
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../src/typescript/components/union/expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAEL,KAAK,IAAI,EAET,KAAK,KAAK,EAEX,MAAM,oBAAoB,CAAC;AAK5B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,YA+CvE"}
@@ -2,9 +2,9 @@ import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/
2
2
  import { For, List } from "@alloy-js/core";
3
3
  import * as ts from "@alloy-js/typescript";
4
4
  import { compilerAssert } from "@typespec/compiler";
5
- import { useTsp } from "../../core/context/tsp-context.js";
6
- import { efRefkey } from "../utils/refkey.js";
7
- import { TypeExpression } from "./type-expression.js";
5
+ import { useTsp } from "../../../core/context/tsp-context.js";
6
+ import { efRefkey } from "../../utils/refkey.js";
7
+ import { TypeExpression } from "../type-expression.js";
8
8
  export function UnionExpression({
9
9
  type,
10
10
  children
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=expression.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.test.d.ts","sourceRoot":"","sources":["../../../../../src/typescript/components/union/expression.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
+ import { Output } from "#core/index.js";
3
+ import { Tester } from "#test/test-host.js";
4
+ import { t } from "@typespec/compiler/testing";
5
+ import { expect, it } from "vitest";
6
+ import { UnionExpression } from "./expression.js";
7
+ it("renders a union expression", async () => {
8
+ const {
9
+ program,
10
+ TestUnion
11
+ } = await Tester.compile(t.code`
12
+ union ${t.union("TestUnion")} {
13
+ one: "one",
14
+ two: "two"
15
+ }
16
+ `);
17
+ expect(_$createComponent(Output, {
18
+ program: program,
19
+ get children() {
20
+ return _$createComponent(UnionExpression, {
21
+ type: TestUnion
22
+ });
23
+ }
24
+ })).toRenderTo(`"one" | "two"`);
25
+ });
26
+ it("renders a union expression without conflicting names", async () => {
27
+ const {
28
+ program,
29
+ TestUnion
30
+ } = await Tester.compile(t.code`
31
+ union ${t.union("TestUnion")} {
32
+ {common: "one"},
33
+ {common: "one", two: "two"}
34
+ }
35
+ `);
36
+ expect(_$createComponent(Output, {
37
+ program: program,
38
+ get children() {
39
+ return _$createComponent(UnionExpression, {
40
+ type: TestUnion
41
+ });
42
+ }
43
+ })).toRenderTo(`
44
+ {
45
+ common: "one";
46
+ } | {
47
+ common: "one";
48
+ two: "two";
49
+ }
50
+ `);
51
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/emitter-framework",
3
- "version": "0.10.0-dev.0",
3
+ "version": "0.10.0-dev.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -42,31 +42,31 @@
42
42
  "description": "",
43
43
  "peerDependencies": {
44
44
  "@alloy-js/core": "^0.18.2",
45
- "@alloy-js/typescript": "^0.18.0",
46
45
  "@alloy-js/csharp": "^0.18.0",
47
- "@typespec/compiler": "^1.2.0",
48
- "@typespec/http": "^1.2.0",
49
- "@typespec/rest": "^0.72.0 || >=0.73.0-dev <0.73.0"
46
+ "@alloy-js/typescript": "^0.18.0",
47
+ "@typespec/compiler": "^1.2.1",
48
+ "@typespec/http": "^1.2.1",
49
+ "@typespec/rest": "^0.72.1 || >=0.73.0-dev <0.73.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@alloy-js/cli": "^0.18.0",
53
- "@alloy-js/rollup-plugin": "^0.1.0",
54
53
  "@alloy-js/core": "^0.18.2",
54
+ "@alloy-js/rollup-plugin": "^0.1.0",
55
55
  "@alloy-js/typescript": "^0.18.0",
56
- "@typespec/compiler": "^1.2.0",
57
- "@typespec/http": "^1.2.0",
58
- "@typespec/rest": "^0.72.0 || >=0.73.0-dev <0.73.0",
56
+ "@typespec/compiler": "^1.2.1",
57
+ "@typespec/http": "^1.2.1",
58
+ "@typespec/rest": "^0.72.1 || >=0.73.0-dev <0.73.0",
59
59
  "concurrently": "^9.1.2",
60
60
  "pathe": "^2.0.3",
61
- "prettier": "~3.5.3",
62
- "web-tree-sitter": "^0.25.4",
61
+ "prettier": "~3.6.2",
63
62
  "tree-sitter-c-sharp": "^0.23.0",
64
63
  "tree-sitter-java": "^0.23.2",
65
64
  "tree-sitter-javascript": "^0.23.0",
66
65
  "tree-sitter-python": "^0.23.2",
67
66
  "tree-sitter-typescript": "^0.23.0",
68
67
  "typescript": "~5.8.2",
69
- "vitest": "^3.1.2"
68
+ "vitest": "^3.1.2",
69
+ "web-tree-sitter": "^0.25.4"
70
70
  },
71
71
  "dependencies": {},
72
72
  "scripts": {
@@ -11,6 +11,6 @@ export * from "./static-serializers.js";
11
11
  export * from "./type-declaration.js";
12
12
  export * from "./type-expression.js";
13
13
  export * from "./type-transform.js";
14
- export * from "./union-declaration.js";
15
- export * from "./union-expression.js";
14
+ export * from "./union/declaration.js";
15
+ export * from "./union/expression.js";
16
16
  export * from "./value-expression.js";
@@ -5,7 +5,7 @@ import { declarationRefkeys } from "../utils/refkey.js";
5
5
  import { EnumDeclaration } from "./enum-declaration.js";
6
6
  import { InterfaceDeclaration } from "./interface-declaration.jsx";
7
7
  import { TypeAliasDeclaration } from "./type-alias-declaration.jsx";
8
- import { UnionDeclaration } from "./union-declaration.jsx";
8
+ import { UnionDeclaration } from "./union/declaration.jsx";
9
9
 
10
10
  export interface TypeDeclarationProps extends Omit<ts.TypeDeclarationProps, "name"> {
11
11
  name?: string;
@@ -10,7 +10,7 @@ import { ArrayExpression } from "./array-expression.js";
10
10
  import { FunctionType } from "./function-type.js";
11
11
  import { InterfaceExpression } from "./interface-declaration.js";
12
12
  import { RecordExpression } from "./record-expression.js";
13
- import { UnionExpression } from "./union-expression.js";
13
+ import { UnionExpression } from "./union/expression.js";
14
14
 
15
15
  export interface TypeExpressionProps {
16
16
  type: Type;