From 3b5983f1eac8a0f589beb4ffc51412e573a9eace Mon Sep 17 00:00:00 2001 From: Yaacov Rydzinski Date: Tue, 22 Jun 2021 17:33:49 +0300 Subject: [PATCH] refactor: move assertValidExecutionArguments only called by buildExecutionContext --- src/execution/execute.ts | 9 ++++----- src/execution/subscribe.ts | 10 +--------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/execution/execute.ts b/src/execution/execute.ts index 66f42952a0..1e6c34fbe8 100644 --- a/src/execution/execute.ts +++ b/src/execution/execute.ts @@ -182,10 +182,6 @@ export function execute(args: ExecutionArgs): PromiseOrValue { fieldResolver, typeResolver, } = args; - - // If arguments are missing or incorrect, throw an error. - assertValidExecutionArguments(schema, document, variableValues); - // If a valid execution context cannot be created due to incorrect arguments, // a "Response" with only errors is returned. let exeContext: ExecutionContext; @@ -263,7 +259,7 @@ function buildResponse( * * @internal */ -export function assertValidExecutionArguments( +function assertValidExecutionArguments( schema: GraphQLSchema, document: DocumentNode, rawVariableValues: Maybe<{ readonly [variable: string]: unknown }>, @@ -299,6 +295,9 @@ export function buildExecutionContext( typeResolver?: Maybe>, subscribeFieldResolver?: Maybe>, ): ExecutionContext { + // If arguments are missing or incorrect, throw an error. + assertValidExecutionArguments(schema, document, rawVariableValues); + let operation: OperationDefinitionNode | undefined; const fragments: ObjMap = Object.create(null); for (const definition of document.definitions) { diff --git a/src/execution/subscribe.ts b/src/execution/subscribe.ts index ff7e27c333..d4a743cfb6 100644 --- a/src/execution/subscribe.ts +++ b/src/execution/subscribe.ts @@ -11,11 +11,7 @@ import type { } from '../type/definition'; import type { ExecutionContext, ExecutionResult } from './execute'; -import { - assertValidExecutionArguments, - buildExecutionContext, - executeSubscription, -} from './execute'; +import { buildExecutionContext, executeSubscription } from './execute'; export interface SubscriptionArgs { schema: GraphQLSchema; @@ -64,10 +60,6 @@ export async function subscribe( typeResolver, subscribeFieldResolver, } = args; - - // If arguments are missing or incorrect, throw an error. - assertValidExecutionArguments(schema, document, variableValues); - // If a valid execution context cannot be created due to incorrect arguments, // a "Response" with only errors is returned. let exeContext: ExecutionContext;