1
1
# pylint: disable=cell-var-from-loop
2
2
3
3
from inspect import isawaitable
4
- from typing import Any , List , Tuple , cast
4
+ from typing import Any , cast
5
5
6
6
from graphql import (
7
7
DirectiveDefinitionNode ,
11
11
)
12
12
from graphql .language import DirectiveNode
13
13
from graphql .type import (
14
- GraphQLNamedType ,
15
14
GraphQLInputObjectType ,
15
+ GraphQLNamedType ,
16
16
GraphQLObjectType ,
17
17
GraphQLResolveInfo ,
18
18
GraphQLSchema ,
19
19
)
20
20
21
-
22
21
_allowed_directives = [
23
22
"skip" , # Default directive as per specs.
24
23
"include" , # Default directive as per specs.
41
40
]
42
41
43
42
44
- def _purge_directive_nodes (nodes : Tuple [Node , ...]) -> Tuple [Node , ...]:
43
+ def _purge_directive_nodes (nodes : tuple [Node , ...]) -> tuple [Node , ...]:
45
44
return tuple (
46
45
node
47
46
for node in nodes
@@ -58,11 +57,11 @@ def _purge_type_directives(definition: Node):
58
57
if isinstance (value , tuple ):
59
58
# Remove directive nodes from the tuple
60
59
# e.g. doc -> definitions [DirectiveDefinitionNode]
61
- next_value = _purge_directive_nodes (cast (Tuple [Node , ...], value ))
60
+ next_value = _purge_directive_nodes (cast (tuple [Node , ...], value ))
62
61
for item in next_value :
63
62
if isinstance (item , Node ):
64
- # Look for directive nodes on sub-nodes
65
- # e.g. doc -> definitions [ObjectTypeDefinitionNode] -> fields -> directives
63
+ # Look for directive nodes on sub-nodes, e.g.: doc ->
64
+ # definitions [ObjectTypeDefinitionNode] -> fields -> directives
66
65
_purge_type_directives (item )
67
66
setattr (definition , key , next_value )
68
67
elif isinstance (value , Node ):
@@ -111,7 +110,7 @@ async def add_typename_to_async_return(obj: Any, typename: str) -> Any:
111
110
return add_typename_to_possible_return (await obj , typename )
112
111
113
112
114
- def get_entity_types (schema : GraphQLSchema ) -> List [GraphQLNamedType ]:
113
+ def get_entity_types (schema : GraphQLSchema ) -> list [GraphQLNamedType ]:
115
114
"""Get all types that include the @key directive."""
116
115
schema_types = schema .type_map .values ()
117
116
@@ -135,9 +134,9 @@ def includes_directive(
135
134
136
135
def gather_directives (
137
136
type_object : GraphQLNamedType ,
138
- ) -> List [DirectiveNode ]:
137
+ ) -> list [DirectiveNode ]:
139
138
"""Get all directive attached to a type."""
140
- directives : List [DirectiveNode ] = []
139
+ directives : list [DirectiveNode ] = []
141
140
142
141
if hasattr (type_object , "extension_ast_nodes" ) and type_object .extension_ast_nodes :
143
142
for ast_node in type_object .extension_ast_nodes :
0 commit comments