mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Update enum for py312 (#10670)
This commit is contained in:
@@ -119,10 +119,12 @@ class EnumMeta(type):
|
||||
def __len__(self) -> int: ...
|
||||
def __bool__(self) -> Literal[True]: ...
|
||||
def __dir__(self) -> list[str]: ...
|
||||
# Simple value lookup
|
||||
|
||||
# Overload 1: Value lookup on an already existing enum class (simple case)
|
||||
@overload
|
||||
def __call__(cls: type[_EnumMemberT], value: Any, names: None = None) -> _EnumMemberT: ...
|
||||
# Functional Enum API
|
||||
|
||||
# Overload 2: Functional API for constructing new enum classes.
|
||||
if sys.version_info >= (3, 11):
|
||||
@overload
|
||||
def __call__(
|
||||
@@ -148,6 +150,18 @@ class EnumMeta(type):
|
||||
type: type | None = None,
|
||||
start: int = 1,
|
||||
) -> type[Enum]: ...
|
||||
|
||||
# Overload 3 (py312+ only): Value lookup on an already existing enum class (complex case)
|
||||
#
|
||||
# >>> class Foo(enum.Enum):
|
||||
# ... X = 1, 2, 3
|
||||
# >>> Foo(1, 2, 3)
|
||||
# <Foo.X: (1, 2, 3)>
|
||||
#
|
||||
if sys.version_info >= (3, 12):
|
||||
@overload
|
||||
def __call__(cls: type[_EnumMemberT], value: Any, *values: Any) -> _EnumMemberT: ...
|
||||
|
||||
_member_names_: list[str] # undocumented
|
||||
_member_map_: dict[str, Enum] # undocumented
|
||||
_value2member_map_: dict[Any, Enum] # undocumented
|
||||
@@ -160,6 +174,7 @@ if sys.version_info >= (3, 11):
|
||||
def __set_name__(self, ownerclass: type[Enum], name: str) -> None: ...
|
||||
name: str
|
||||
clsname: str
|
||||
member: Enum | None
|
||||
_magic_enum_attr = property
|
||||
else:
|
||||
_magic_enum_attr = types.DynamicClassAttribute
|
||||
@@ -191,6 +206,9 @@ class Enum(metaclass=EnumMeta):
|
||||
if sys.version_info >= (3, 11):
|
||||
def __copy__(self) -> Self: ...
|
||||
def __deepcopy__(self, memo: Any) -> Self: ...
|
||||
if sys.version_info >= (3, 12):
|
||||
@classmethod
|
||||
def __signature__(cls) -> str: ...
|
||||
|
||||
if sys.version_info >= (3, 11):
|
||||
class ReprEnum(Enum): ...
|
||||
|
||||
Reference in New Issue
Block a user