99designs / 99designs/gqlgen

False positive for initialism detection "GUID" when generating enum

Offen
#2,134 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
10.8k
Forks
1.3k
Ø Merge
2 T. 36 Min.
Gemergte PRs (30 T.)
26

Beschreibung

### What happened?
When generating any enum that includes "GUID", it is always detected as an initialism and thus capitalized in the resulting go const. There is a workaround to just write CamelCase enums, but that conflicts with any style guide that uses SHOUTING_SNAKE_CASE for enums, which is what's used in the [graphql.org documentation](https://graphql.org/learn/schema/#enumeration-types)

Evidently "GUID" is a [common initialism](https://github.com/99designs/gqlgen/blob/2747bd5f3c69db7d55db5f10592ecd0accf3499f/codegen/templates/templates.go#L459), but the word "guide" is fairly common.

With the following graphql schema:
```
enum Resource {
GUIDANCE
TOUR_GUIDE
GUIDE_FEE
GUIDELINES
}
```
the resulting go code is generated:
```
const (
ResourceGUIDAnce Resource = "GUIDANCE"
ResourceTourGUIDE Resource = "TOUR_GUIDE"
ResourceGUIDEFee Resource = "GUIDE_FEE"
ResourceGUIDElines Resource = "GUIDELINES"
)
```
### What did you expect?
generated go code:
```
const (
ResourceGuidance Resource = "GUIDANCE"
ResourceTourGuide Resource = "TOUR_GUIDE"
ResourceGuideFee Resource = "GUIDE_FEE"
ResourceGuidelines Resource = "GUIDELINES"
)
```

### Minimal graphql.schema and models to reproduce
```
enum Resource {
GUIDANCE
TOUR_GUIDE
GUIDE_FEE
GUIDELINES
}
```
I don't believe any models or config are relevant.

### versions
- `go run github.com/99designs/gqlgen version`? 0.14.0
- `go version`? 1.17

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.