@@ -50,6 +50,7 @@ def is_graphql_generic(self) -> bool:
5050@dataclasses .dataclass
5151class EnumValueDefinition :
5252 value : Any
53+ graphql_name : Optional [str ] = None
5354 deprecation_reason : Optional [str ] = None
5455 directives : Iterable [object ] = ()
5556 description : Optional [str ] = None
@@ -60,6 +61,7 @@ def __int__(self) -> int:
6061
6162def enum_value (
6263 value : Any ,
64+ name : Optional [str ] = None ,
6365 deprecation_reason : Optional [str ] = None ,
6466 directives : Iterable [object ] = (),
6567 description : Optional [str ] = None ,
@@ -68,6 +70,7 @@ def enum_value(
6870
6971 Args:
7072 value: The value of the enum member.
73+ name: The GraphQL name of the enum member.
7174 deprecation_reason: The deprecation reason of the enum member,
7275 setting this will mark the enum member as deprecated.
7376 directives: The directives to attach to the enum member.
@@ -90,6 +93,7 @@ class MyEnum(Enum):
9093 """
9194 return EnumValueDefinition (
9295 value = value ,
96+ graphql_name = name ,
9397 deprecation_reason = deprecation_reason ,
9498 directives = directives ,
9599 description = description ,
@@ -123,12 +127,16 @@ def _process_enum(
123127 item_directives = item_value .directives
124128 enum_value_description = item_value .description
125129 deprecation_reason = item_value .deprecation_reason
126- item_value = item_value .value
127130
128131 # update _value2member_map_ so that doing `MyEnum.MY_VALUE` and
129132 # `MyEnum['MY_VALUE']` both work
130- cls ._value2member_map_ [item_value ] = item
131- cls ._member_map_ [item_name ]._value_ = item_value
133+ cls ._value2member_map_ [item_value .value ] = item
134+ cls ._member_map_ [item_name ]._value_ = item_value .value
135+
136+ if item_value .graphql_name :
137+ item_name = item_value .graphql_name
138+
139+ item_value = item_value .value
132140
133141 value = EnumValue (
134142 item_name ,
0 commit comments