Open
Description
As projects like Relay have shown, it's relatively common to repeat the same generic structures of types multiple times within a project. In the case of Relay, I'm talking about Connections.
The GraphQL definition language already has explicit support for one particular form of generic type, arrays:
type Foo {
id: ID!
bars: [Bar]
}
I'd like to start discussion about being able to do something similar for user-defined structures:
generic ConnectionEdge<T> {
node: T
cursor: String
}
generic Connection<T> {
edges: ConnectionEdge<T>
pageInfo: PageInfo
}
type Foo {
id: ID!
bars: Connection<Bar>
}
The overall goal is to reduce the amount of boilerplate in creating schemas with repetitive structures.