shurcooL / githubv4

Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Recursive types

nyarly opened this issue · comments

I don't think there's a way to represent this in GraphQL, but I experimented with:

type treeObject struct {
	Tree struct {
		Entries []struct {
			Path   string
			Object treeObject
		}
	} `graphql:"... on Tree"`
	Blob struct {
		byteSize int
	} `graphql:"... on Blob"`
}

which resulted in a stack overflow panic.

The appropriate type is going to be irritating to write, but an error rather than a panic would be nice here.

Also see past discussion in shurcooL/graphql#9.