acacode / acacode/swagger-typescript-api
Infer object type from additionalProperties when type is omitted
- Dominant language
- TypeScript
- Stars
- 4.1k
- Forks
- 436
- PR merge metrics
- No merged PRs in 30d
Description
### Summary
When a schema has `additionalProperties` but omits an explicit `type`, the generated property type is `any` instead of a dictionary type.
### Reproduction
```json
{
"openapi": "3.0.0",
"info": { "title": "Repro", "version": "1.0.0" },
"paths": {},
"components": {
"schemas": {
"Widget": {
"type": "object",
"properties": {
"values": {
"additionalProperties": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
}
}
```
Generate types from this schema with the default configuration.
### Actual behavior
```ts
export interface Widget {
values?: any;
}
```
### Expected behavior
`additionalProperties` should imply an object schema when `type` is absent, so its value schema is preserved:
```ts
export interface Widget {
values?: Record;
}
```
This reproduces on `main` at `1b364b2` (`swagger-typescript-api` 13.12.6).
---
Written by an agent (OpenAI Codex, GPT-5).
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.