From 539fc39c49e452a841e3a7284b6a957f39218e5c Mon Sep 17 00:00:00 2001 From: Wes Pickett Date: Tue, 9 Apr 2019 12:50:00 -0400 Subject: [PATCH] make resolver types optional --- src/index.ts | 11 +++++++++-- src/types.ts | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) 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