@sebspark/openapi-typegen 1.6.0 → 1.7.1
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/index.js +19 -3
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -166,6 +166,10 @@ var generateType = (parsed) => {
|
|
|
166
166
|
type = generateObject(parsed);
|
|
167
167
|
break;
|
|
168
168
|
}
|
|
169
|
+
case "unknown": {
|
|
170
|
+
type = generateUnknown(parsed);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
169
173
|
case "Date":
|
|
170
174
|
case "bigint":
|
|
171
175
|
case "boolean":
|
|
@@ -236,6 +240,7 @@ var propertyName = (name) => {
|
|
|
236
240
|
var extensions = (type) => (type.allOf || []).map(generateType).concat("").join(AND) + (type.oneOf || []).map(generateType).concat("").join(OR);
|
|
237
241
|
var generatePrimitive = (parsed) => `${preamble(parsed)}${parsed.type}`;
|
|
238
242
|
var generateCustom = (parsed) => `${preamble(parsed)}${typeName(parsed.type)}`;
|
|
243
|
+
var generateUnknown = (parsed) => `${preamble(parsed)}unknown`;
|
|
239
244
|
var generateObject = (parsed) => {
|
|
240
245
|
const lines = [];
|
|
241
246
|
lines.push(`${preamble(parsed)}${extensions(parsed)}{`);
|
|
@@ -257,7 +262,10 @@ var generateDiscriminator = (discriminator, name) => {
|
|
|
257
262
|
};
|
|
258
263
|
var generateArray = (parsed) => {
|
|
259
264
|
const lines = [];
|
|
260
|
-
|
|
265
|
+
let items = generateType(parsed.items);
|
|
266
|
+
if (parsed.items.type === "enum") {
|
|
267
|
+
items = `(${items})`;
|
|
268
|
+
}
|
|
261
269
|
lines.push(`${preamble(parsed)}${items}[]`);
|
|
262
270
|
return lines.join("\n");
|
|
263
271
|
};
|
|
@@ -595,12 +603,12 @@ var parseObjectSchema = (name, schema) => {
|
|
|
595
603
|
return type;
|
|
596
604
|
};
|
|
597
605
|
var parseArraySchema = (name, schema) => {
|
|
598
|
-
if (schema.type !== "array"
|
|
606
|
+
if (schema.type !== "array")
|
|
599
607
|
throw new Error("Not an array");
|
|
600
608
|
return {
|
|
601
609
|
name,
|
|
602
610
|
type: "array",
|
|
603
|
-
items: parsePropertyType(schema.items)[0],
|
|
611
|
+
items: schema.items ? parsePropertyType(schema.items)[0] : { type: "unknown" },
|
|
604
612
|
...parseDocumentation(schema)
|
|
605
613
|
};
|
|
606
614
|
};
|
|
@@ -619,6 +627,14 @@ var parsePropertyType = (property) => {
|
|
|
619
627
|
return [{ type: parseRef(ref) }];
|
|
620
628
|
}
|
|
621
629
|
const schemaObject = property;
|
|
630
|
+
if (schemaObject.enum) {
|
|
631
|
+
const enumType = {
|
|
632
|
+
type: "enum",
|
|
633
|
+
values: schemaObject.enum,
|
|
634
|
+
...parseDocumentation(schemaObject)
|
|
635
|
+
};
|
|
636
|
+
return [enumType];
|
|
637
|
+
}
|
|
622
638
|
if (schemaObject.type) {
|
|
623
639
|
return (Array.isArray(schemaObject.type) ? schemaObject.type : [schemaObject.type]).map((type) => {
|
|
624
640
|
switch (type) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebspark/openapi-typegen",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"chalk": "<5",
|
|
29
29
|
"change-case": "4.1.2",
|
|
30
30
|
"prettier": "3.2.5",
|
|
31
|
-
"yaml": "2.
|
|
31
|
+
"yaml": "2.4.0",
|
|
32
32
|
"yargs": "17.7.2",
|
|
33
33
|
"yarn": "1.22.21"
|
|
34
34
|
}
|