Add enum module features new in 3.11 (#7358)

This commit is contained in:
Alex Waygood
2022-02-22 16:42:03 +00:00
committed by GitHub
parent bdcaea4305
commit a37d5f4849

View File

@@ -163,16 +163,22 @@ class Enum(metaclass=EnumMeta):
def __hash__(self) -> Any: ...
def __reduce_ex__(self, proto: object) -> Any: ...
class IntEnum(int, Enum):
_value_: int
if sys.version_info >= (3, 11):
if sys.version_info >= (3, 11):
class ReprEnum(Enum): ...
if sys.version_info >= (3, 11):
class IntEnum(int, ReprEnum):
_value_: int
@property
def value(self) -> int: ...
else:
def __new__(cls: type[Self], value: int | Self) -> Self: ...
else:
class IntEnum(int, Enum):
_value_: int
@types.DynamicClassAttribute
def value(self) -> int: ...
def __new__(cls: type[Self], value: int | Self) -> Self: ...
def __new__(cls: type[Self], value: int | Self) -> Self: ...
def unique(enumeration: _S) -> _S: ...
@@ -221,12 +227,24 @@ class IntFlag(int, Flag):
def __rxor__(self: Self, n: int | Self) -> Self: ...
if sys.version_info >= (3, 11):
class StrEnum(str, Enum):
class StrEnum(str, ReprEnum):
def __new__(cls: type[Self], value: str | Self) -> Self: ...
_value_: str
@property
def value(self) -> str: ...
class EnumCheck(StrEnum):
CONTINUOUS: str
NAMED_FLAGS: str
UNIQUE: str
CONTINUOUS = EnumCheck.CONTINUOUS
NAMED_FLAGS = EnumCheck.NAMED_FLAGS
UNIQUE = EnumCheck.UNIQUE
class verify:
def __init__(self, *checks: EnumCheck) -> None: ...
def __call__(self, enumeration: _S) -> _S: ...
class FlagBoundary(StrEnum):
STRICT: str
CONFORM: str
@@ -241,6 +259,7 @@ if sys.version_info >= (3, 11):
def __set_name__(self, ownerclass: type[Enum], name: str) -> None: ...
name: str
clsname: str
def global_enum(cls: _S) -> _S: ...
def global_str(self: Enum) -> str: ...
def global_enum(cls: _S, update_str: bool = ...) -> _S: ...
def global_enum_repr(self: Enum) -> str: ...
def global_flag_repr(self: Flag) -> str: ...