diff options
author | Michael Muré <batolettre@gmail.com> | 2019-04-10 01:48:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-10 01:48:53 +0200 |
commit | 9722d7c9eca28b1710e50ac9075fd11d0db0606a (patch) | |
tree | e46d372dcd1e68fb067101778eb0a5f13f745ad0 /vendor/github.com/99designs/gqlgen/codegen/interface_build.go | |
parent | 30efc99f4493f3a09e94bf322cbf8ef844beea13 (diff) | |
parent | 4d14cadde45ac807afcbfd37200e86c4de6bf8db (diff) | |
download | git-bug-9722d7c9eca28b1710e50ac9075fd11d0db0606a.tar.gz |
Merge pull request #123 from A-Hilaly/graphql
Upgrade gqlgen version to 0.8.3
Diffstat (limited to 'vendor/github.com/99designs/gqlgen/codegen/interface_build.go')
-rw-r--r-- | vendor/github.com/99designs/gqlgen/codegen/interface_build.go | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/vendor/github.com/99designs/gqlgen/codegen/interface_build.go b/vendor/github.com/99designs/gqlgen/codegen/interface_build.go deleted file mode 100644 index 92052ba6..00000000 --- a/vendor/github.com/99designs/gqlgen/codegen/interface_build.go +++ /dev/null @@ -1,53 +0,0 @@ -package codegen - -import ( - "go/types" - "sort" - - "github.com/vektah/gqlparser/ast" - "golang.org/x/tools/go/loader" -) - -func (cfg *Config) buildInterfaces(types NamedTypes, prog *loader.Program) []*Interface { - var interfaces []*Interface - for _, typ := range cfg.schema.Types { - if typ.Kind == ast.Union || typ.Kind == ast.Interface { - interfaces = append(interfaces, cfg.buildInterface(types, typ, prog)) - } - } - - sort.Slice(interfaces, func(i, j int) bool { - return interfaces[i].GQLType < interfaces[j].GQLType - }) - - return interfaces -} - -func (cfg *Config) buildInterface(types NamedTypes, typ *ast.Definition, prog *loader.Program) *Interface { - i := &Interface{NamedType: types[typ.Name]} - - for _, implementor := range cfg.schema.GetPossibleTypes(typ) { - t := types[implementor.Name] - - i.Implementors = append(i.Implementors, InterfaceImplementor{ - NamedType: t, - ValueReceiver: cfg.isValueReceiver(types[typ.Name], t, prog), - }) - } - - return i -} - -func (cfg *Config) isValueReceiver(intf *NamedType, implementor *NamedType, prog *loader.Program) bool { - interfaceType, err := findGoInterface(prog, intf.Package, intf.GoType) - if interfaceType == nil || err != nil { - return true - } - - implementorType, err := findGoNamedType(prog, implementor.Package, implementor.GoType) - if implementorType == nil || err != nil { - return true - } - - return types.Implements(implementorType, interfaceType) -} |