more TODOs, and especially clarify the situation for input type names

This commit is contained in:
Ben Kraft
2021-03-22 18:45:52 -07:00
parent 088ec53ad5
commit 17a95fd4de
10 changed files with 115 additions and 22 deletions
+4 -6
View File
@@ -73,17 +73,15 @@ func (g *generator) Types() string {
return strings.Join(defs, "\n\n")
}
func (g *generator) getArgument(arg *ast.VariableDefinition) (argument, error) {
func (g *generator) getArgument(opName string, arg *ast.VariableDefinition) (argument, error) {
graphQLName := arg.Variable
firstRest := strings.SplitN(graphQLName, "", 2)
goName := strings.ToLower(firstRest[0]) + firstRest[1]
goType, err := g.getTypeForInputType(arg.Type)
goType, err := g.getTypeForInputType(opName, arg.Type)
if err != nil {
return argument{}, err
}
return argument{
GraphQLName: graphQLName,
GoName: goName,
GoName: lowerFirst(graphQLName),
GoType: goType,
}, nil
}
@@ -121,7 +119,7 @@ func (g *generator) addOperation(op *ast.OperationDefinition) error {
args := make([]argument, len(op.VariableDefinitions))
for i, arg := range op.VariableDefinitions {
var err error
args[i], err = g.getArgument(arg)
args[i], err = g.getArgument(op.Name, arg)
if err != nil {
return err
}