@@ -183,8 +183,8 @@ class ExecutionContext:
183
183
variable_values : Dict [str , Any ]
184
184
field_resolver : GraphQLFieldResolver
185
185
type_resolver : GraphQLTypeResolver
186
- middleware_manager : Optional [MiddlewareManager ]
187
186
errors : List [GraphQLError ]
187
+ middleware_manager : Optional [MiddlewareManager ]
188
188
189
189
def __init__ (
190
190
self ,
@@ -196,8 +196,8 @@ def __init__(
196
196
variable_values : Dict [str , Any ],
197
197
field_resolver : GraphQLFieldResolver ,
198
198
type_resolver : GraphQLTypeResolver ,
199
- middleware_manager : Optional [MiddlewareManager ],
200
199
errors : List [GraphQLError ],
200
+ middleware_manager : Optional [MiddlewareManager ],
201
201
) -> None :
202
202
self .schema = schema
203
203
self .fragments = fragments
@@ -207,8 +207,8 @@ def __init__(
207
207
self .variable_values = variable_values
208
208
self .field_resolver = field_resolver # type: ignore
209
209
self .type_resolver = type_resolver # type: ignore
210
- self .middleware_manager = middleware_manager
211
210
self .errors = errors
211
+ self .middleware_manager = middleware_manager
212
212
self ._subfields_cache : Dict [
213
213
Tuple [GraphQLObjectType , Tuple [FieldNode , ...]], Dict [str , List [FieldNode ]]
214
214
] = {}
@@ -233,7 +233,6 @@ def build(
233
233
234
234
Throws a GraphQLError if a valid execution context cannot be created.
235
235
"""
236
- errors : List [GraphQLError ] = []
237
236
operation : Optional [OperationDefinitionNode ] = None
238
237
has_multiple_assumed_operations = False
239
238
fragments : Dict [str , FragmentDefinitionNode ] = {}
@@ -263,37 +262,26 @@ def build(
263
262
264
263
if not operation :
265
264
if operation_name :
266
- errors .append (
267
- GraphQLError (f"Unknown operation named '{ operation_name } '." )
268
- )
269
- else :
270
- errors .append (GraphQLError ("Must provide an operation." ))
271
- elif has_multiple_assumed_operations :
272
- errors .append (
265
+ return [GraphQLError (f"Unknown operation named '{ operation_name } '." )]
266
+ return [GraphQLError ("Must provide an operation." )]
267
+
268
+ if has_multiple_assumed_operations :
269
+ return [
273
270
GraphQLError (
274
- "Must provide operation name"
275
- " if query contains multiple operations."
271
+ "Must provide operation name if query contains multiple operations."
276
272
)
277
- )
278
-
279
- variable_values = None
280
- if operation :
281
- coerced_variable_values = get_variable_values (
282
- schema ,
283
- operation .variable_definitions or FrozenList (),
284
- raw_variable_values or {},
285
- )
273
+ ]
286
274
287
- if coerced_variable_values .errors :
288
- errors .extend (coerced_variable_values .errors )
289
- else :
290
- variable_values = coerced_variable_values .coerced
275
+ coerced_variable_values = get_variable_values (
276
+ schema ,
277
+ operation .variable_definitions or FrozenList (),
278
+ raw_variable_values or {},
279
+ )
291
280
292
- if errors :
293
- return errors
281
+ if coerced_variable_values . errors :
282
+ return coerced_variable_values . errors
294
283
295
- if operation is None :
296
- raise TypeError ("Has operation if no errors." )
284
+ variable_values = coerced_variable_values .coerced
297
285
if variable_values is None :
298
286
raise TypeError ("Has variables if no errors." )
299
287
@@ -306,8 +294,8 @@ def build(
306
294
variable_values ,
307
295
field_resolver or default_field_resolver ,
308
296
type_resolver or default_type_resolver ,
297
+ [],
309
298
middleware_manager ,
310
- errors ,
311
299
)
312
300
313
301
def build_response (
0 commit comments