Every property marked as optional + 'any' types
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- openapi, typescript
Línea de trabajo
Comienza en el TypeScript interface generator y sigue cómo se asignan la obligatoriedad y los tipos primitivos de las propiedades de Swagger/OpenAPI. Compara el ejemplo ContactPerson con su esquema y verifica después que las propiedades obligatorias no sean opcionales y que las propiedades documentadas de tipo string o date no se conviertan en any.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
API Platform version(s) affected: 3.0
Description
I generated typescript interfaces from a API Platform with this package. This worked really well, but there are two issues that make the result pretty much unusable for me:
- Every property is marked as optional, even '@id'. Having to manual check for every property kinda defeats the purpose of having the interfaces in the first place.
- Some properties are marked as
any, even though there is a proper type in the API docs. E.g.ContactPerson.imageis listed asstringin Swagger, but appears asanyin TypeScript. I also noticed dates beingany– but this was in a API Platform 2.6 project and might not be an issue in newer versions.
Here is an example taken out of my Swagger docs:
{
"hydra:member": [
{
"@context": "string",
"@id": "string",
"@type": "string",
"id": "string",
"name": "string",
"phoneNumber": "string",
"email": "string",
"jobAdvertisements": [
"string"
],
"image": "string"
}
],
"hydra:totalItems": 0,
"hydra:view": {
"@id": "string",
"type": "string",
"hydra:first": "string",
"hydra:last": "string",
"hydra:previous": "string",
"hydra:next": "string"
},
"hydra:search": {
"@type": "string",
"hydra:template": "string",
"hydra:variableRepresentation": "string",
"hydra:mapping": [
{
"@type": "string",
"variable": "string",
"property": "string",
"required": true
}
]
}
}
And this is the generated interface:
export interface ContactPerson {
"@id"?: string;
name?: string;
phoneNumber?: string;
email?: string;
jobAdvertisements?: string[];
image?: any;
}
- Lenguaje dominante
- TypeScript
- Estrellas
- 113
- Forks
- 80
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de api-platform/api-doc-parser
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
api-platform/api-doc-parser#130 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
api-platform/api-doc-parser#129 · 1 comentario ·
-
api-platform/api-doc-parser#125 · 1 comentario · 1 asignado ·
-
api-platform/api-doc-parser#115 · 4 comentarios · 1 asignado ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
api-platform/api-doc-parser#113 ·
Todos los issues de api-platform/api-doc-parser
Issues similares
-
blocklist removal
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MetaMask/eth-phishing-detect#296544 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
pastelsky/bundlephobia#1122 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100