|
1 | 1 | from collections.abc import Callable
|
2 | 2 | from email.message import Message
|
3 |
| -from email.policy import Policy |
4 |
| -from typing import IO |
| 3 | +from email.policy import Policy, _MessageT |
| 4 | +from typing import IO, overload |
5 | 5 | from typing_extensions import TypeAlias
|
6 | 6 |
|
7 | 7 | # At runtime, listing submodules in __all__ without them being imported is
|
@@ -31,7 +31,29 @@ __all__ = [ # noqa: F822 # Undefined names in __all__
|
31 | 31 | _ParamType: TypeAlias = str | tuple[str | None, str | None, str] # noqa: Y047
|
32 | 32 | _ParamsType: TypeAlias = str | None | tuple[str, str | None, str] # noqa: Y047
|
33 | 33 |
|
34 |
| -def message_from_string(s: str, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... |
35 |
| -def message_from_bytes(s: bytes | bytearray, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... |
36 |
| -def message_from_file(fp: IO[str], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... |
37 |
| -def message_from_binary_file(fp: IO[bytes], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... |
| 34 | +@overload |
| 35 | +def message_from_string(s: str) -> Message: ... |
| 36 | +@overload |
| 37 | +def message_from_string(s: str, _class: Callable[[], _MessageT]) -> _MessageT: ... |
| 38 | +@overload |
| 39 | +def message_from_string(s: str, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... |
| 40 | +@overload |
| 41 | +def message_from_bytes(s: bytes | bytearray) -> Message: ... |
| 42 | +@overload |
| 43 | +def message_from_bytes(s: bytes | bytearray, _class: Callable[[], _MessageT]) -> _MessageT: ... |
| 44 | +@overload |
| 45 | +def message_from_bytes( |
| 46 | + s: bytes | bytearray, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT] |
| 47 | +) -> _MessageT: ... |
| 48 | +@overload |
| 49 | +def message_from_file(fp: IO[str]) -> Message: ... |
| 50 | +@overload |
| 51 | +def message_from_file(fp: IO[str], _class: Callable[[], _MessageT]) -> _MessageT: ... |
| 52 | +@overload |
| 53 | +def message_from_file(fp: IO[str], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... |
| 54 | +@overload |
| 55 | +def message_from_binary_file(fp: IO[bytes]) -> Message: ... |
| 56 | +@overload |
| 57 | +def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT]) -> _MessageT: ... |
| 58 | +@overload |
| 59 | +def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ... |
0 commit comments