From d472bf048182453de15de7f7fd450f7a0cb4fdd5 Mon Sep 17 00:00:00 2001 From: PrettyWood Date: Wed, 23 Dec 2020 03:10:59 +0100 Subject: [PATCH] chore: improve mypy --- pydantic/validators.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pydantic/validators.py b/pydantic/validators.py index a3069bcdbb0..e0e7a9ea251 100644 --- a/pydantic/validators.py +++ b/pydantic/validators.py @@ -50,6 +50,11 @@ Number = Union[int, float, Decimal] StrBytes = Union[str, bytes] + class TypedDict(Dict[str, Any]): + __annotations__: Dict[str, Type[Any]] + __required_keys__: FrozenSet[str] + __optional_keys__: FrozenSet[str] + def str_validator(v: Any) -> Union[str]: if isinstance(v, str): @@ -549,7 +554,7 @@ def named_tuple_validator(values: Tuple[Any, ...]) -> NamedTupleT: return named_tuple_validator -def make_typed_dict_validator(type_: Type[Dict[str, Any]]) -> Callable[[Any], Dict[str, Any]]: +def make_typed_dict_validator(type_: Type['TypedDict']) -> Callable[[Any], Dict[str, Any]]: from .main import create_model field_definitions: Dict[str, Any] = {