diff --git a/src/index.ts b/src/index.ts index a095f4e..4d916ec 100644 --- a/src/index.ts +++ b/src/index.ts @@ -72,13 +72,20 @@ export const generateTSTypesAsString = async (schema: GraphQLSchema | string, op const tsResolverGenerator = new TSResolverGenerator(mergedOptions, introspectResult); typeResolvers = await tsResolverGenerator.generate(); - let header = [...typeResolvers.importHeader, jsDoc]; + let header = options.includeResolverTypes ? + [...typeResolvers.importHeader, jsDoc] : + [jsDoc]; - let body: string[] = [ + let body: string[] = options.includeResolverTypes ? + [ ...typeDefsDecoration, ...typeDefs, ...typeResolversDecoration, ...typeResolvers.body + ] : + [ + ...typeDefsDecoration, + ...typeDefs ]; if (mergedOptions.namespace) { diff --git a/src/types.ts b/src/types.ts index 203df17..0511c04 100644 --- a/src/types.ts +++ b/src/types.ts @@ -103,6 +103,11 @@ export interface GenerateTypescriptOptions { * If true resolver info arguements will be marked as optional */ optionalResolverInfo?: boolean; + + /** + * If false resolver types will be omitted from the output + */ + includeResolverTypes?: boolean; } export const defaultOptions: GenerateTypescriptOptions = { @@ -111,4 +116,5 @@ export const defaultOptions: GenerateTypescriptOptions = { contextType: 'any', rootValueType: 'undefined', strictNulls: false, + includeResolverTypes: true, }; \ No newline at end of file