Skip to content

Commit 3d021ce

Browse files
author
Jacob Smallwood
committed
Handle serialization of standard library Enum values
1 parent 0d4f952 commit 3d021ce

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

graphql/type/definition.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
from ..pyutils.ordereddict import OrderedDict
77
from ..utils.assert_valid_name import assert_valid_name
88

9+
try:
10+
from enum import Enum as PyEnum
11+
except ImportError:
12+
from ..pyutils.enum import Enum as PyEnum
13+
914

1015
def is_type(type):
1116
return isinstance(type, (
@@ -407,8 +412,9 @@ def __init__(self, name, values, description=None):
407412
self.values = define_enum_values(self, values)
408413

409414
def serialize(self, value):
410-
if isinstance(value, collections.Hashable):
411-
enum_value = self._value_lookup.get(value)
415+
input_value = value.value if isinstance(value, PyEnum) else value
416+
if isinstance(input_value, collections.Hashable):
417+
enum_value = self._value_lookup.get(input_value)
412418

413419
if enum_value:
414420
return enum_value.name

0 commit comments

Comments
 (0)