File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed
packages/graphql/lib/schema-builder/factories Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -13,14 +13,20 @@ export class ResolveTypeFactory {
13
13
public getResolveTypeFunction < TSource = any , TContext = any > (
14
14
resolveType : ResolveTypeFn < TSource , TContext > ,
15
15
) : GraphQLTypeResolver < TSource , TContext > {
16
- return async ( ...args ) => {
17
- const resolvedType = await resolveType ( ...args ) ;
18
- if ( isString ( resolvedType ) ) {
19
- return resolvedType ;
20
- }
21
- const typeDef =
22
- this . typeDefinitionsStorage . getObjectTypeByTarget ( resolvedType ) ;
23
- return typeDef ?. type ?. name ;
16
+ return ( ...args ) => {
17
+ const typeToString = ( resolvedType : Function | string ) => {
18
+ if ( isString ( resolvedType ) ) {
19
+ return resolvedType ;
20
+ }
21
+ const typeDef =
22
+ this . typeDefinitionsStorage . getObjectTypeByTarget ( resolvedType ) ;
23
+ return typeDef ?. type ?. name ;
24
+ } ;
25
+
26
+ const resolvedTypeOrPromise = resolveType ( ...args ) ;
27
+ return resolvedTypeOrPromise && resolvedTypeOrPromise instanceof Promise
28
+ ? resolvedTypeOrPromise . then ( typeToString )
29
+ : typeToString ( resolvedTypeOrPromise ) ;
24
30
} ;
25
31
}
26
32
}
You can’t perform that action at this time.
0 commit comments