package {{.Config.Package}} // Code generated by github.com/Khan/genqlient, DO NOT EDIT. {{.Imports}} {{/* TODO: type-assert that your ctx type implements context.Context */}} {{.Types}} {{range .Operations}} {{.Doc}} func {{.Name}}( {{if $.Config.ContextType -}} ctx {{ref $.Config.ContextType}}, {{end}} {{- if not $.Config.ClientGetter -}} client {{ref "github.com/Khan/genqlient/graphql.Client"}}, {{end}} {{- range .Args -}} {{.GoName}} {{.GoType}}, {{end -}} ) (*{{.ResponseName}}, error) { {{- if .Args -}} variables := map[string]interface{}{ {{range .Args -}} {{if not .Options.GetOmitempty -}} "{{.GraphQLName}}": {{.GoName}}, {{end -}} {{end}} } {{range .Args -}} {{if .Options.GetOmitempty -}} {{/* zero_{{.GoType}} would be a better name, but {{.GoType}} would require munging since it might be, say, `time.Time`. */}} var zero_{{.GoName}} {{.GoType}} if {{.GoName}} != zero_{{.GoName}} { variables["{{.GraphQLName}}"] = {{.GoName}} } {{end}} {{end}} {{end}} var retval {{.ResponseName}} err := {{if $.Config.ClientGetter}}{{$.Config.ClientGetter}}{{else}}client{{end}}.MakeRequest( {{if $.Config.ContextType}}ctx{{else}}nil{{end}}, "{{.Name}}", `{{.Body}}`, &retval, {{if .Args}}variables{{else}}nil{{end}}, ) return &retval, err } {{end}}