...
1 package config
2
3 import (
4 "strings"
5
6 "github.com/99designs/gqlgen/codegen/templates"
7 )
8
9
10 type GoInitialismsConfig struct {
11
12 ReplaceDefaults bool `yaml:"replace_defaults"`
13
14 Initialisms []string `yaml:"initialisms"`
15 }
16
17
18 func (i GoInitialismsConfig) setInitialisms() {
19 toUse := i.determineGoInitialisms()
20 templates.GetInitialisms = func() map[string]bool {
21 return toUse
22 }
23 }
24
25
26 func (i GoInitialismsConfig) determineGoInitialisms() (initialismsToUse map[string]bool) {
27 if i.ReplaceDefaults {
28 initialismsToUse = make(map[string]bool, len(i.Initialisms))
29 for _, initialism := range i.Initialisms {
30 initialismsToUse[strings.ToUpper(initialism)] = true
31 }
32 } else {
33 initialismsToUse = make(map[string]bool, len(templates.CommonInitialisms)+len(i.Initialisms))
34 for initialism, value := range templates.CommonInitialisms {
35 initialismsToUse[strings.ToUpper(initialism)] = value
36 }
37 for _, initialism := range i.Initialisms {
38 initialismsToUse[strings.ToUpper(initialism)] = true
39 }
40 }
41 return initialismsToUse
42 }
43
View as plain text