mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Move update type detecting from Dispatcher to Update (#669)
* 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>
This commit is contained in:
parent
7c0e229301
commit
714ac8896c
4 changed files with 74 additions and 43 deletions
16
aiogram/utils/mypy_hacks.py
Normal file
16
aiogram/utils/mypy_hacks.py
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue