From e8baea5bd280f4f48c537b0931cbe45f5d9cdf3f Mon Sep 17 00:00:00 2001 From: simensol Date: Mon, 24 Jun 2024 11:44:29 +0200 Subject: [PATCH 1/2] Check `result` type before using `in` operator --- packages/openapi-typescript/src/transform/schema-object.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 55e58ee5b..0885324b3 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -269,7 +269,7 @@ function transformSchemaObjectCore(schemaObject: SchemaObject, options: Transfor if ("type" in schemaObject && schemaObject.type) { if (typeof options.ctx.transform === "function") { const result = options.ctx.transform(schemaObject, options); - if (result) { + if (result && typeof result === "object") { if ("schema" in result) { if (result.questionToken) { return ts.factory.createUnionTypeNode([result.schema, UNDEFINED]); @@ -470,7 +470,7 @@ function transformSchemaObjectCore(schemaObject: SchemaObject, options: Transfor if (typeof options.ctx.transform === "function") { const result = options.ctx.transform(v as SchemaObject, options); - if (result) { + if (result && typeof result === "object") { if ("schema" in result) { type = result.schema; optional = result.questionToken ? QUESTION_TOKEN : optional; From c8475bcfa545aa21b451aac4bdb64990dfc08b60 Mon Sep 17 00:00:00 2001 From: simensol Date: Mon, 24 Jun 2024 21:36:26 +0200 Subject: [PATCH 2/2] Create serious-days-live.md --- .changeset/serious-days-live.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/serious-days-live.md diff --git a/.changeset/serious-days-live.md b/.changeset/serious-days-live.md new file mode 100644 index 000000000..0036fc425 --- /dev/null +++ b/.changeset/serious-days-live.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +Make sure result is an object before using the in operator.