Khan/genqlient

Correctly handle self-recursive types automatically

Open

#152 opened on Nov 2, 2021

View on GitHub
 (2 comments) (7 reactions) (0 assignees)Go (141 forks)github user discovery
enhancementgood first issuehelp wanted

Repository metrics

Stars
 (1,310 stars)
PR merge metrics
 (PR metrics pending)

Description

(Split from #149.)

If you have in your schema

input T {
  f: T  # or `f: T!`
}

then genqlient by default generates

struct T {
  F T
}

which does not compile. Of course you can manually add pointer: true, but we could just do that automatically because it's the only valid way to represent this. Apparently this comes up a lot with Hasura-generated schemas, so although it seems a bit special-casey it's probably worth handling.

Contributor guide