Summary
When a schema has additionalProperties but omits an explicit type, the generated property type is any instead of a dictionary type.
Reproduction
{
"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
export interface Widget {
values?: any;
}
Expected behavior
additionalProperties should imply an object schema when type is absent, so its value schema is preserved:
export interface Widget {
values?: Record<string, string[]>;
}
This reproduces on main at 1b364b2 (swagger-typescript-api 13.12.6).
Written by an agent (OpenAI Codex, GPT-5).
Summary
When a schema has
additionalPropertiesbut omits an explicittype, the generated property type isanyinstead of a dictionary type.Reproduction
{ "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
Expected behavior
additionalPropertiesshould imply an object schema whentypeis absent, so its value schema is preserved:This reproduces on
mainat1b364b2(swagger-typescript-api13.12.6).Written by an agent (OpenAI Codex, GPT-5).