mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
* move update type detecting to Update * requested changes * fix typo * requested changes * add docstring * Update CHANGES/669.misc Co-authored-by: Alex Root Junior <jroot.junior@gmail.com> * move mypy hack to utils, add lru_cache configuration * More accurate description of the exception, thanks @uwinx * Update CHANGES/669.misc Co-authored-by: evgfilim1 <evgfilim1@yandex.ru> * Callable import fix Co-authored-by: evgfilim1 <evgfilim1@yandex.ru> Co-authored-by: Alex Root Junior <jroot.junior@gmail.com> Co-authored-by: evgfilim1 <evgfilim1@yandex.ru>
16 lines
433 B
Python
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
|