Skip to content

Commit 72b26df

Browse files
committed
polish: improve GraphQL schema element config typing
streamlines/refines TS types around: - GraphQLObjectTypeConfig - GraphQLInterfaceTypeConfig -GraphQLUnionTypeConfig
1 parent 1fc34c9 commit 72b26df

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

src/type/definition.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -999,9 +999,9 @@ export interface GraphQLObjectTypeConfig<TSource, TContext> {
999999
}
10001000

10011001
export interface GraphQLObjectTypeNormalizedConfig<TSource, TContext>
1002-
extends GraphQLObjectTypeConfig<any, any> {
1002+
extends GraphQLObjectTypeConfig<TSource, TContext> {
10031003
interfaces: ReadonlyArray<GraphQLInterfaceType>;
1004-
fields: GraphQLFieldNormalizedConfigMap<any, any>;
1004+
fields: GraphQLFieldNormalizedConfigMap<TSource, TContext>;
10051005
extensions: Readonly<GraphQLObjectTypeExtensions<TSource, TContext>>;
10061006
extensionASTNodes: ReadonlyArray<ObjectTypeExtensionNode>;
10071007
}
@@ -1390,7 +1390,7 @@ export interface GraphQLInterfaceTypeConfig<TSource, TContext> {
13901390
}
13911391

13921392
export interface GraphQLInterfaceTypeNormalizedConfig<TSource, TContext>
1393-
extends GraphQLInterfaceTypeConfig<any, any> {
1393+
extends GraphQLInterfaceTypeConfig<TSource, TContext> {
13941394
interfaces: ReadonlyArray<GraphQLInterfaceType>;
13951395
fields: GraphQLFieldNormalizedConfigMap<TSource, TContext>;
13961396
extensions: Readonly<GraphQLInterfaceTypeExtensions>;
@@ -1434,18 +1434,20 @@ export interface GraphQLUnionTypeExtensions {
14341434
* });
14351435
* ```
14361436
*/
1437-
export class GraphQLUnionType implements GraphQLSchemaElement {
1437+
export class GraphQLUnionType<TSource = any, TContext = any>
1438+
implements GraphQLSchemaElement
1439+
{
14381440
readonly __kind: symbol;
14391441
name: string;
14401442
description: Maybe<string>;
1441-
resolveType: Maybe<GraphQLTypeResolver<any, any>>;
1443+
resolveType: Maybe<GraphQLTypeResolver<TSource, TContext>>;
14421444
extensions: Readonly<GraphQLUnionTypeExtensions>;
14431445
astNode: Maybe<UnionTypeDefinitionNode>;
14441446
extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;
14451447

14461448
private _types: ThunkReadonlyArray<GraphQLObjectType>;
14471449

1448-
constructor(config: Readonly<GraphQLUnionTypeConfig<any, any>>) {
1450+
constructor(config: Readonly<GraphQLUnionTypeConfig<TSource, TContext>>) {
14491451
this.__kind = unionSymbol;
14501452
this.name = assertName(config.name);
14511453
this.description = config.description;
@@ -1468,7 +1470,7 @@ export class GraphQLUnionType implements GraphQLSchemaElement {
14681470
return this._types;
14691471
}
14701472

1471-
toConfig(): GraphQLUnionTypeNormalizedConfig {
1473+
toConfig(): GraphQLUnionTypeNormalizedConfig<TSource, TContext> {
14721474
return {
14731475
name: this.name,
14741476
description: this.description,
@@ -1510,8 +1512,8 @@ export interface GraphQLUnionTypeConfig<TSource, TContext> {
15101512
extensionASTNodes?: Maybe<ReadonlyArray<UnionTypeExtensionNode>>;
15111513
}
15121514

1513-
export interface GraphQLUnionTypeNormalizedConfig
1514-
extends GraphQLUnionTypeConfig<any, any> {
1515+
export interface GraphQLUnionTypeNormalizedConfig<TSource, TContext>
1516+
extends GraphQLUnionTypeConfig<TSource, TContext> {
15151517
types: ReadonlyArray<GraphQLObjectType>;
15161518
extensions: Readonly<GraphQLUnionTypeExtensions>;
15171519
extensionASTNodes: ReadonlyArray<UnionTypeExtensionNode>;

0 commit comments

Comments
 (0)