mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 18:27:09 +00:00
Use PEP 695 for covariant class annotations (#117780)
This commit is contained in:
parent
f76842d7db
commit
0293315b23
@ -38,7 +38,6 @@ from typing import (
|
|||||||
Final,
|
Final,
|
||||||
Generic,
|
Generic,
|
||||||
NotRequired,
|
NotRequired,
|
||||||
ParamSpec,
|
|
||||||
Self,
|
Self,
|
||||||
TypedDict,
|
TypedDict,
|
||||||
cast,
|
cast,
|
||||||
@ -131,8 +130,6 @@ CLOSE_STAGE_SHUTDOWN_TIMEOUT = 30
|
|||||||
|
|
||||||
|
|
||||||
_R = TypeVar("_R")
|
_R = TypeVar("_R")
|
||||||
_R_co = TypeVar("_R_co", covariant=True)
|
|
||||||
_P = ParamSpec("_P")
|
|
||||||
# Internal; not helpers.typing.UNDEFINED due to circular dependency
|
# Internal; not helpers.typing.UNDEFINED due to circular dependency
|
||||||
_UNDEF: dict[Any, Any] = {}
|
_UNDEF: dict[Any, Any] = {}
|
||||||
_SENTINEL = object()
|
_SENTINEL = object()
|
||||||
@ -305,7 +302,7 @@ class HassJobType(enum.Enum):
|
|||||||
Executor = 3
|
Executor = 3
|
||||||
|
|
||||||
|
|
||||||
class HassJob(Generic[_P, _R_co]):
|
class HassJob[**_P, _R_co]:
|
||||||
"""Represent a job to be run later.
|
"""Represent a job to be run later.
|
||||||
|
|
||||||
We check the callable type in advance
|
We check the callable type in advance
|
||||||
|
@ -5,14 +5,11 @@ from __future__ import annotations
|
|||||||
import asyncio
|
import asyncio
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from logging import Logger
|
from logging import Logger
|
||||||
from typing import Generic, TypeVar
|
|
||||||
|
|
||||||
from homeassistant.core import HassJob, HomeAssistant, callback
|
from homeassistant.core import HassJob, HomeAssistant, callback
|
||||||
|
|
||||||
_R_co = TypeVar("_R_co", covariant=True)
|
|
||||||
|
|
||||||
|
class Debouncer[_R_co]:
|
||||||
class Debouncer(Generic[_R_co]):
|
|
||||||
"""Class to rate limit calls to a specific command."""
|
"""Class to rate limit calls to a specific command."""
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user