Skip to content

Commit 690e30d

Browse files
committed
Simplify validators by using defaultdicts
1 parent ea2fb55 commit 690e30d

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

graphql/validation/rules/unique_enum_value_names.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from collections import defaultdict
12
from typing import cast, Dict
23

34
from ...error import GraphQLError
@@ -33,17 +34,12 @@ def __init__(self, context: SDLValidationContext) -> None:
3334
super().__init__(context)
3435
schema = context.schema
3536
self.existing_type_map = schema.type_map if schema else {}
36-
self.known_value_names: Dict[str, Dict[str, NameNode]] = {}
37+
self.known_value_names: Dict[str, Dict[str, NameNode]] = defaultdict(dict)
3738

3839
def check_value_uniqueness(self, node: EnumTypeDefinitionNode, *_args):
39-
type_name = node.name.value
40-
41-
known_value_names = self.known_value_names
42-
if type_name not in known_value_names:
43-
known_value_names[type_name] = {}
44-
4540
if node.values:
46-
value_names = known_value_names[type_name]
41+
type_name = node.name.value
42+
value_names = self.known_value_names[type_name]
4743
existing_type_map = self.existing_type_map
4844

4945
for value_def in node.values:

graphql/validation/rules/unique_field_definition_names.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from collections import defaultdict
12
from typing import Any, Dict
23

34
from ...error import GraphQLError
@@ -33,17 +34,12 @@ def __init__(self, context: SDLValidationContext) -> None:
3334
super().__init__(context)
3435
schema = context.schema
3536
self.existing_type_map = schema.type_map if schema else {}
36-
self.known_field_names: Dict[str, Dict[str, NameNode]] = {}
37+
self.known_field_names: Dict[str, Dict[str, NameNode]] = defaultdict(dict)
3738

3839
def check_field_uniqueness(self, node: ObjectTypeDefinitionNode, *_args):
39-
type_name = node.name.value
40-
41-
known_field_names = self.known_field_names
42-
if type_name not in known_field_names:
43-
known_field_names[type_name] = {}
44-
4540
if node.fields:
46-
field_names = known_field_names[type_name]
41+
type_name = node.name.value
42+
field_names = self.known_field_names[type_name]
4743
existing_type_map = self.existing_type_map
4844

4945
for field_def in node.fields:

0 commit comments

Comments
 (0)