~emersion/gqlclient

23b9305960d90c6a0972f72cade11d98644aa669 — Simon Ser 5 months ago a792c03
cmd/gqlclientgen: avoid infinite loop when unmarshalling interface/union
1 files changed, 3 insertions(+), 2 deletions(-)

M cmd/gqlclientgen/main.go
M cmd/gqlclientgen/main.go => cmd/gqlclientgen/main.go +3 -2
@@ 236,11 236,12 @@ func genDef(schema *ast.Schema, def *ast.Definition, omitDeprecated bool) *jen.S
		).Params(
			jen.Id("error"),
		).Block(
			jen.Type().Id("Raw").Id(def.Name),
			jen.Var().Id("data").Struct(
				jen.Op("*").Id(def.Name),
				jen.Op("*").Id("Raw"),
				jen.Id("TypeName").String().Tag(map[string]string{"json": "__typename"}),
			),
			jen.Id("data").Dot(def.Name).Op("=").Id("base"),
			jen.Id("data").Dot("Raw").Op("=").Parens(jen.Op("*").Id("Raw")).Parens(jen.Id("base")),
			jen.Id("err").Op(":=").Qual("encoding/json", "Unmarshal").Call(
				jen.Id("b"),
				jen.Op("&").Id("data"),