acacode / acacode/swagger-typescript-api

Infer object type from additionalProperties when type is omitted

Aberta
#1,822 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
4.1k
Forks
436
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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).

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.