@@ -5,7 +5,7 @@ import mongoose from 'mongoose';
55import type { Schema , MongooseModel , MongooseSchemaField } from 'mongoose' ;
66import objectPath from 'object-path' ;
77import type { SchemaComposer , TypeComposer , EnumTypeComposer } from 'graphql-compose' ;
8- import { upperFirst } from 'graphql-compose' ;
8+ import { upperFirst , schemaComposer as globalSchemaComposer } from 'graphql-compose' ;
99import type { GraphQLScalarType } from 'graphql-compose/lib/graphql' ;
1010import GraphQLMongoID from './types/mongoid' ;
1111
@@ -113,8 +113,10 @@ export function getFieldsFromModel(model: MongooseModel | MongoosePseudoModelT):
113113export function convertModelToGraphQL (
114114 model : MongooseModel | MongoosePseudoModelT ,
115115 typeName : string ,
116- schemaComposer : SchemaComposer < any >
116+ sc ? : SchemaComposer < any >
117117) : TypeComposer {
118+ const schemaComposer = sc || globalSchemaComposer ;
119+
118120 // if model already has generated TypeComposer early, then return it
119121 if ( model . schema && model . schema . _gqcTypeComposer ) {
120122 return ( model . schema . _gqcTypeComposer : any ) ;
@@ -161,8 +163,10 @@ export function convertModelToGraphQL(
161163export function convertSchemaToGraphQL (
162164 schema : Object , // MongooseModelSchemaT, TODO use Model from mongoose_v4.x.x definition when it will be public
163165 typeName : string ,
164- schemaComposer : SchemaComposer < any >
166+ sc ? : SchemaComposer < any >
165167) : TypeComposer {
168+ const schemaComposer = sc || globalSchemaComposer ;
169+
166170 if ( ! typeName ) {
167171 throw new Error ( 'You provide empty name for type. `name` argument should be non-empty string.' ) ;
168172 }
0 commit comments