ajsc 5.2.3 → 7.0.0
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/README.md +253 -145
- package/dist/converter/BaseConverter.d.ts +283 -0
- package/dist/converter/BaseConverter.js +131 -0
- package/dist/converter/BaseConverter.js.map +1 -0
- package/dist/converter/Emitter.d.ts +35 -0
- package/dist/converter/Emitter.js +50 -0
- package/dist/converter/Emitter.js.map +1 -0
- package/dist/converter/discriminatedUnions.d.ts +47 -0
- package/dist/converter/discriminatedUnions.js +168 -0
- package/dist/converter/discriminatedUnions.js.map +1 -0
- package/dist/converter/formatDefault.d.ts +20 -0
- package/dist/converter/formatDefault.js +31 -0
- package/dist/converter/formatDefault.js.map +1 -0
- package/dist/converter/index.d.ts +2 -0
- package/dist/converter/index.js +2 -0
- package/dist/converter/index.js.map +1 -0
- package/dist/converter/mergeUnions.d.ts +36 -0
- package/dist/converter/mergeUnions.js +189 -0
- package/dist/converter/mergeUnions.js.map +1 -0
- package/dist/converter/naming.d.ts +29 -0
- package/dist/converter/naming.js +130 -0
- package/dist/converter/naming.js.map +1 -0
- package/dist/converter/registry.d.ts +18 -0
- package/dist/converter/registry.js +50 -0
- package/dist/converter/registry.js.map +1 -0
- package/dist/converter/walk.d.ts +9 -0
- package/dist/converter/walk.js +40 -0
- package/dist/converter/walk.js.map +1 -0
- package/dist/index.d.ts +71 -3
- package/dist/index.js +63 -3
- package/dist/index.js.map +1 -1
- package/dist/{JSONSchemaConverter.d.ts → ir/JSONSchemaConverter.d.ts} +1 -1
- package/dist/{JSONSchemaConverter.js → ir/JSONSchemaConverter.js} +9 -3
- package/dist/ir/JSONSchemaConverter.js.map +1 -0
- package/dist/ir/index.d.ts +1 -0
- package/dist/ir/index.js +2 -0
- package/dist/ir/index.js.map +1 -0
- package/dist/kotlin/KotlinBaseConverter.d.ts +18 -0
- package/dist/kotlin/KotlinBaseConverter.js +36 -0
- package/dist/kotlin/KotlinBaseConverter.js.map +1 -0
- package/dist/kotlin/KotlinConverter.d.ts +67 -0
- package/dist/kotlin/KotlinConverter.js +140 -0
- package/dist/kotlin/KotlinConverter.js.map +1 -0
- package/dist/kotlin/annotations.d.ts +26 -0
- package/dist/kotlin/annotations.js +35 -0
- package/dist/kotlin/annotations.js.map +1 -0
- package/dist/kotlin/enums.d.ts +15 -0
- package/dist/kotlin/enums.js +58 -0
- package/dist/kotlin/enums.js.map +1 -0
- package/dist/kotlin/index.d.ts +2 -0
- package/dist/kotlin/index.js +3 -0
- package/dist/kotlin/index.js.map +1 -0
- package/dist/kotlin/objectEmitter.d.ts +12 -0
- package/dist/kotlin/objectEmitter.js +74 -0
- package/dist/kotlin/objectEmitter.js.map +1 -0
- package/dist/kotlin/sealedUnion.d.ts +17 -0
- package/dist/kotlin/sealedUnion.js +74 -0
- package/dist/kotlin/sealedUnion.js.map +1 -0
- package/dist/kotlin/typeMapper.d.ts +17 -0
- package/dist/kotlin/typeMapper.js +107 -0
- package/dist/kotlin/typeMapper.js.map +1 -0
- package/dist/kotlin/unsupported.d.ts +13 -0
- package/dist/kotlin/unsupported.js +53 -0
- package/dist/kotlin/unsupported.js.map +1 -0
- package/dist/swift/SwiftBaseConverter.d.ts +18 -0
- package/dist/swift/SwiftBaseConverter.js +38 -0
- package/dist/swift/SwiftBaseConverter.js.map +1 -0
- package/dist/swift/SwiftConverter.d.ts +60 -0
- package/dist/swift/SwiftConverter.js +111 -0
- package/dist/swift/SwiftConverter.js.map +1 -0
- package/dist/swift/discriminatedEnum.d.ts +18 -0
- package/dist/swift/discriminatedEnum.js +99 -0
- package/dist/swift/discriminatedEnum.js.map +1 -0
- package/dist/swift/enums.d.ts +15 -0
- package/dist/swift/enums.js +62 -0
- package/dist/swift/enums.js.map +1 -0
- package/dist/swift/index.d.ts +2 -0
- package/dist/swift/index.js +3 -0
- package/dist/swift/index.js.map +1 -0
- package/dist/swift/structEmitter.d.ts +12 -0
- package/dist/swift/structEmitter.js +70 -0
- package/dist/swift/structEmitter.js.map +1 -0
- package/dist/swift/typeMapper.d.ts +18 -0
- package/dist/swift/typeMapper.js +106 -0
- package/dist/swift/typeMapper.js.map +1 -0
- package/dist/swift/unsupported.d.ts +19 -0
- package/dist/swift/unsupported.js +88 -0
- package/dist/swift/unsupported.js.map +1 -0
- package/dist/typescript/TypescriptBaseConverter.d.ts +25 -0
- package/dist/typescript/TypescriptBaseConverter.js +178 -0
- package/dist/typescript/TypescriptBaseConverter.js.map +1 -0
- package/dist/typescript/TypescriptConverter.d.ts +74 -0
- package/dist/typescript/TypescriptConverter.js +252 -0
- package/dist/typescript/TypescriptConverter.js.map +1 -0
- package/dist/typescript/index.d.ts +2 -0
- package/dist/typescript/index.js +3 -0
- package/dist/typescript/index.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +37 -5
- package/dist/JSONSchemaConverter.js.map +0 -1
- package/dist/JSONSchemaConverter.test.d.ts +0 -1
- package/dist/JSONSchemaConverter.test.js +0 -585
- package/dist/JSONSchemaConverter.test.js.map +0 -1
- package/dist/Typebox.test.d.ts +0 -1
- package/dist/Typebox.test.js +0 -88
- package/dist/Typebox.test.js.map +0 -1
- package/dist/TypescriptBaseConverter.d.ts +0 -75
- package/dist/TypescriptBaseConverter.js +0 -321
- package/dist/TypescriptBaseConverter.js.map +0 -1
- package/dist/TypescriptConverter.additionalProperties.test.d.ts +0 -1
- package/dist/TypescriptConverter.additionalProperties.test.js +0 -110
- package/dist/TypescriptConverter.additionalProperties.test.js.map +0 -1
- package/dist/TypescriptConverter.arrays.test.d.ts +0 -1
- package/dist/TypescriptConverter.arrays.test.js +0 -130
- package/dist/TypescriptConverter.arrays.test.js.map +0 -1
- package/dist/TypescriptConverter.composites.advanced.test.d.ts +0 -1
- package/dist/TypescriptConverter.composites.advanced.test.js +0 -924
- package/dist/TypescriptConverter.composites.advanced.test.js.map +0 -1
- package/dist/TypescriptConverter.composites.test.d.ts +0 -1
- package/dist/TypescriptConverter.composites.test.js +0 -335
- package/dist/TypescriptConverter.composites.test.js.map +0 -1
- package/dist/TypescriptConverter.d.ts +0 -163
- package/dist/TypescriptConverter.js +0 -595
- package/dist/TypescriptConverter.js.map +0 -1
- package/dist/TypescriptConverter.jsdoc.test.d.ts +0 -1
- package/dist/TypescriptConverter.jsdoc.test.js +0 -194
- package/dist/TypescriptConverter.jsdoc.test.js.map +0 -1
- package/dist/TypescriptConverter.objects.test.d.ts +0 -1
- package/dist/TypescriptConverter.objects.test.js +0 -258
- package/dist/TypescriptConverter.objects.test.js.map +0 -1
- package/dist/TypescriptConverter.options.test.d.ts +0 -1
- package/dist/TypescriptConverter.options.test.js +0 -501
- package/dist/TypescriptConverter.options.test.js.map +0 -1
- package/dist/TypescriptConverter.primitives.test.d.ts +0 -1
- package/dist/TypescriptConverter.primitives.test.js +0 -26
- package/dist/TypescriptConverter.primitives.test.js.map +0 -1
- package/dist/utils/path-utils.test.d.ts +0 -1
- package/dist/utils/path-utils.test.js +0 -92
- package/dist/utils/path-utils.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypescriptConverter.composites.advanced.test.js","sourceRoot":"","sources":["../src/TypescriptConverter.composites.advanced.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { TypescriptConverter } from "./TypescriptConverter.js";
|
|
3
|
-
describe("TypescriptConverter - unions and intersections with shared ancestor type merging", () => {
|
|
4
|
-
it("should merge enum unions with same name under shared ancestor", () => {
|
|
5
|
-
expect(new TypescriptConverter({
|
|
6
|
-
type: "object",
|
|
7
|
-
properties: {
|
|
8
|
-
timeLog: {
|
|
9
|
-
type: "array",
|
|
10
|
-
items: {
|
|
11
|
-
anyOf: [
|
|
12
|
-
{
|
|
13
|
-
type: "object",
|
|
14
|
-
properties: {
|
|
15
|
-
action: {
|
|
16
|
-
type: "string",
|
|
17
|
-
enum: ["startshift", "endshift"],
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
type: "object",
|
|
23
|
-
properties: {
|
|
24
|
-
action: {
|
|
25
|
-
type: "string",
|
|
26
|
-
enum: ["startbreak", "endbreak"],
|
|
27
|
-
},
|
|
28
|
-
break: {
|
|
29
|
-
type: "object",
|
|
30
|
-
properties: {
|
|
31
|
-
durationMin: {
|
|
32
|
-
type: "number",
|
|
33
|
-
},
|
|
34
|
-
mandatory: {
|
|
35
|
-
type: "boolean",
|
|
36
|
-
},
|
|
37
|
-
paid: {
|
|
38
|
-
type: "boolean",
|
|
39
|
-
},
|
|
40
|
-
startsAfterShiftHrs: {
|
|
41
|
-
type: "number",
|
|
42
|
-
},
|
|
43
|
-
type: {
|
|
44
|
-
type: "string",
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
}, { enumStyle: "enum" }).code).toMatch(`export enum Action { Startshift = "startshift", Endshift = "endshift", Startbreak = "startbreak", Endbreak = "endbreak" }`);
|
|
55
|
-
});
|
|
56
|
-
it("should merge type unions with shared ancestor", () => {
|
|
57
|
-
expect(new TypescriptConverter({
|
|
58
|
-
type: "object",
|
|
59
|
-
properties: {
|
|
60
|
-
status: {
|
|
61
|
-
anyOf: [
|
|
62
|
-
{
|
|
63
|
-
type: "object",
|
|
64
|
-
properties: {
|
|
65
|
-
color: {
|
|
66
|
-
type: "string",
|
|
67
|
-
},
|
|
68
|
-
timeframe: {
|
|
69
|
-
type: "string",
|
|
70
|
-
enum: ["past"],
|
|
71
|
-
},
|
|
72
|
-
title: {
|
|
73
|
-
type: "string",
|
|
74
|
-
enum: ["completed", "missed"],
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
required: ["timeframe", "title"],
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
type: "object",
|
|
81
|
-
properties: {
|
|
82
|
-
color: {
|
|
83
|
-
type: "string",
|
|
84
|
-
},
|
|
85
|
-
timeframe: {
|
|
86
|
-
type: "string",
|
|
87
|
-
enum: ["current"],
|
|
88
|
-
},
|
|
89
|
-
title: {
|
|
90
|
-
type: "string",
|
|
91
|
-
enum: [
|
|
92
|
-
"ended",
|
|
93
|
-
"inprogress",
|
|
94
|
-
"notended",
|
|
95
|
-
"notstarted",
|
|
96
|
-
"onbreak",
|
|
97
|
-
],
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
required: ["timeframe", "title"],
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: "object",
|
|
104
|
-
properties: {
|
|
105
|
-
color: {
|
|
106
|
-
type: "string",
|
|
107
|
-
},
|
|
108
|
-
timeframe: {
|
|
109
|
-
type: "string",
|
|
110
|
-
enum: ["future"],
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
required: ["timeframe"],
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
}, { enumStyle: "enum" }).code).toContain(`export enum Timeframe { Past = "past", Current = "current", Future = "future" }\nexport enum Title { Completed = "completed", Missed = "missed", Ended = "ended", Inprogress = "inprogress", Notended = "notended", Notstarted = "notstarted", Onbreak = "onbreak" }\nexport type Status = { color?: string; timeframe: Timeframe; title?: Title; };\n\nexport type Root = { status?: Status; };\n`);
|
|
119
|
-
});
|
|
120
|
-
it("should merge enum + literal properties across union options", () => {
|
|
121
|
-
expect(new TypescriptConverter({
|
|
122
|
-
type: "object",
|
|
123
|
-
properties: {
|
|
124
|
-
item: {
|
|
125
|
-
anyOf: [
|
|
126
|
-
{
|
|
127
|
-
type: "object",
|
|
128
|
-
properties: {
|
|
129
|
-
kind: { const: "book" },
|
|
130
|
-
shared: { type: "string" },
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
type: "object",
|
|
135
|
-
properties: {
|
|
136
|
-
kind: {
|
|
137
|
-
type: "string",
|
|
138
|
-
enum: ["dvd", "cd"],
|
|
139
|
-
},
|
|
140
|
-
shared: { type: "string" },
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
],
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
}, { enumStyle: "enum" }).code).toMatch(`export enum Kind { Book = "book", Dvd = "dvd", Cd = "cd" }`);
|
|
147
|
-
});
|
|
148
|
-
it("should preserve union when options have incompatible property types", () => {
|
|
149
|
-
const code = new TypescriptConverter({
|
|
150
|
-
type: "object",
|
|
151
|
-
properties: {
|
|
152
|
-
field: {
|
|
153
|
-
anyOf: [
|
|
154
|
-
{
|
|
155
|
-
type: "object",
|
|
156
|
-
properties: {
|
|
157
|
-
value: { type: "string" },
|
|
158
|
-
name: { type: "string" },
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
type: "object",
|
|
163
|
-
properties: {
|
|
164
|
-
value: { type: "number" },
|
|
165
|
-
name: { type: "string" },
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
}, { enumStyle: "enum" }).code;
|
|
172
|
-
// Should remain as a union because "value" has incompatible types
|
|
173
|
-
expect(code).toMatch(/Field \| FieldType/);
|
|
174
|
-
});
|
|
175
|
-
it("should preserve discriminated unions as separate types", () => {
|
|
176
|
-
const code = new TypescriptConverter({
|
|
177
|
-
type: "object",
|
|
178
|
-
properties: {
|
|
179
|
-
shape: {
|
|
180
|
-
anyOf: [
|
|
181
|
-
{
|
|
182
|
-
type: "object",
|
|
183
|
-
properties: {
|
|
184
|
-
kind: { const: "circle" },
|
|
185
|
-
radius: { type: "number" },
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
type: "object",
|
|
190
|
-
properties: {
|
|
191
|
-
kind: { const: "square" },
|
|
192
|
-
side: { type: "number" },
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
],
|
|
196
|
-
},
|
|
197
|
-
},
|
|
198
|
-
}, { enumStyle: "enum" }).code;
|
|
199
|
-
// Discriminated union: "kind" has distinct const per option with
|
|
200
|
-
// option-specific properties — should NOT be merged, but enhanced with
|
|
201
|
-
// discriminator-derived names and consolidated enum
|
|
202
|
-
expect(code).toContain('export enum Kind { Circle = "circle", Square = "square" }');
|
|
203
|
-
expect(code).toMatch(/CircleShape \| SquareShape/);
|
|
204
|
-
expect(code).toContain('kind?: Kind.Circle');
|
|
205
|
-
expect(code).toContain('kind?: Kind.Square');
|
|
206
|
-
});
|
|
207
|
-
it("should merge with union-style enums (default enumStyle)", () => {
|
|
208
|
-
const code = new TypescriptConverter({
|
|
209
|
-
type: "object",
|
|
210
|
-
properties: {
|
|
211
|
-
event: {
|
|
212
|
-
anyOf: [
|
|
213
|
-
{
|
|
214
|
-
type: "object",
|
|
215
|
-
properties: {
|
|
216
|
-
type: {
|
|
217
|
-
type: "string",
|
|
218
|
-
enum: ["click", "hover"],
|
|
219
|
-
},
|
|
220
|
-
x: { type: "number" },
|
|
221
|
-
},
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
type: "object",
|
|
225
|
-
properties: {
|
|
226
|
-
type: {
|
|
227
|
-
type: "string",
|
|
228
|
-
enum: ["scroll", "resize"],
|
|
229
|
-
},
|
|
230
|
-
x: { type: "number" },
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
],
|
|
234
|
-
},
|
|
235
|
-
},
|
|
236
|
-
}).code;
|
|
237
|
-
// With default enumStyle ("union"), merged enums appear as string literal unions
|
|
238
|
-
expect(code).toMatch(`"click" | "hover" | "scroll" | "resize"`);
|
|
239
|
-
});
|
|
240
|
-
it("should not suffix enum name when identical enum appears in tuple and array-of-tuples anyOf branches", () => {
|
|
241
|
-
const code = new TypescriptConverter({
|
|
242
|
-
type: "object",
|
|
243
|
-
properties: {
|
|
244
|
-
sort: {
|
|
245
|
-
description: '[\"key\", \"asc|desc\"] or [[\"key1\", \"asc\"], [\"key2\", \"desc\"]]',
|
|
246
|
-
anyOf: [
|
|
247
|
-
{
|
|
248
|
-
type: "array",
|
|
249
|
-
items: [
|
|
250
|
-
{ type: "string" },
|
|
251
|
-
{ type: "string", enum: ["asc", "desc"] },
|
|
252
|
-
],
|
|
253
|
-
additionalItems: false,
|
|
254
|
-
minItems: 2,
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
type: "array",
|
|
258
|
-
items: {
|
|
259
|
-
type: "array",
|
|
260
|
-
items: [
|
|
261
|
-
{ type: "string" },
|
|
262
|
-
{ type: "string", enum: ["asc", "desc"] },
|
|
263
|
-
],
|
|
264
|
-
additionalItems: false,
|
|
265
|
-
minItems: 2,
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
],
|
|
269
|
-
},
|
|
270
|
-
},
|
|
271
|
-
}, { enumStyle: "enum" }).code;
|
|
272
|
-
// The enum is identical in both branches — should be "Sort", not "Sort1"
|
|
273
|
-
expect(code).toContain('export enum Sort { Asc = "asc", Desc = "desc" }');
|
|
274
|
-
expect(code).not.toContain("Sort1");
|
|
275
|
-
});
|
|
276
|
-
it("should handle nested anyOf merging (bottom-up)", () => {
|
|
277
|
-
const code = new TypescriptConverter({
|
|
278
|
-
type: "object",
|
|
279
|
-
properties: {
|
|
280
|
-
outer: {
|
|
281
|
-
type: "array",
|
|
282
|
-
items: {
|
|
283
|
-
anyOf: [
|
|
284
|
-
{
|
|
285
|
-
type: "object",
|
|
286
|
-
properties: {
|
|
287
|
-
tag: {
|
|
288
|
-
type: "string",
|
|
289
|
-
enum: ["a"],
|
|
290
|
-
},
|
|
291
|
-
inner: {
|
|
292
|
-
anyOf: [
|
|
293
|
-
{
|
|
294
|
-
type: "object",
|
|
295
|
-
properties: {
|
|
296
|
-
level: {
|
|
297
|
-
type: "string",
|
|
298
|
-
enum: ["low"],
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
type: "object",
|
|
304
|
-
properties: {
|
|
305
|
-
level: {
|
|
306
|
-
type: "string",
|
|
307
|
-
enum: ["high"],
|
|
308
|
-
},
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
],
|
|
312
|
-
},
|
|
313
|
-
},
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
type: "object",
|
|
317
|
-
properties: {
|
|
318
|
-
tag: {
|
|
319
|
-
type: "string",
|
|
320
|
-
enum: ["b"],
|
|
321
|
-
},
|
|
322
|
-
},
|
|
323
|
-
},
|
|
324
|
-
],
|
|
325
|
-
},
|
|
326
|
-
},
|
|
327
|
-
},
|
|
328
|
-
}, { enumStyle: "enum" }).code;
|
|
329
|
-
// Inner anyOf should be merged first (bottom-up), producing a merged Level enum
|
|
330
|
-
expect(code).toMatch(`export enum Level { Low = "low", High = "high" }`);
|
|
331
|
-
// Outer anyOf should also be merged (tag is shared)
|
|
332
|
-
expect(code).toMatch(`export enum Tag { A = "a", B = "b" }`);
|
|
333
|
-
});
|
|
334
|
-
});
|
|
335
|
-
//# sourceMappingURL=TypescriptConverter.composites.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypescriptConverter.composites.test.js","sourceRoot":"","sources":["../src/TypescriptConverter.composites.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { ILanguageConverter, IRNode } from "./types.js";
|
|
2
|
-
import { RefTypeNamingConfig, TypescriptBaseConverter } from "./TypescriptBaseConverter.js";
|
|
3
|
-
import { JSONSchema7Definition } from "json-schema";
|
|
4
|
-
export interface TypescriptConverterOpts {
|
|
5
|
-
/**
|
|
6
|
-
* If true, referenced types will not be created for objects and instead
|
|
7
|
-
* the object type will be inlined.
|
|
8
|
-
*/
|
|
9
|
-
inlineTypes?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Controls the postfix added to array item type names.
|
|
12
|
-
* - `false` (default) → no postfix, uses property name directly
|
|
13
|
-
* - `string` → custom postfix (e.g. "Item" → ContactsItem, "Element" → ContactsElement)
|
|
14
|
-
*/
|
|
15
|
-
arrayItemNaming?: string | false;
|
|
16
|
-
/**
|
|
17
|
-
* If true (default), singularize array item path segments when generating type names.
|
|
18
|
-
* Handles irregular plurals (e.g. "entries" → "Entry", "people" → "Person").
|
|
19
|
-
*/
|
|
20
|
-
depluralize?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Controls how enum values are emitted.
|
|
23
|
-
* - `"union"` (default) → `"a" | "b" | "c"`
|
|
24
|
-
* - `"enum"` → `export enum Status { A = "a", B = "b", C = "c" }`
|
|
25
|
-
* Only applies when `inlineTypes` is false and all values are strings.
|
|
26
|
-
*/
|
|
27
|
-
enumStyle?: "union" | "enum";
|
|
28
|
-
/**
|
|
29
|
-
* Additional words that should not be singularized when `depluralize` is true.
|
|
30
|
-
* Built-in uncountables: "data", "metadata".
|
|
31
|
-
* @example ["criteria", "alumni", "corpus"]
|
|
32
|
-
*/
|
|
33
|
-
uncountableWords?: string[];
|
|
34
|
-
/**
|
|
35
|
-
* If true, emit JSDoc comments from JSON Schema `description` annotations.
|
|
36
|
-
* Only applies when `inlineTypes` is false (the default).
|
|
37
|
-
*/
|
|
38
|
-
jsdoc?: boolean;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* A TypeScript language converter plugin.
|
|
42
|
-
*/
|
|
43
|
-
export declare class TypescriptConverter extends TypescriptBaseConverter implements ILanguageConverter {
|
|
44
|
-
readonly language = "typescript";
|
|
45
|
-
private schemaConverter;
|
|
46
|
-
private opts;
|
|
47
|
-
private inlineTypes;
|
|
48
|
-
private enumStyle;
|
|
49
|
-
/**
|
|
50
|
-
* Stores enum declarations keyed by canonical signature (sorted JSON values)
|
|
51
|
-
* for deduplication across the schema.
|
|
52
|
-
*/
|
|
53
|
-
private enumDeclarations;
|
|
54
|
-
readonly code: string;
|
|
55
|
-
private mergeCounter;
|
|
56
|
-
/**
|
|
57
|
-
* Maps discriminator literal IR nodes to their consolidated enum info.
|
|
58
|
-
* Used by generateLiteralType and preRegisterEnumNames to emit a single
|
|
59
|
-
* consolidated enum and member references instead of single-value enums.
|
|
60
|
-
*/
|
|
61
|
-
private discriminatorInfo;
|
|
62
|
-
/** Maps variant IR nodes to their enhancement-assigned names. */
|
|
63
|
-
private variantNames;
|
|
64
|
-
/** Signatures eligible for cross-variant deduplication. */
|
|
65
|
-
private dedupSignatures;
|
|
66
|
-
constructor(schema: JSONSchema7Definition, opts?: TypescriptConverterOpts);
|
|
67
|
-
protected getRefTypeNamingConfig(): RefTypeNamingConfig;
|
|
68
|
-
/**
|
|
69
|
-
* Pre-scans the IR tree to discover and register all enum declarations
|
|
70
|
-
* before type generation begins. Traversal order mirrors generateType's
|
|
71
|
-
* DFS order so that canonical-key deduplication picks the same "first"
|
|
72
|
-
* path that runtime generation would encounter.
|
|
73
|
-
*/
|
|
74
|
-
private preRegisterEnumNames;
|
|
75
|
-
protected generateEnumType(ir: IRNode): string;
|
|
76
|
-
protected generateLiteralType(ir: IRNode): string;
|
|
77
|
-
/**
|
|
78
|
-
* Returns (or creates) a deduplicated enum declaration for the given string values.
|
|
79
|
-
* Same set of values at different paths reuses the same enum.
|
|
80
|
-
*
|
|
81
|
-
* Name derivation uses PathUtils to strip array indices, then progressively
|
|
82
|
-
* includes parent path segments for collision resolution (e.g. "Type" →
|
|
83
|
-
* "ArgsType" → "DataArgsType") before falling back to a numeric suffix.
|
|
84
|
-
*/
|
|
85
|
-
private getOrCreateEnumDeclaration;
|
|
86
|
-
/**
|
|
87
|
-
* Derives a unique, valid TypeScript enum name from a dot-notation path.
|
|
88
|
-
* Strips array indices via PathUtils, then tries the last segment ("Type"),
|
|
89
|
-
* escalates to include parent segments on collision ("ArgsType", "DataArgsType"),
|
|
90
|
-
* and falls back to a numeric suffix as a last resort.
|
|
91
|
-
*/
|
|
92
|
-
private deriveEnumName;
|
|
93
|
-
/**
|
|
94
|
-
* Returns the given name if available, otherwise appends incrementing
|
|
95
|
-
* counters (e.g. "Value2", "Value3") until a unique name is found.
|
|
96
|
-
*/
|
|
97
|
-
private findAvailableName;
|
|
98
|
-
/**
|
|
99
|
-
* Converts a string value to a valid PascalCase enum member name.
|
|
100
|
-
*/
|
|
101
|
-
private toEnumMemberName;
|
|
102
|
-
/**
|
|
103
|
-
* Recursively walks the IR tree (bottom-up) and merges anyOf unions
|
|
104
|
-
* whose options are all objects with compatible property types.
|
|
105
|
-
* Merged enums collect values from all options; properties missing
|
|
106
|
-
* from some options become optional in the merged type.
|
|
107
|
-
*/
|
|
108
|
-
private mergeCompatibleUnions;
|
|
109
|
-
/**
|
|
110
|
-
* Attempts to merge all options of an anyOf union into a single object type.
|
|
111
|
-
* Returns the merged IRNode, or null if the options are not compatible.
|
|
112
|
-
*/
|
|
113
|
-
private tryMergeObjectUnion;
|
|
114
|
-
/**
|
|
115
|
-
* Tries to merge multiple instances of the same property across union options.
|
|
116
|
-
* Returns the merged IRNode, or null if incompatible.
|
|
117
|
-
*/
|
|
118
|
-
private tryMergeProperty;
|
|
119
|
-
/**
|
|
120
|
-
* Detects discriminated union patterns where merging would lose
|
|
121
|
-
* semantic precision. A discriminated union requires:
|
|
122
|
-
* 1. A shared property with distinct const/single-value-enum per option
|
|
123
|
-
* (the "discriminator")
|
|
124
|
-
* 2. Every option has at least one property exclusive to only that option
|
|
125
|
-
* (variant-specific fields tied to the discriminator value)
|
|
126
|
-
*
|
|
127
|
-
* This distinguishes true tagged unions (circle+radius vs square+side)
|
|
128
|
-
* from schemas where single-value enums represent different values of
|
|
129
|
-
* the same field that should be merged (past/current/future → Timeframe).
|
|
130
|
-
*/
|
|
131
|
-
private isDiscriminatedUnion;
|
|
132
|
-
/**
|
|
133
|
-
* Walks the IR tree and applies discriminated union enhancements
|
|
134
|
-
* to anyOf unions that survived merging.
|
|
135
|
-
*/
|
|
136
|
-
private enhanceDiscriminatedUnions;
|
|
137
|
-
/**
|
|
138
|
-
* Enhances an unmerged anyOf union that has a discriminator property.
|
|
139
|
-
* Sets `ir.name` on each variant to a discriminator-derived name and
|
|
140
|
-
* populates `discriminatorInfo` for consolidated enum emission.
|
|
141
|
-
*/
|
|
142
|
-
private applyDiscriminatedUnionEnhancements;
|
|
143
|
-
/**
|
|
144
|
-
* Collects all property names (in first-seen order) and shared property names
|
|
145
|
-
* across union options.
|
|
146
|
-
*/
|
|
147
|
-
private collectUnionPropertyNames;
|
|
148
|
-
/**
|
|
149
|
-
* Finds the discriminator property among shared properties: a property where
|
|
150
|
-
* each option has a distinct const or single-value-enum string value.
|
|
151
|
-
*/
|
|
152
|
-
private findDiscriminatorProperty;
|
|
153
|
-
/**
|
|
154
|
-
* Extracts a single const string value from an IR node (literal with string
|
|
155
|
-
* value or single-value string enum).
|
|
156
|
-
*/
|
|
157
|
-
private getConstStringValue;
|
|
158
|
-
protected shouldReuseExistingSignature(signature: string): boolean;
|
|
159
|
-
/**
|
|
160
|
-
* Override to use `ir.name` for discriminator-derived variant naming.
|
|
161
|
-
*/
|
|
162
|
-
protected resolveRefTypeName(ir: IRNode, signature: string): string;
|
|
163
|
-
}
|