1
mirror of https://github.com/home-assistant/core synced 2024-10-04 07:58:43 +02:00

Add return type annotation to StrEnum (#60624)

This commit is contained in:
Marc Mueller 2021-11-30 16:26:02 +01:00 committed by GitHub
parent ad75c217ce
commit a90ef488a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,13 +2,15 @@
from __future__ import annotations
from enum import Enum
from typing import Any
from typing import Any, TypeVar
T = TypeVar("T", bound="StrEnum")
class StrEnum(str, Enum):
"""Partial backport of Python 3.11's StrEnum for our basic use cases."""
def __new__(cls, value: str, *args: Any, **kwargs: Any): # type: ignore[no-untyped-def]
def __new__(cls: type[T], value: str, *args: Any, **kwargs: Any) -> T:
"""Create a new StrEnum instance."""
if not isinstance(value, str):
raise TypeError(f"{value!r} is not a string")