aiogram/aiogram/utils/mypy_hacks.py
darksidecat 284821326a
Callable import fix
Co-authored-by: evgfilim1 <evgfilim1@yandex.ru>
2021-08-25 20:20:39 +03:00

16 lines
433 B
Python

import functools
from typing import Callable, TypeVar
T = TypeVar("T")
def lru_cache(maxsize: int = 128, typed: bool = False) -> Callable[[T], T]:
"""
fix: lru_cache annotation doesn't work with a property
this hack is only needed for the property, so type annotations are as they are
"""
def wrapper(func: T) -> T:
return functools.lru_cache(maxsize, typed)(func) # type: ignore
return wrapper