Firstly, thanks for this tool. It's been really great to have my resolvers strongly typed with minimal effort. I've recently been trying out a new modular pattern which has led me to a problem.
Problem
When I use extend to break up my type definitions I don't see the extended values in the type.
Example
Prior to splitting the modules out I have a TypeScript type that accurately describes the resolvers for Query.
type Dog {
imageUrl: String!
}
type Query {
dogs(limit: Int): [Dog!]
}
export interface GQLQueryTypeResolver<TParent = undefined> {
dogs?: QueryToDogsResolver<TParent>;
}
But as I want to add more to the schema I look to add something like:
type Cat {
imageUrl: String!
}
type Query {
cats(breed: String!, limit: Int): [Cat!]
}
Which of-course isn't valid, as I've now defined Query twice.
To keep the code nice and clean I give the Query a base definition, and use extend in the seperate modules:
type Query {
_empty: String
}
However, now the Query definition shows only _empty and not the extended values:
export interface GQLQueryTypeResolver<TParent = undefined> {
_empty?: QueryTo_emptyResolver<TParent>;
}
Ideal
Ideally I want to see something like below. Is this possible? If not is there a reason the extended types shouldn't be concatenated together?
If it's not currently possible, and it's not a terrible idea would you be open to a PR?
export interface GQLQueryTypeResolver<TParent = undefined> {
_empty?: QueryTo_emptyResolver<TParent>;
cats?: QueryToCatsResolver<TParent>;
dogs?: QueryToDogsResolver<TParent>;
}
Firstly, thanks for this tool. It's been really great to have my resolvers strongly typed with minimal effort. I've recently been trying out a new modular pattern which has led me to a problem.
Problem
When I use
extendto break up my type definitions I don't see the extended values in the type.Example
Prior to splitting the modules out I have a TypeScript type that accurately describes the resolvers for Query.
But as I want to add more to the schema I look to add something like:
Which of-course isn't valid, as I've now defined Query twice.
To keep the code nice and clean I give the Query a base definition, and use
extendin the seperate modules:However, now the Query definition shows only
_emptyand not the extended values:Ideal
Ideally I want to see something like below. Is this possible? If not is there a reason the extended types shouldn't be concatenated together?
If it's not currently possible, and it's not a terrible idea would you be open to a PR?