github.com/Desuuuu/genqlient@v0.5.3/generate/operation.go.tmpl (about) 1 {{.Doc}} 2 func {{.Name}}( 3 {{if ne .Config.ContextType "-" -}} 4 ctx {{ref .Config.ContextType}}, 5 {{end}} 6 {{- if not .Config.ClientGetter -}} 7 client {{ref "github.com/Desuuuu/genqlient/graphql.Client"}}, 8 {{end}} 9 {{- if .Input -}} 10 {{- range .Input.Fields -}} 11 {{/* the GraphQL name here is the user-specified variable-name */ -}} 12 {{.GraphQLName}} {{.GoType.Reference}}, 13 {{end -}} 14 {{end -}} 15 ) (*{{.ResponseName}}, {{if .Config.Extensions -}}map[string]interface{},{{end}} error) { 16 req := &graphql.Request{ 17 OpName: "{{.Name}}", 18 Query: `{{.Body}}`, 19 {{if .Input -}} 20 Variables: &{{.Input.GoName}}{ 21 {{range .Input.Fields -}} 22 {{.GoName}}: {{.GraphQLName}}, 23 {{end -}} 24 }, 25 {{end -}} 26 } 27 var err error 28 {{if .Config.ClientGetter -}} 29 var client graphql.Client 30 31 client, err = {{ref .Config.ClientGetter}}({{if ne .Config.ContextType "-"}}ctx{{else}}{{end}}) 32 if err != nil { 33 return nil, {{if .Config.Extensions -}}nil,{{end -}} err 34 } 35 {{end}} 36 var data {{.ResponseName}} 37 resp := &graphql.Response{Data: &data} 38 39 err = client.MakeRequest( 40 {{if ne .Config.ContextType "-"}}ctx{{else}}nil{{end}}, 41 req, 42 resp, 43 ) 44 45 return &data, {{if .Config.Extensions -}}resp.Extensions,{{end -}} err 46 }