@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.
Files changed (2) hide show
  1. package/dist/index.js +19 -3
  2. 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
- const items = generateType(parsed.items);
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" || !schema.items)
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.6.0",
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.3.4",
31
+ "yaml": "2.4.0",
32
32
  "yargs": "17.7.2",
33
33
  "yarn": "1.22.21"
34
34
  }