blob: 457d923f22c1381117363d6ef5829e02ddbdd440 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
package codegen
import (
"sort"
"strings"
"github.com/99designs/gqlgen/codegen/templates"
"github.com/vektah/gqlparser/ast"
)
func (cfg *Config) buildEnums(types NamedTypes) []Enum {
var enums []Enum
for _, typ := range cfg.schema.Types {
namedType := types[typ.Name]
if typ.Kind != ast.Enum || strings.HasPrefix(typ.Name, "__") || namedType.IsUserDefined {
continue
}
var values []EnumValue
for _, v := range typ.EnumValues {
values = append(values, EnumValue{v.Name, v.Description})
}
enum := Enum{
NamedType: namedType,
Values: values,
Description: typ.Description,
}
enum.GoType = templates.ToCamel(enum.GQLType)
enums = append(enums, enum)
}
sort.Slice(enums, func(i, j int) bool {
return enums[i].GQLType < enums[j].GQLType
})
return enums
}
|