mirror of
https://github.com/42wim/matterbridge
synced 2024-11-17 03:26:07 +00:00
38 lines
786 B
Go
38 lines
786 B
Go
package common
|
|
|
|
import (
|
|
"github.com/graph-gophers/graphql-go/types"
|
|
)
|
|
|
|
func ParseInputValue(l *Lexer) *types.InputValueDefinition {
|
|
p := &types.InputValueDefinition{}
|
|
p.Loc = l.Location()
|
|
p.Desc = l.DescComment()
|
|
p.Name = l.ConsumeIdentWithLoc()
|
|
l.ConsumeToken(':')
|
|
p.TypeLoc = l.Location()
|
|
p.Type = ParseType(l)
|
|
if l.Peek() == '=' {
|
|
l.ConsumeToken('=')
|
|
p.Default = ParseLiteral(l, true)
|
|
}
|
|
p.Directives = ParseDirectives(l)
|
|
return p
|
|
}
|
|
|
|
func ParseArgumentList(l *Lexer) types.ArgumentList {
|
|
var args types.ArgumentList
|
|
l.ConsumeToken('(')
|
|
for l.Peek() != ')' {
|
|
name := l.ConsumeIdentWithLoc()
|
|
l.ConsumeToken(':')
|
|
value := ParseLiteral(l, false)
|
|
args = append(args, &types.Argument{
|
|
Name: name,
|
|
Value: value,
|
|
})
|
|
}
|
|
l.ConsumeToken(')')
|
|
return args
|
|
}
|