Handle omitempty correctly for slices

We were generating broken code; fixes #43.  Also fixes a bug where
applying omitempty to the entire query was broken by e597cac74c.
This commit is contained in:
Ben Kraft
2021-06-01 15:49:42 -07:00
parent 589680f323
commit c2e7dc4e5b
7 changed files with 55 additions and 13 deletions
+4
View File
@@ -31,10 +31,14 @@ func {{.Name}}(
}
{{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}}