## Summary: The basic idea here is if you only request interface fields (no fragments) you may not care about the concrete type, and so we could just generate a struct as if it were an object. I don't think it's a good idea to do that by default, because then if you later add a fragment all your code totally changes, but it's quite reasonable as an option! Most of the code involved is just wiring and validation; the core implementation is literally just: treat it like an object. Issue: https://github.com/Khan/genqlient/issues/85 ## Test plan: make check Author: benjaminjkraft Reviewers: csilvers, StevenACoffman, benjaminjkraft, aberkan, dnerdy, jvoll, mahtabsabet, MiguelCastillo Required Reviewers: Approved By: StevenACoffman Checks: ⌛ Test (1.17), ⌛ Test (1.16), ⌛ Test (1.15), ⌛ Test (1.14), ⌛ Lint, ⌛ Test (1.17), ⌛ Test (1.16), ⌛ Test (1.15), ⌛ Test (1.14), ⌛ Lint Pull Request URL: https://github.com/Khan/genqlient/pull/97
17 lines
208 B
GraphQL
17 lines
208 B
GraphQL
type Query {
|
|
myInterface: MyInterface
|
|
}
|
|
|
|
interface MyInterface {
|
|
f: String!
|
|
}
|
|
|
|
type MyObject implements MyInterface {
|
|
f: String!
|
|
g: String!
|
|
}
|
|
|
|
type OtherObject implements MyInterface {
|
|
f: String!
|
|
}
|