Skip to content

fix: generate correct TS type for array-form type (OpenAPI 3.1 nullable)#171

Open
Akallabet wants to merge 1 commit into
platformatic:mainfrom
Akallabet:fix/170-array-type-nullable
Open

fix: generate correct TS type for array-form type (OpenAPI 3.1 nullable)#171
Akallabet wants to merge 1 commit into
platformatic:mainfrom
Akallabet:fix/170-array-type-nullable

Conversation

@Akallabet

@Akallabet Akallabet commented Jul 13, 2026

Copy link
Copy Markdown

Fixes #170.

Added a control that detects Array.isArray(typeDef.type) and resolves each member type independently through getType(), joining the results as a union. This handles the common ['string', 'null'] case as well as ['object', 'null'] and ['array', 'null'], since each member is routed through the existing per-type logic.

Before: 'description'?: unknown
After: 'description'?: string | null

…able)

When an OpenAPI 3.1 / JSON Schema 2020-12 schema expresses a type as an
array (e.g. `type: ['string', 'null']`) instead of the 3.0 `nullable: true`
keyword, `getType()` fell through to the `switch` default and emitted
`unknown`. It only handled `type` being a single string.

Resolve each member of the array-form `type` independently through
`getType()` and join the results as a union, so `['string', 'null']`
becomes `string | null`, `['object', 'null']` and `['array', 'null']`
are handled correctly too.

Fixes platformatic#170

Signed-off-by: Claude <noreply@anthropic.com>
Signed-off-by: Akallabet <grazianos86@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

type arrays (OpenAPI 3.1 / JSON Schema nullable syntax) generate unknown instead of the correct TS type

1 participant