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 ne $.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 -}} {{if .IsSlice -}} if len({{.GoName}}) > 0 { {{else -}} {{/* 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}} { {{end -}} variables["{{.GraphQLName}}"] = {{.GoName}} } {{end}} {{end}} {{end -}} var err error {{if $.Config.ClientGetter -}} client, err := {{ref $.Config.ClientGetter}}({{if ne $.Config.ContextType "-"}}ctx{{else}}{{end}}) if err != nil { return nil, err } {{end}} var retval {{.ResponseName}} err = client.MakeRequest( {{if ne $.Config.ContextType "-"}}ctx{{else}}nil{{end}}, "{{.Name}}", `{{.Body}}`, &retval, {{if .Args}}variables{{else}}nil{{end}}, ) return &retval, err } {{end}}