Skip to content

Commit 89747d6

Browse files
committed
Change to_kwargs() to always return extension_ast_nodes as list
Replicates graphql/graphql-js@9f8c284
1 parent 738e71b commit 89747d6

File tree

5 files changed

+13
-26
lines changed

5 files changed

+13
-26
lines changed

src/graphql/type/definition.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def to_kwargs(self) -> Dict[str, Any]:
249249
description=self.description,
250250
extensions=self.extensions,
251251
ast_node=self.ast_node,
252-
extension_ast_nodes=self.extension_ast_nodes,
252+
extension_ast_nodes=self.extension_ast_nodes or FrozenList(),
253253
)
254254

255255

src/graphql/type/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ def to_kwargs(self) -> Dict[str, Any]:
276276
description=self.description,
277277
extensions=self.extensions,
278278
ast_node=self.ast_node,
279-
extension_ast_nodes=self.extension_ast_nodes,
279+
extension_ast_nodes=self.extension_ast_nodes or FrozenList(),
280280
assume_valid=self._validation_errors is not None,
281281
)
282282

src/graphql/utilities/extend_schema.py

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
UnionTypeDefinitionNode,
4141
UnionTypeExtensionNode,
4242
)
43-
from ..pyutils import inspect, FrozenList
43+
from ..pyutils import inspect
4444
from ..type import (
4545
GraphQLArgument,
4646
GraphQLArgumentMap,
@@ -248,8 +248,7 @@ def extend_input_object_type(
248248
},
249249
**build_input_field_map(extensions),
250250
},
251-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
252-
+ extensions,
251+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
253252
}
254253
)
255254

@@ -261,8 +260,7 @@ def extend_enum_type(type_: GraphQLEnumType) -> GraphQLEnumType:
261260
**{
262261
**kwargs,
263262
"values": {**kwargs["values"], **build_enum_value_map(extensions)},
264-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
265-
+ extensions,
263+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
266264
}
267265
)
268266

@@ -273,8 +271,7 @@ def extend_scalar_type(type_: GraphQLScalarType) -> GraphQLScalarType:
273271
return GraphQLScalarType(
274272
**{
275273
**kwargs,
276-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
277-
+ extensions,
274+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
278275
}
279276
)
280277

@@ -298,8 +295,7 @@ def extend_object_type(type_: GraphQLObjectType) -> GraphQLObjectType:
298295
},
299296
**build_field_map(extensions),
300297
},
301-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
302-
+ extensions,
298+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
303299
}
304300
)
305301

@@ -323,8 +319,7 @@ def extend_interface_type(type_: GraphQLInterfaceType) -> GraphQLInterfaceType:
323319
},
324320
**build_field_map(extensions),
325321
},
326-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
327-
+ extensions,
322+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
328323
}
329324
)
330325

@@ -340,8 +335,7 @@ def extend_union_type(type_: GraphQLUnionType) -> GraphQLUnionType:
340335
for member_type in kwargs["types"]
341336
]
342337
+ build_union_types(extensions),
343-
"extension_ast_nodes": (kwargs["extension_ast_nodes"] or [])
344-
+ extensions,
338+
"extension_ast_nodes": kwargs["extension_ast_nodes"] + extensions,
345339
}
346340
)
347341

@@ -657,14 +651,7 @@ def build_type(ast_node: TypeDefinitionNode) -> GraphQLNamedType:
657651
else None,
658652
"extensions": None,
659653
"ast_node": schema_def or schema_kwargs["ast_node"],
660-
"extension_ast_nodes": (
661-
(
662-
schema_kwargs["extension_ast_nodes"]
663-
or cast(FrozenList[SchemaExtensionNode], FrozenList())
664-
)
665-
+ schema_extensions
666-
)
667-
or None,
654+
"extension_ast_nodes": schema_kwargs["extension_ast_nodes"] + schema_extensions,
668655
"assume_valid": assume_valid,
669656
}
670657

tests/type/test_definition.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def defines_a_scalar_type():
7373
"parse_literal": None,
7474
"extensions": None,
7575
"ast_node": None,
76-
"extension_ast_nodes": None,
76+
"extension_ast_nodes": [],
7777
}
7878

7979
def accepts_a_scalar_type_defining_serialize():
@@ -688,7 +688,7 @@ def defines_an_interface_type():
688688
"resolve_type": None,
689689
"extensions": None,
690690
"ast_node": None,
691-
"extension_ast_nodes": None,
691+
"extension_ast_nodes": [],
692692
}
693693

694694
def accepts_an_interface_type_defining_resolve_type():

tests/type/test_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def define_sample_schema():
106106
"description": "Sample schema",
107107
"extensions": None,
108108
"ast_node": None,
109-
"extension_ast_nodes": None,
109+
"extension_ast_nodes": [],
110110
"assume_valid": False,
111111
}
112112

0 commit comments

Comments
 (0)