ajsc 4.0.0 → 5.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/dist/TypescriptBaseConverter.d.ts +14 -1
- package/dist/TypescriptBaseConverter.js +28 -3
- package/dist/TypescriptBaseConverter.js.map +1 -1
- package/dist/TypescriptConverter.additionalProperties.test.js +110 -0
- package/dist/TypescriptConverter.additionalProperties.test.js.map +1 -0
- package/dist/TypescriptConverter.arrays.test.js +130 -0
- package/dist/TypescriptConverter.arrays.test.js.map +1 -0
- package/dist/TypescriptConverter.composites.test.d.ts +1 -0
- package/dist/TypescriptConverter.composites.test.js +13 -0
- package/dist/TypescriptConverter.composites.test.js.map +1 -0
- package/dist/TypescriptConverter.d.ts +56 -9
- package/dist/TypescriptConverter.js +105 -7
- package/dist/TypescriptConverter.js.map +1 -1
- package/dist/TypescriptConverter.objects.test.d.ts +1 -0
- package/dist/TypescriptConverter.objects.test.js +258 -0
- package/dist/TypescriptConverter.objects.test.js.map +1 -0
- package/dist/TypescriptConverter.options.test.d.ts +1 -0
- package/dist/TypescriptConverter.options.test.js +430 -0
- package/dist/TypescriptConverter.options.test.js.map +1 -0
- package/dist/TypescriptConverter.primitives.test.d.ts +1 -0
- package/dist/TypescriptConverter.primitives.test.js +26 -0
- package/dist/TypescriptConverter.primitives.test.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/TypescriptConverter.test.js +0 -325
- package/dist/TypescriptConverter.test.js.map +0 -1
- package/dist/TypescriptProcedureConverter.d.ts +0 -19
- package/dist/TypescriptProcedureConverter.js +0 -54
- package/dist/TypescriptProcedureConverter.js.map +0 -1
- package/dist/TypescriptProcedureConverter.test.js +0 -997
- package/dist/TypescriptProcedureConverter.test.js.map +0 -1
- /package/dist/{TypescriptConverter.test.d.ts → TypescriptConverter.additionalProperties.test.d.ts} +0 -0
- /package/dist/{TypescriptProcedureConverter.test.d.ts → TypescriptConverter.arrays.test.d.ts} +0 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { TypescriptConverter } from "./TypescriptConverter.js";
|
|
3
|
+
/** Helper to normalize whitespace for comparison */
|
|
4
|
+
const norm = (s) => s.replace(/\s/g, "");
|
|
5
|
+
const personWithContactsSchema = {
|
|
6
|
+
title: "Person",
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
contacts: {
|
|
10
|
+
type: "array",
|
|
11
|
+
items: {
|
|
12
|
+
type: "object",
|
|
13
|
+
properties: { email: { type: "string" } },
|
|
14
|
+
required: ["email"],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
describe("arrayItemNaming", () => {
|
|
20
|
+
it("default (false) → no postfix, depluralized property name", () => {
|
|
21
|
+
const result = new TypescriptConverter(personWithContactsSchema, {}).code;
|
|
22
|
+
expect(norm(result)).toContain(norm("export type Contact ="));
|
|
23
|
+
expect(norm(result)).not.toContain(norm("ContactsItem"));
|
|
24
|
+
});
|
|
25
|
+
it("'Item' → classic postfix behavior", () => {
|
|
26
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
27
|
+
arrayItemNaming: "Item",
|
|
28
|
+
depluralize: false,
|
|
29
|
+
}).code;
|
|
30
|
+
expect(norm(result)).toContain(norm("export type ContactsItem ="));
|
|
31
|
+
});
|
|
32
|
+
it("custom string → uses that postfix", () => {
|
|
33
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
34
|
+
arrayItemNaming: "Element",
|
|
35
|
+
depluralize: false,
|
|
36
|
+
}).code;
|
|
37
|
+
expect(norm(result)).toContain(norm("export type ContactsElement ="));
|
|
38
|
+
expect(norm(result)).not.toContain(norm("ContactsItem"));
|
|
39
|
+
});
|
|
40
|
+
it("custom string + depluralize → singularized name with postfix", () => {
|
|
41
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
42
|
+
arrayItemNaming: "Element",
|
|
43
|
+
}).code;
|
|
44
|
+
expect(norm(result)).toContain(norm("export type ContactElement ="));
|
|
45
|
+
});
|
|
46
|
+
it("false + depluralize: false → plural property name, no postfix", () => {
|
|
47
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
48
|
+
arrayItemNaming: false,
|
|
49
|
+
depluralize: false,
|
|
50
|
+
}).code;
|
|
51
|
+
expect(norm(result)).toContain(norm("export type Contacts ="));
|
|
52
|
+
expect(norm(result)).not.toContain(norm("ContactsItem"));
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe("depluralize", () => {
|
|
56
|
+
it("default (true) → singularized name", () => {
|
|
57
|
+
const result = new TypescriptConverter(personWithContactsSchema, {}).code;
|
|
58
|
+
expect(norm(result)).toContain(norm("Contact"));
|
|
59
|
+
expect(norm(result)).not.toContain(norm("Contacts"));
|
|
60
|
+
});
|
|
61
|
+
it("false → plural name preserved", () => {
|
|
62
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
63
|
+
depluralize: false,
|
|
64
|
+
}).code;
|
|
65
|
+
expect(norm(result)).toContain(norm("Contacts"));
|
|
66
|
+
});
|
|
67
|
+
it("true + arrayItemNaming: 'Item' → singularized with postfix", () => {
|
|
68
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
69
|
+
depluralize: true,
|
|
70
|
+
arrayItemNaming: "Item",
|
|
71
|
+
}).code;
|
|
72
|
+
expect(norm(result)).toContain(norm("ContactItem"));
|
|
73
|
+
expect(norm(result)).not.toContain(norm("ContactsItem"));
|
|
74
|
+
});
|
|
75
|
+
it("combined: depluralize + arrayItemNaming: false → singular property name", () => {
|
|
76
|
+
const result = new TypescriptConverter(personWithContactsSchema, {
|
|
77
|
+
depluralize: true,
|
|
78
|
+
arrayItemNaming: false,
|
|
79
|
+
}).code;
|
|
80
|
+
expect(norm(result)).toContain(norm("export type Contact ="));
|
|
81
|
+
expect(norm(result)).not.toContain(norm("ContactsItem"));
|
|
82
|
+
expect(norm(result)).not.toContain(norm("ContactItem"));
|
|
83
|
+
});
|
|
84
|
+
/** Helper: build a schema with a single array property of the given name */
|
|
85
|
+
const arrayPropSchema = (propName) => ({
|
|
86
|
+
title: "Root",
|
|
87
|
+
type: "object",
|
|
88
|
+
properties: {
|
|
89
|
+
[propName]: {
|
|
90
|
+
type: "array",
|
|
91
|
+
items: {
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: { id: { type: "string" } },
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
const depluralizeCases = [
|
|
99
|
+
// -ies → -y
|
|
100
|
+
["entries", "Entry"],
|
|
101
|
+
["categories", "Category"],
|
|
102
|
+
["properties", "Property"],
|
|
103
|
+
["policies", "Policy"],
|
|
104
|
+
["strategies", "Strategy"],
|
|
105
|
+
// -sses → -ss
|
|
106
|
+
["addresses", "Address"],
|
|
107
|
+
["classes", "Class"],
|
|
108
|
+
// -uses → -us
|
|
109
|
+
["statuses", "Status"],
|
|
110
|
+
// -xes/-ches/-shes → drop -es
|
|
111
|
+
["boxes", "Box"],
|
|
112
|
+
["branches", "Branch"],
|
|
113
|
+
["crashes", "Crash"],
|
|
114
|
+
// -ves → -f/-fe
|
|
115
|
+
["wolves", "Wolf"],
|
|
116
|
+
["knives", "Knife"],
|
|
117
|
+
// -ses from -sis
|
|
118
|
+
["analyses", "Analysis"],
|
|
119
|
+
// irregular plurals
|
|
120
|
+
["people", "Person"],
|
|
121
|
+
["children", "Child"],
|
|
122
|
+
["men", "Man"],
|
|
123
|
+
["women", "Woman"],
|
|
124
|
+
["mice", "Mouse"],
|
|
125
|
+
// -ces → -x
|
|
126
|
+
["matrices", "Matrix"],
|
|
127
|
+
["indices", "Index"],
|
|
128
|
+
// simple -s
|
|
129
|
+
["users", "User"],
|
|
130
|
+
["items", "Item"],
|
|
131
|
+
["products", "Product"],
|
|
132
|
+
// -e+s → -e
|
|
133
|
+
["databases", "Database"],
|
|
134
|
+
["interfaces", "Interface"],
|
|
135
|
+
["responses", "Response"],
|
|
136
|
+
];
|
|
137
|
+
it.each(depluralizeCases)("%s → %s", (plural, expectedSingularPascal) => {
|
|
138
|
+
const result = new TypescriptConverter(arrayPropSchema(plural), {
|
|
139
|
+
depluralize: true,
|
|
140
|
+
arrayItemNaming: false,
|
|
141
|
+
}).code;
|
|
142
|
+
expect(norm(result)).toContain(norm(`export type ${expectedSingularPascal} =`));
|
|
143
|
+
});
|
|
144
|
+
it("handles camelCase array names (depluralize last word)", () => {
|
|
145
|
+
const schema = arrayPropSchema("locationLogEntries");
|
|
146
|
+
const result = new TypescriptConverter(schema, {
|
|
147
|
+
depluralize: true,
|
|
148
|
+
arrayItemNaming: false,
|
|
149
|
+
}).code;
|
|
150
|
+
expect(norm(result)).toContain(norm("export type LocationLogEntry ="));
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe("depluralize edge cases", () => {
|
|
154
|
+
/** Helper: build a schema with a single array property of the given name */
|
|
155
|
+
const arrayPropSchema = (propName) => ({
|
|
156
|
+
title: "Root",
|
|
157
|
+
type: "object",
|
|
158
|
+
properties: {
|
|
159
|
+
[propName]: {
|
|
160
|
+
type: "array",
|
|
161
|
+
items: {
|
|
162
|
+
type: "object",
|
|
163
|
+
properties: { id: { type: "string" } },
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
it("uncountable words: 'data' stays Data, not Datum", () => {
|
|
169
|
+
const result = new TypescriptConverter(arrayPropSchema("data"), {}).code;
|
|
170
|
+
expect(norm(result)).toContain(norm("export type Data ="));
|
|
171
|
+
expect(norm(result)).not.toContain(norm("Datum"));
|
|
172
|
+
});
|
|
173
|
+
it("uncountable words: 'metadata' stays Metadata, not Metadatum", () => {
|
|
174
|
+
const result = new TypescriptConverter(arrayPropSchema("metadata"), {}).code;
|
|
175
|
+
expect(norm(result)).toContain(norm("export type Metadata ="));
|
|
176
|
+
expect(norm(result)).not.toContain(norm("Metadatum"));
|
|
177
|
+
});
|
|
178
|
+
it("deeply nested arrays: users.0.addresses.0 → User + Address", () => {
|
|
179
|
+
const schema = {
|
|
180
|
+
title: "Root",
|
|
181
|
+
type: "object",
|
|
182
|
+
properties: {
|
|
183
|
+
users: {
|
|
184
|
+
type: "array",
|
|
185
|
+
items: {
|
|
186
|
+
type: "object",
|
|
187
|
+
properties: {
|
|
188
|
+
name: { type: "string" },
|
|
189
|
+
addresses: {
|
|
190
|
+
type: "array",
|
|
191
|
+
items: {
|
|
192
|
+
type: "object",
|
|
193
|
+
properties: {
|
|
194
|
+
street: { type: "string" },
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
const result = new TypescriptConverter(schema, {}).code;
|
|
204
|
+
expect(norm(result)).toContain(norm("export type User ="));
|
|
205
|
+
expect(norm(result)).toContain(norm("export type Address ="));
|
|
206
|
+
});
|
|
207
|
+
it("name collision: two properties singularize to the same name → resolved with suffix", () => {
|
|
208
|
+
// "statuses" and "status" both singularize to "status" → "Status"
|
|
209
|
+
// The collision should be resolved via the postfix/path escalation logic
|
|
210
|
+
const schema = {
|
|
211
|
+
title: "Root",
|
|
212
|
+
type: "object",
|
|
213
|
+
properties: {
|
|
214
|
+
statuses: {
|
|
215
|
+
type: "array",
|
|
216
|
+
items: {
|
|
217
|
+
type: "object",
|
|
218
|
+
properties: { code: { type: "number" } },
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
status: {
|
|
222
|
+
type: "object",
|
|
223
|
+
properties: { label: { type: "string" } },
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
const result = new TypescriptConverter(schema, {}).code;
|
|
228
|
+
// Both types should exist (one with a suffix to avoid collision)
|
|
229
|
+
expect(norm(result)).toContain(norm("export type Status ="));
|
|
230
|
+
// Second one gets a collision-resolution postfix
|
|
231
|
+
const statusMatches = norm(result).match(/exporttypeStatus/g);
|
|
232
|
+
expect(statusMatches).not.toBeNull();
|
|
233
|
+
expect(statusMatches.length).toBeGreaterThanOrEqual(1);
|
|
234
|
+
});
|
|
235
|
+
it("custom uncountableWords prevents singularization", () => {
|
|
236
|
+
const result = new TypescriptConverter(arrayPropSchema("criteria"), {
|
|
237
|
+
uncountableWords: ["criteria"],
|
|
238
|
+
}).code;
|
|
239
|
+
expect(norm(result)).toContain(norm("export type Criteria ="));
|
|
240
|
+
expect(norm(result)).not.toContain(norm("Criterium"));
|
|
241
|
+
expect(norm(result)).not.toContain(norm("Criterion"));
|
|
242
|
+
});
|
|
243
|
+
it("custom uncountableWords are additive to built-in defaults", () => {
|
|
244
|
+
// "data" (built-in) should still be uncountable even with custom words
|
|
245
|
+
const result = new TypescriptConverter(arrayPropSchema("data"), {
|
|
246
|
+
uncountableWords: ["corpus"],
|
|
247
|
+
}).code;
|
|
248
|
+
expect(norm(result)).toContain(norm("export type Data ="));
|
|
249
|
+
});
|
|
250
|
+
it("uncountableWords matches case-insensitively", () => {
|
|
251
|
+
const schema = arrayPropSchema("sensorData");
|
|
252
|
+
const result = new TypescriptConverter(schema, {}).code;
|
|
253
|
+
expect(norm(result)).toContain(norm("export type SensorData ="));
|
|
254
|
+
expect(norm(result)).not.toContain(norm("SensorDatum"));
|
|
255
|
+
});
|
|
256
|
+
it("root-level array schema → uses title for root, items get fallback name", () => {
|
|
257
|
+
const schema = {
|
|
258
|
+
title: "MyArray",
|
|
259
|
+
type: "array",
|
|
260
|
+
items: {
|
|
261
|
+
type: "object",
|
|
262
|
+
properties: { name: { type: "string" } },
|
|
263
|
+
required: ["name"],
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
const result = new TypescriptConverter(schema, {}).code;
|
|
267
|
+
// Root should use schema title
|
|
268
|
+
expect(norm(result)).toContain(norm("export type MyArray ="));
|
|
269
|
+
// Items type should exist (fallback naming since path is just "0")
|
|
270
|
+
expect(result).toMatch(/export type \w+ = \{ name: string; \}/);
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
describe("enumStyle", () => {
|
|
274
|
+
const schemaWithEnum = {
|
|
275
|
+
title: "Order",
|
|
276
|
+
type: "object",
|
|
277
|
+
properties: {
|
|
278
|
+
status: {
|
|
279
|
+
type: "string",
|
|
280
|
+
enum: ["active", "inactive", "pending"],
|
|
281
|
+
},
|
|
282
|
+
priority: { type: "number" },
|
|
283
|
+
},
|
|
284
|
+
required: ["status"],
|
|
285
|
+
};
|
|
286
|
+
it("default ('union') → union type", () => {
|
|
287
|
+
const result = new TypescriptConverter(schemaWithEnum).code;
|
|
288
|
+
expect(result).toContain('"active" | "inactive" | "pending"');
|
|
289
|
+
expect(result).not.toContain("export enum");
|
|
290
|
+
});
|
|
291
|
+
it("'enum' with all-string values → enum declaration", () => {
|
|
292
|
+
const result = new TypescriptConverter(schemaWithEnum, {
|
|
293
|
+
enumStyle: "enum",
|
|
294
|
+
}).code;
|
|
295
|
+
expect(result).toContain("export enum Status");
|
|
296
|
+
expect(result).toContain('Active = "active"');
|
|
297
|
+
expect(result).toContain('Inactive = "inactive"');
|
|
298
|
+
expect(result).toContain('Pending = "pending"');
|
|
299
|
+
});
|
|
300
|
+
it("'enum' with mixed types → falls back to union", () => {
|
|
301
|
+
const schema = {
|
|
302
|
+
title: "Root",
|
|
303
|
+
type: "object",
|
|
304
|
+
properties: {
|
|
305
|
+
value: {
|
|
306
|
+
type: "string",
|
|
307
|
+
enum: ["a", 1, true],
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
};
|
|
311
|
+
const result = new TypescriptConverter(schema, {
|
|
312
|
+
enumStyle: "enum",
|
|
313
|
+
}).code;
|
|
314
|
+
expect(result).not.toContain("export enum");
|
|
315
|
+
expect(result).toContain('"a" | 1 | true');
|
|
316
|
+
});
|
|
317
|
+
it("'enum' + inlineTypes → ignored, uses union", () => {
|
|
318
|
+
const result = new TypescriptConverter(schemaWithEnum, {
|
|
319
|
+
enumStyle: "enum",
|
|
320
|
+
inlineTypes: true,
|
|
321
|
+
}).code;
|
|
322
|
+
expect(result).not.toContain("export enum");
|
|
323
|
+
expect(result).toContain('"active" | "inactive" | "pending"');
|
|
324
|
+
});
|
|
325
|
+
it("'enum' with const string → single-member enum", () => {
|
|
326
|
+
const schema = {
|
|
327
|
+
title: "Root",
|
|
328
|
+
type: "object",
|
|
329
|
+
properties: {
|
|
330
|
+
kind: { type: "string", const: "special" },
|
|
331
|
+
},
|
|
332
|
+
};
|
|
333
|
+
const result = new TypescriptConverter(schema, {
|
|
334
|
+
enumStyle: "enum",
|
|
335
|
+
}).code;
|
|
336
|
+
expect(result).toContain("export enum Kind");
|
|
337
|
+
expect(result).toContain('Special = "special"');
|
|
338
|
+
});
|
|
339
|
+
it("deduplication: same enum values at different paths → one declaration", () => {
|
|
340
|
+
const schema = {
|
|
341
|
+
title: "Root",
|
|
342
|
+
type: "object",
|
|
343
|
+
properties: {
|
|
344
|
+
status: {
|
|
345
|
+
type: "string",
|
|
346
|
+
enum: ["on", "off"],
|
|
347
|
+
},
|
|
348
|
+
mode: {
|
|
349
|
+
type: "string",
|
|
350
|
+
enum: ["off", "on",],
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
};
|
|
354
|
+
const result = new TypescriptConverter(schema, {
|
|
355
|
+
enumStyle: "enum",
|
|
356
|
+
}).code;
|
|
357
|
+
// Both fields should reference the same enum
|
|
358
|
+
const enumCount = (result.match(/export enum/g) || []).length;
|
|
359
|
+
expect(enumCount).toBe(1);
|
|
360
|
+
});
|
|
361
|
+
it("name collision: different enums with same derived name → suffixed", () => {
|
|
362
|
+
const schema = {
|
|
363
|
+
title: "Root",
|
|
364
|
+
type: "object",
|
|
365
|
+
properties: {
|
|
366
|
+
first: {
|
|
367
|
+
type: "object",
|
|
368
|
+
properties: {
|
|
369
|
+
status: {
|
|
370
|
+
type: "string",
|
|
371
|
+
enum: ["active", "inactive"],
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
},
|
|
375
|
+
second: {
|
|
376
|
+
type: "object",
|
|
377
|
+
properties: {
|
|
378
|
+
status: {
|
|
379
|
+
type: "string",
|
|
380
|
+
enum: ["pending", "done"],
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
},
|
|
384
|
+
},
|
|
385
|
+
};
|
|
386
|
+
const result = new TypescriptConverter(schema, {
|
|
387
|
+
enumStyle: "enum",
|
|
388
|
+
}).code;
|
|
389
|
+
expect(result).toContain("export enum Status");
|
|
390
|
+
expect(result).toContain("export enum Status2");
|
|
391
|
+
});
|
|
392
|
+
});
|
|
393
|
+
describe("combined options", () => {
|
|
394
|
+
it("all 3 options together on a schema with arrays + enums + objects", () => {
|
|
395
|
+
const schema = {
|
|
396
|
+
title: "App",
|
|
397
|
+
type: "object",
|
|
398
|
+
properties: {
|
|
399
|
+
users: {
|
|
400
|
+
type: "array",
|
|
401
|
+
items: {
|
|
402
|
+
type: "object",
|
|
403
|
+
properties: {
|
|
404
|
+
name: { type: "string" },
|
|
405
|
+
role: {
|
|
406
|
+
type: "string",
|
|
407
|
+
enum: ["admin", "user", "guest"],
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
required: ["name", "role"],
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
},
|
|
414
|
+
required: ["users"],
|
|
415
|
+
};
|
|
416
|
+
const result = new TypescriptConverter(schema, {
|
|
417
|
+
arrayItemNaming: false,
|
|
418
|
+
depluralize: true,
|
|
419
|
+
enumStyle: "enum",
|
|
420
|
+
}).code;
|
|
421
|
+
// Array item type named "User" (depluralized, no postfix)
|
|
422
|
+
expect(norm(result)).toContain(norm("export type User ="));
|
|
423
|
+
// Enum generated for role
|
|
424
|
+
expect(result).toContain("export enum Role");
|
|
425
|
+
expect(result).toContain('Admin = "admin"');
|
|
426
|
+
// Root type present
|
|
427
|
+
expect(norm(result)).toContain(norm("export type App ="));
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
//# sourceMappingURL=TypescriptConverter.options.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypescriptConverter.options.test.js","sourceRoot":"","sources":["../src/TypescriptConverter.options.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { TypescriptConverter } from "./TypescriptConverter.js";
|
|
3
|
+
describe("TypescriptConverter - primitives", () => {
|
|
4
|
+
it("should convert strings", () => {
|
|
5
|
+
expect(new TypescriptConverter({ type: "string" }).code).toMatch("string");
|
|
6
|
+
});
|
|
7
|
+
it("should convert numbers", () => {
|
|
8
|
+
expect(new TypescriptConverter({ type: "number" }).code).toMatch("number");
|
|
9
|
+
});
|
|
10
|
+
it("should convert booleans", () => {
|
|
11
|
+
expect(new TypescriptConverter({ type: "boolean" }).code).toMatch("boolean");
|
|
12
|
+
});
|
|
13
|
+
it("should convert null", () => {
|
|
14
|
+
expect(new TypescriptConverter({ type: "null" }).code).toMatch("null");
|
|
15
|
+
});
|
|
16
|
+
it("should convert literals", () => {
|
|
17
|
+
expect(new TypescriptConverter({ const: "fixedValue" }).code).toMatch("fixedValue");
|
|
18
|
+
});
|
|
19
|
+
it("should convert enums", () => {
|
|
20
|
+
expect(new TypescriptConverter({
|
|
21
|
+
type: "string",
|
|
22
|
+
enum: ["value1", "value2", "value3"],
|
|
23
|
+
}).code).toMatch(`"value1" | "value2" | "value3"`);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=TypescriptConverter.primitives.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypescriptConverter.primitives.test.js","sourceRoot":"","sources":["../src/TypescriptConverter.primitives.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAC/D,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CACnE,YAAY,CACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CACJ,IAAI,mBAAmB,CAAC;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;SACrC,CAAC,CAAC,IAAI,CACR,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ajsc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "Another Json-Schema Converter",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -43,11 +43,13 @@
|
|
|
43
43
|
"author": "coryrobinson42@gmail.com",
|
|
44
44
|
"license": "MIT",
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"json-schema": "^0.4.0"
|
|
46
|
+
"json-schema": "^0.4.0",
|
|
47
|
+
"pluralize": "^8.0.0"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
|
-
"@types/json-schema": "^7.0.15",
|
|
50
50
|
"@sinclair/typebox": "^0.34.41",
|
|
51
|
+
"@types/json-schema": "^7.0.15",
|
|
52
|
+
"@types/pluralize": "^0.0.33",
|
|
51
53
|
"prettier": "^3.5.1",
|
|
52
54
|
"typescript": "^5.7.3",
|
|
53
55
|
"vitest": "^4.1.0"
|