|
12 | 12 | GraphQLObjectType,
|
13 | 13 | GraphQLUnionType,
|
14 | 14 | GraphQLInputObjectType,
|
15 |
| - GraphQLWrappingType, |
| 15 | + get_named_type, |
16 | 16 | is_abstract_type,
|
17 | 17 | is_input_object_type,
|
18 | 18 | is_interface_type,
|
19 | 19 | is_named_type,
|
20 | 20 | is_object_type,
|
21 | 21 | is_union_type,
|
22 |
| - is_wrapping_type, |
23 | 22 | )
|
24 | 23 | from .directives import GraphQLDirective, specified_directives, is_directive
|
25 | 24 | from .introspection import introspection_types
|
@@ -257,36 +256,35 @@ def type_map_reducer(
|
257 | 256 | """Reducer function for creating the type map from given types."""
|
258 | 257 | if not type_:
|
259 | 258 | return map_
|
260 |
| - if is_wrapping_type(type_): |
261 |
| - return self.type_map_reducer( |
262 |
| - map_, cast(GraphQLWrappingType[GraphQLNamedType], type_).of_type |
263 |
| - ) |
264 |
| - name = type_.name |
| 259 | + |
| 260 | + named_type = get_named_type(type_) |
| 261 | + name = named_type.name |
| 262 | + |
265 | 263 | if name in map_:
|
266 |
| - if map_[name] is not type_: |
| 264 | + if map_[name] is not named_type: |
267 | 265 | raise TypeError(
|
268 | 266 | "Schema must contain uniquely named types but contains multiple"
|
269 | 267 | f" types named {name!r}."
|
270 | 268 | )
|
271 | 269 | return map_
|
272 |
| - map_[name] = type_ |
| 270 | + map_[name] = named_type |
273 | 271 |
|
274 |
| - if is_union_type(type_): |
275 |
| - type_ = cast(GraphQLUnionType, type_) |
276 |
| - map_ = reduce(self.type_map_reducer, type_.types, map_) |
| 272 | + if is_union_type(named_type): |
| 273 | + named_type = cast(GraphQLUnionType, named_type) |
| 274 | + map_ = reduce(self.type_map_reducer, named_type.types, map_) |
277 | 275 |
|
278 |
| - if is_object_type(type_): |
279 |
| - type_ = cast(GraphQLObjectType, type_) |
280 |
| - map_ = reduce(self.type_map_reducer, type_.interfaces, map_) |
| 276 | + if is_object_type(named_type): |
| 277 | + named_type = cast(GraphQLObjectType, named_type) |
| 278 | + map_ = reduce(self.type_map_reducer, named_type.interfaces, map_) |
281 | 279 |
|
282 |
| - if is_object_type(type_) or is_interface_type(type_): |
283 |
| - for field in cast(GraphQLInterfaceType, type_).fields.values(): |
| 280 | + if is_object_type(named_type) or is_interface_type(named_type): |
| 281 | + for field in cast(GraphQLInterfaceType, named_type).fields.values(): |
284 | 282 | types = [arg.type for arg in field.args.values()]
|
285 | 283 | map_ = reduce(self.type_map_reducer, types, map_)
|
286 | 284 | map_ = self.type_map_reducer(map_, field.type)
|
287 | 285 |
|
288 |
| - if is_input_object_type(type_): |
289 |
| - for field in cast(GraphQLInputObjectType, type_).fields.values(): |
| 286 | + if is_input_object_type(named_type): |
| 287 | + for field in cast(GraphQLInputObjectType, named_type).fields.values(): |
290 | 288 | map_ = self.type_map_reducer(map_, field.type)
|
291 | 289 |
|
292 | 290 | return map_
|
|
0 commit comments