github.com/opiuman/genqlient@v1.0.0/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/opiuman/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 opts ...{{ref "github.com/opiuman/genqlient/graphql.RequestOption"}}, 16 ) (*{{.ResponseName}}, {{if .Config.Extensions -}}map[string]interface{},{{end}} error) { 17 req := &graphql.Request{ 18 OpName: "{{.Name}}", 19 Query: `{{.Body}}`, 20 {{if .Input -}} 21 Variables: &{{.Input.GoName}}{ 22 {{range .Input.Fields -}} 23 {{.GoName}}: {{.GraphQLName}}, 24 {{end -}} 25 }, 26 {{end -}} 27 } 28 var err error 29 {{if .Config.ClientGetter -}} 30 var client graphql.Client 31 32 client, err = {{ref .Config.ClientGetter}}({{if ne .Config.ContextType "-"}}ctx{{else}}{{end}}) 33 if err != nil { 34 return nil, {{if .Config.Extensions -}}nil,{{end -}} err 35 } 36 {{end}} 37 var data {{.ResponseName}} 38 resp := &graphql.Response{Data: &data} 39 40 err = client.MakeRequest( 41 {{if ne .Config.ContextType "-"}}ctx{{else}}nil{{end}}, 42 req, 43 resp, 44 opts..., 45 ) 46 47 return &data, {{if .Config.Extensions -}}resp.Extensions,{{end -}} err 48 }