|
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