11/* @flow */
22/* eslint-disable no-param-reassign */
33
4- import { TypeComposer , InputTypeComposer , type Resolver } from 'graphql-compose' ;
4+ import type { InputTypeComposer , Resolver } from 'graphql-compose' ;
55import {
66 GraphQLObjectType ,
77 getNamedType ,
@@ -25,18 +25,19 @@ export default function wrapMutationResolver(
2525 opts : WrapMutationResolverOpts
2626) : Resolver {
2727 const { resolverName, rootTypeName } = opts ;
28+ const schemaComposer = resolver . constructor . schemaComposer ;
2829
2930 function prepareArgs ( newResolver : Resolver ) {
3031 let ITC : InputTypeComposer ;
3132 if ( newResolver . hasArg ( 'input' ) ) {
3233 const inputNamedType = getNamedType ( newResolver . getArgType ( 'input' ) ) ;
3334 if ( inputNamedType instanceof GraphQLInputObjectType ) {
34- ITC = new InputTypeComposer ( inputNamedType ) ;
35+ ITC = new schemaComposer . InputTypeComposer ( inputNamedType ) ;
3536 }
3637 } else {
3738 // create input arg, and put into all current args
3839
39- ITC = InputTypeComposer . create ( {
40+ ITC = schemaComposer . InputTypeComposer . create ( {
4041 name : `Relay${ upperFirst ( resolverName ) } ${ rootTypeName } Input` ,
4142 fields : ( newResolver . args : any ) ,
4243 } ) ;
@@ -93,7 +94,7 @@ export default function wrapMutationResolver(
9394 return ;
9495 }
9596
96- const outputTC = new TypeComposer ( outputType ) ;
97+ const outputTC = new schemaComposer . TypeComposer ( outputType ) ;
9798 if ( ! outputTC . hasField ( 'nodeId' ) ) {
9899 outputTC . setField ( 'nodeId' , {
99100 type : 'ID' ,
0 commit comments