|
117 | 117 | "GraphQLLeafType",
|
118 | 118 | "GraphQLList",
|
119 | 119 | "GraphQLNamedType",
|
| 120 | + "GraphQLNamedInputType", |
| 121 | + "GraphQLNamedOutputType", |
120 | 122 | "GraphQLNullableType",
|
121 | 123 | "GraphQLNonNull",
|
122 | 124 | "GraphQLResolveInfo",
|
@@ -186,9 +188,6 @@ def assert_wrapping_type(type_: Any) -> GraphQLWrappingType:
|
186 | 188 | return cast(GraphQLWrappingType, type_)
|
187 | 189 |
|
188 | 190 |
|
189 |
| -# These named types do not include modifiers like List or NonNull. |
190 |
| - |
191 |
| - |
192 | 191 | class GraphQLNamedType(GraphQLType):
|
193 | 192 | """Base class for all GraphQL named types"""
|
194 | 193 |
|
@@ -256,37 +255,6 @@ def __copy__(self) -> "GraphQLNamedType": # pragma: no cover
|
256 | 255 | return self.__class__(**self.to_kwargs())
|
257 | 256 |
|
258 | 257 |
|
259 |
| -def is_named_type(type_: Any) -> bool: |
260 |
| - return isinstance(type_, GraphQLNamedType) |
261 |
| - |
262 |
| - |
263 |
| -def assert_named_type(type_: Any) -> GraphQLNamedType: |
264 |
| - if not is_named_type(type_): |
265 |
| - raise TypeError(f"Expected {type_} to be a GraphQL named type.") |
266 |
| - return cast(GraphQLNamedType, type_) |
267 |
| - |
268 |
| - |
269 |
| -@overload |
270 |
| -def get_named_type(type_: None) -> None: |
271 |
| - ... |
272 |
| - |
273 |
| - |
274 |
| -@overload |
275 |
| -def get_named_type(type_: GraphQLType) -> GraphQLNamedType: |
276 |
| - ... |
277 |
| - |
278 |
| - |
279 |
| -def get_named_type(type_: Optional[GraphQLType]) -> Optional[GraphQLNamedType]: |
280 |
| - """Unwrap possible wrapping type""" |
281 |
| - if type_: |
282 |
| - unwrapped_type = type_ |
283 |
| - while is_wrapping_type(unwrapped_type): |
284 |
| - unwrapped_type = cast(GraphQLWrappingType, unwrapped_type) |
285 |
| - unwrapped_type = unwrapped_type.of_type |
286 |
| - return cast(GraphQLNamedType, unwrapped_type) |
287 |
| - return None |
288 |
| - |
289 |
| - |
290 | 258 | def resolve_thunk(thunk: Any) -> Any:
|
291 | 259 | """Resolve the given thunk.
|
292 | 260 |
|
@@ -1672,6 +1640,52 @@ def assert_output_type(type_: Any) -> GraphQLOutputType:
|
1672 | 1640 | return cast(GraphQLOutputType, type_)
|
1673 | 1641 |
|
1674 | 1642 |
|
| 1643 | +# These named types do not include modifiers like List or NonNull. |
| 1644 | + |
| 1645 | +GraphQLNamedInputType = Union[ |
| 1646 | + GraphQLScalarType, GraphQLEnumType, GraphQLInputObjectType |
| 1647 | +] |
| 1648 | + |
| 1649 | +GraphQLNamedOutputType = Union[ |
| 1650 | + GraphQLScalarType, |
| 1651 | + GraphQLObjectType, |
| 1652 | + GraphQLInterfaceType, |
| 1653 | + GraphQLUnionType, |
| 1654 | + GraphQLEnumType, |
| 1655 | +] |
| 1656 | + |
| 1657 | + |
| 1658 | +def is_named_type(type_: Any) -> bool: |
| 1659 | + return isinstance(type_, GraphQLNamedType) |
| 1660 | + |
| 1661 | + |
| 1662 | +def assert_named_type(type_: Any) -> GraphQLNamedType: |
| 1663 | + if not is_named_type(type_): |
| 1664 | + raise TypeError(f"Expected {type_} to be a GraphQL named type.") |
| 1665 | + return cast(GraphQLNamedType, type_) |
| 1666 | + |
| 1667 | + |
| 1668 | +@overload |
| 1669 | +def get_named_type(type_: None) -> None: |
| 1670 | + ... |
| 1671 | + |
| 1672 | + |
| 1673 | +@overload |
| 1674 | +def get_named_type(type_: GraphQLType) -> GraphQLNamedType: |
| 1675 | + ... |
| 1676 | + |
| 1677 | + |
| 1678 | +def get_named_type(type_: Optional[GraphQLType]) -> Optional[GraphQLNamedType]: |
| 1679 | + """Unwrap possible wrapping type""" |
| 1680 | + if type_: |
| 1681 | + unwrapped_type = type_ |
| 1682 | + while is_wrapping_type(unwrapped_type): |
| 1683 | + unwrapped_type = cast(GraphQLWrappingType, unwrapped_type) |
| 1684 | + unwrapped_type = unwrapped_type.of_type |
| 1685 | + return cast(GraphQLNamedType, unwrapped_type) |
| 1686 | + return None |
| 1687 | + |
| 1688 | + |
1675 | 1689 | # These types may describe types which may be leaf values.
|
1676 | 1690 |
|
1677 | 1691 | graphql_leaf_types = (GraphQLScalarType, GraphQLEnumType)
|
|
0 commit comments