@@ -228,6 +228,7 @@ def extend_input_field_map(type_: GraphQLInputObjectType) -> GraphQLInputFieldMa
228228 # If there are any extensions to the fields, apply those here.
229229 extensions = type_extensions_map .get (type_ .name )
230230 if extensions :
231+ build_input_field = ast_builder .build_input_field
231232 for extension in extensions :
232233 for field in extension .fields :
233234 new_field_map [field .name .value ] = build_input_field (field )
@@ -254,31 +255,23 @@ def extend_enum_type(type_: GraphQLEnumType) -> GraphQLEnumType:
254255 )
255256
256257 def extend_value_map (type_ : GraphQLEnumType ) -> GraphQLEnumValueMap :
257- old_value_map = type_ .values
258258 new_value_map = {
259259 value_name : GraphQLEnumValue (
260260 value .value ,
261261 description = value .description ,
262262 deprecation_reason = value .deprecation_reason ,
263263 ast_node = value .ast_node ,
264264 )
265- for value_name , value in old_value_map .items ()
265+ for value_name , value in type_ . values .items ()
266266 }
267267
268268 # If there are any extensions to the values, apply those here.
269269 extensions = type_extensions_map .get (type_ .name )
270270 if extensions :
271+ build_enum_value = ast_builder .build_enum_value
271272 for extension in extensions :
272273 for value in extension .values :
273- value_name = value .name .value
274- if value_name in old_value_map :
275- raise GraphQLError (
276- f"Enum value '{ type_ .name } .{ value_name } ' already"
277- " exists in the schema. It cannot also be defined"
278- " in this type extension." ,
279- [value ],
280- )
281- new_value_map [value_name ] = ast_builder .build_enum_value (value )
274+ new_value_map [value .name .value ] = build_enum_value (value )
282275
283276 return new_value_map
284277
@@ -389,7 +382,7 @@ def extend_possible_types(type_: GraphQLUnionType) -> List[GraphQLObjectType]:
389382 # typed values, that would throw immediately while type system
390383 # validation with `validate_schema()` will produce more actionable
391384 # results.
392- possible_types .append (ast_builder . build_type (named_type ))
385+ possible_types .append (build_type (named_type ))
393386
394387 return cast (List [GraphQLObjectType ], possible_types )
395388
@@ -434,6 +427,7 @@ def extend_field_map(
434427 }
435428
436429 # If there are any extensions to the fields, apply those here.
430+ build_field = ast_builder .build_field
437431 for extension in type_extensions_map [type_ .name ]:
438432 for field in extension .fields :
439433 new_field_map [field .name .value ] = build_field (field )
@@ -458,8 +452,6 @@ def resolve_type(type_name: str) -> GraphQLNamedType:
458452 ast_builder = ASTDefinitionBuilder (
459453 type_definition_map , assume_valid = assume_valid , resolve_type = resolve_type
460454 )
461- build_field = ast_builder .build_field
462- build_input_field = ast_builder .build_input_field
463455 build_type = ast_builder .build_type
464456
465457 extend_type_cache : Dict [str , GraphQLNamedType ] = {}
0 commit comments