1
1
/* @flow */
2
2
/* eslint-disable no-param-reassign */
3
3
4
- import { TypeComposer , InputTypeComposer , type Resolver } from 'graphql-compose' ;
4
+ import type { InputTypeComposer , Resolver } from 'graphql-compose' ;
5
5
import {
6
6
GraphQLObjectType ,
7
7
getNamedType ,
@@ -25,18 +25,19 @@ export default function wrapMutationResolver(
25
25
opts : WrapMutationResolverOpts
26
26
) : Resolver {
27
27
const { resolverName, rootTypeName } = opts ;
28
+ const schemaComposer = resolver . constructor . schemaComposer ;
28
29
29
30
function prepareArgs ( newResolver : Resolver ) {
30
31
let ITC : InputTypeComposer ;
31
32
if ( newResolver . hasArg ( 'input' ) ) {
32
33
const inputNamedType = getNamedType ( newResolver . getArgType ( 'input' ) ) ;
33
34
if ( inputNamedType instanceof GraphQLInputObjectType ) {
34
- ITC = new InputTypeComposer ( inputNamedType ) ;
35
+ ITC = new schemaComposer . InputTypeComposer ( inputNamedType ) ;
35
36
}
36
37
} else {
37
38
// create input arg, and put into all current args
38
39
39
- ITC = InputTypeComposer . create ( {
40
+ ITC = schemaComposer . InputTypeComposer . create ( {
40
41
name : `Relay${ upperFirst ( resolverName ) } ${ rootTypeName } Input` ,
41
42
fields : ( newResolver . args : any ) ,
42
43
} ) ;
@@ -93,7 +94,7 @@ export default function wrapMutationResolver(
93
94
return ;
94
95
}
95
96
96
- const outputTC = new TypeComposer ( outputType ) ;
97
+ const outputTC = new schemaComposer . TypeComposer ( outputType ) ;
97
98
if ( ! outputTC . hasField ( 'nodeId' ) ) {
98
99
outputTC . setField ( 'nodeId' , {
99
100
type : 'ID' ,
0 commit comments