microsoft / microsoft/cppgraphqlgen
Fragments should generate their own structs
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 350
- Forks
- 56
- Merge medio
- 2 h 33 min
- PR fusionados (30 d)
- 3
Descripción
When generating a client using fragments and lots of similar queries that use the same fragment it leads to lots of the same structs being generated.
Ideally there would be a seperate Fragments struct that contains the defined fragments.
I.e the following queries would both share the same response structs as they use the same fragment:
fragment LoadInfo on Load {
loadId
jobContainerId
name
loadPlanStatus
journey {
journeyId
}
}
query loadById($load: Int!) {
loadByID(loadId: $load) {
...LoadInfo
}
}
query loadBySupplier($supplier: String!, $after: LocalDateTime!) {
loadsBySupplierId(supplierCode: $supplier, after: $after) {
...LoadInfo
}
}
Not sure how feasible that is, but I think something similar is done for input types and enums?
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.
Línea de trabajo
No se nombran archivos, pruebas ni puntos de entrada. Empieza trazando cómo el generador gestiona actualmente los tipos de entrada y los enums, y después define cómo se emiten y reutilizan las structs propias de los fragments; el trabajo estará terminado cuando ambas consultas de ejemplo compartan las structs de respuesta del fragment sin definiciones duplicadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, graphql
- Área
- backend-api-design, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100