@@ -366,7 +366,7 @@ export type GraphQLScalarTypeConfig<TInternal, TExternal> = {
366
366
export class GraphQLObjectType {
367
367
name : string ;
368
368
description : ?string ;
369
- isTypeOf : ?GraphQLIsTypeOfFn ;
369
+ isTypeOf : ?GraphQLIsTypeOfFn < * , * > ;
370
370
371
371
_typeConfig : GraphQLObjectTypeConfig < * , * > ;
372
372
_fields : GraphQLFieldMap < * , * > ;
@@ -511,19 +511,19 @@ export type GraphQLObjectTypeConfig<TSource, TContext> = {
511
511
name : string ;
512
512
interfaces ?: Thunk < ?Array < GraphQLInterfaceType >> ;
513
513
fields : Thunk < GraphQLFieldConfigMap < TSource , TContext>> ;
514
- isTypeOf ?: ?GraphQLIsTypeOfFn ;
514
+ isTypeOf ?: ?GraphQLIsTypeOfFn < TSource , TContext > ;
515
515
description ?: ?string
516
516
} ;
517
517
518
- export type GraphQLTypeResolver = (
519
- value : mixed ,
520
- context : mixed ,
518
+ export type GraphQLTypeResolver < TSource , TContext > = (
519
+ value : TSource ,
520
+ context : TContext ,
521
521
info : GraphQLResolveInfo
522
522
) => ?GraphQLObjectType | ?string ;
523
523
524
- export type GraphQLIsTypeOfFn = (
525
- source : mixed ,
526
- context : mixed ,
524
+ export type GraphQLIsTypeOfFn < TSource , TContext > = (
525
+ source : TSource ,
526
+ context : TContext ,
527
527
info : GraphQLResolveInfo
528
528
) => boolean ;
529
529
@@ -615,7 +615,7 @@ export type GraphQLFieldMap<TSource, TContext> = {
615
615
export class GraphQLInterfaceType {
616
616
name : string ;
617
617
description : ?string ;
618
- resolveType : ?GraphQLTypeResolver ;
618
+ resolveType : ?GraphQLTypeResolver < * , * > ;
619
619
620
620
_typeConfig : GraphQLInterfaceTypeConfig < * , * > ;
621
621
_fields : GraphQLFieldMap < * , * > ;
@@ -653,7 +653,7 @@ export type GraphQLInterfaceTypeConfig<TSource, TContext> = {
653
653
* the default implementation will call `isTypeOf` on each implementing
654
654
* Object type.
655
655
*/
656
- resolveType ?: ?GraphQLTypeResolver ,
656
+ resolveType ?: ?GraphQLTypeResolver < TSource , TContext > ,
657
657
description ?: ?string
658
658
} ;
659
659
@@ -685,13 +685,13 @@ export type GraphQLInterfaceTypeConfig<TSource, TContext> = {
685
685
export class GraphQLUnionType {
686
686
name : string ;
687
687
description : ?string ;
688
- resolveType : ?GraphQLTypeResolver ;
688
+ resolveType : ?GraphQLTypeResolver < * , * > ;
689
689
690
- _typeConfig : GraphQLUnionTypeConfig ;
690
+ _typeConfig : GraphQLUnionTypeConfig < * , * > ;
691
691
_types : Array < GraphQLObjectType > ;
692
692
_possibleTypeNames : { [ typeName : string ] : boolean } ;
693
693
694
- constructor ( config : GraphQLUnionTypeConfig ) {
694
+ constructor ( config : GraphQLUnionTypeConfig < * , * > ) {
695
695
invariant ( config . name , 'Type must be named.' ) ;
696
696
assertValidName ( config . name ) ;
697
697
this . name = config . name ;
@@ -748,15 +748,15 @@ function defineTypes(
748
748
return types ;
749
749
}
750
750
751
- export type GraphQLUnionTypeConfig = {
751
+ export type GraphQLUnionTypeConfig < TSource , TContext > = {
752
752
name : string ,
753
753
types : Thunk < Array < GraphQLObjectType >> ,
754
754
/**
755
755
* Optionally provide a custom type resolver function. If one is not provided,
756
756
* the default implementation will call `isTypeOf` on each implementing
757
757
* Object type.
758
758
*/
759
- resolveType ?: ?GraphQLTypeResolver ;
759
+ resolveType ?: ?GraphQLTypeResolver < TSource , TContext > ;
760
760
description ?: ?string ;
761
761
} ;
762
762
0 commit comments