Skip to content

Commit 437a0b7

Browse files
committed
add anyOf support to schema-definition resolver
1 parent febe18d commit 437a0b7

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

package-lock.json

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@omer-x/next-openapi-interface-generator",
3-
"version": "0.7.1",
3+
"version": "0.8.0",
44
"description": "OpenAPI interface generator for Next.js",
55
"keywords": [
66
"next",
@@ -49,7 +49,7 @@
4949
},
5050
"devDependencies": {
5151
"@omer-x/eslint-config": "^1.0.7",
52-
"@omer-x/openapi-types": "^0.1.1",
52+
"@omer-x/openapi-types": "^0.1.2",
5353
"@types/node": "^20.14.2",
5454
"@types/yargs": "^17.0.32",
5555
"eslint": "^8.57.0",

src/core/resolvers/schema-definition.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ export function resolveSchema(definition?: SchemaObject): string {
3838
if (definition.format === "binary") return "File";
3939
// TODO: handle definition.format === "date"
4040
if (definition.enum) {
41-
return `(${definition.enum.map(resolveEnumItem).join(" | ")})`;
41+
const collection = definition.enum.map(resolveEnumItem);
42+
return collection.length > 1 ? `(${collection.join(" | ")})` : collection.join(" | ");
4243
}
4344
return "string";
4445
}
@@ -61,6 +62,9 @@ export function resolveSchema(definition?: SchemaObject): string {
6162
if (definition.oneOf) {
6263
return resolveArray(definition.oneOf, false);
6364
}
65+
if (definition.anyOf) {
66+
return resolveArray(definition.anyOf, false);
67+
}
6468
return "unknown";
6569
}
6670

0 commit comments

Comments
 (0)