mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Use vendor when building (#201)
* Use vendor code for all go calls * Add missing vendor dependencies * Add travis_retry to yarn install * Fix go test call
This commit is contained in:
committed by
StashAppDev
parent
3e13103264
commit
6a75d5551f
63
vendor/github.com/99designs/gqlgen/codegen/interface.go
generated
vendored
Normal file
63
vendor/github.com/99designs/gqlgen/codegen/interface.go
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
package codegen
|
||||
|
||||
import (
|
||||
"go/types"
|
||||
|
||||
"github.com/vektah/gqlparser/ast"
|
||||
)
|
||||
|
||||
type Interface struct {
|
||||
*ast.Definition
|
||||
Type types.Type
|
||||
Implementors []InterfaceImplementor
|
||||
InTypemap bool
|
||||
}
|
||||
|
||||
type InterfaceImplementor struct {
|
||||
*ast.Definition
|
||||
|
||||
Interface *Interface
|
||||
Type types.Type
|
||||
}
|
||||
|
||||
func (b *builder) buildInterface(typ *ast.Definition) *Interface {
|
||||
obj, err := b.Binder.DefaultUserObject(typ.Name)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
i := &Interface{
|
||||
Definition: typ,
|
||||
Type: obj,
|
||||
InTypemap: b.Config.Models.UserDefined(typ.Name),
|
||||
}
|
||||
|
||||
for _, implementor := range b.Schema.GetPossibleTypes(typ) {
|
||||
obj, err := b.Binder.DefaultUserObject(implementor.Name)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
i.Implementors = append(i.Implementors, InterfaceImplementor{
|
||||
Definition: implementor,
|
||||
Type: obj,
|
||||
Interface: i,
|
||||
})
|
||||
}
|
||||
|
||||
return i
|
||||
}
|
||||
|
||||
func (i *InterfaceImplementor) ValueReceiver() bool {
|
||||
interfaceType, err := findGoInterface(i.Interface.Type)
|
||||
if interfaceType == nil || err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
implementorType, err := findGoNamedType(i.Type)
|
||||
if implementorType == nil || err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return types.Implements(implementorType, interfaceType)
|
||||
}
|
||||
Reference in New Issue
Block a user