diff options
Diffstat (limited to 'vendor/github.com/vektah/gqlparser/ast')
4 files changed, 15 insertions, 11 deletions
diff --git a/vendor/github.com/vektah/gqlparser/ast/definition.go b/vendor/github.com/vektah/gqlparser/ast/definition.go index 74f4ece5..f5c8ea37 100644 --- a/vendor/github.com/vektah/gqlparser/ast/definition.go +++ b/vendor/github.com/vektah/gqlparser/ast/definition.go @@ -30,6 +30,7 @@ type Definition struct { EnumValues EnumValueList // enum Position *Position `dump:"-"` + BuiltIn bool `dump:"-"` } func (d *Definition) IsLeafType() bool { diff --git a/vendor/github.com/vektah/gqlparser/ast/document.go b/vendor/github.com/vektah/gqlparser/ast/document.go index b7657d62..4672d0c0 100644 --- a/vendor/github.com/vektah/gqlparser/ast/document.go +++ b/vendor/github.com/vektah/gqlparser/ast/document.go @@ -32,6 +32,7 @@ type Schema struct { Directives map[string]*DirectiveDefinition PossibleTypes map[string][]*Definition + Implements map[string][]*Definition } func (s *Schema) AddPossibleType(name string, def *Definition) { @@ -40,17 +41,18 @@ func (s *Schema) AddPossibleType(name string, def *Definition) { // GetPossibleTypes will enumerate all the definitions for a given interface or union func (s *Schema) GetPossibleTypes(def *Definition) []*Definition { - if def.Kind == Union { - var defs []*Definition - for _, t := range def.Types { - defs = append(defs, s.Types[t]) - } - return defs - } - return s.PossibleTypes[def.Name] } +func (s *Schema) AddImplements(name string, iface *Definition) { + s.Implements[name] = append(s.Implements[name], iface) +} + +// GetImplements returns all the interface and union definitions that the given definition satisfies +func (s *Schema) GetImplements(def *Definition) []*Definition { + return s.Implements[def.Name] +} + type SchemaDefinition struct { Description string Directives DirectiveList diff --git a/vendor/github.com/vektah/gqlparser/ast/source.go b/vendor/github.com/vektah/gqlparser/ast/source.go index 9d44dd9c..acb07ba6 100644 --- a/vendor/github.com/vektah/gqlparser/ast/source.go +++ b/vendor/github.com/vektah/gqlparser/ast/source.go @@ -1,8 +1,9 @@ package ast type Source struct { - Name string - Input string + Name string + Input string + BuiltIn bool } type Position struct { diff --git a/vendor/github.com/vektah/gqlparser/ast/value.go b/vendor/github.com/vektah/gqlparser/ast/value.go index 3168b266..c25ef150 100644 --- a/vendor/github.com/vektah/gqlparser/ast/value.go +++ b/vendor/github.com/vektah/gqlparser/ast/value.go @@ -107,7 +107,7 @@ func (v *Value) String() string { case ObjectValue: var val []string for _, elem := range v.Children { - val = append(val, strconv.Quote(elem.Name)+":"+elem.Value.String()) + val = append(val, elem.Name+":"+elem.Value.String()) } return "{" + strings.Join(val, ",") + "}" default: |