mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 05:24:52 +08:00
Use MaybeNone (alias to Any) when applicable (#12855)
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from _typeshed import MaybeNone
|
||||
from collections.abc import Generator, Iterator, Sequence
|
||||
from email import _ParamsType, _ParamType
|
||||
from email.charset import Charset
|
||||
@@ -42,17 +43,17 @@ class Message(Generic[_HeaderT, _HeaderParamT]):
|
||||
def get_unixfrom(self) -> str | None: ...
|
||||
def attach(self, payload: _PayloadType) -> None: ...
|
||||
# `i: int` without a multipart payload results in an error
|
||||
# `| Any`: can be None for cleared or unset payload, but annoying to check
|
||||
# `| MaybeNone` acts like `| Any`: can be None for cleared or unset payload, but annoying to check
|
||||
@overload # multipart
|
||||
def get_payload(self, i: int, decode: Literal[True]) -> None: ...
|
||||
@overload # multipart
|
||||
def get_payload(self, i: int, decode: Literal[False] = False) -> _PayloadType | Any: ...
|
||||
def get_payload(self, i: int, decode: Literal[False] = False) -> _PayloadType | MaybeNone: ...
|
||||
@overload # either
|
||||
def get_payload(self, i: None = None, decode: Literal[False] = False) -> _PayloadType | _MultipartPayloadType | Any: ...
|
||||
def get_payload(self, i: None = None, decode: Literal[False] = False) -> _PayloadType | _MultipartPayloadType | MaybeNone: ...
|
||||
@overload # not multipart
|
||||
def get_payload(self, i: None = None, *, decode: Literal[True]) -> _EncodedPayloadType | Any: ...
|
||||
def get_payload(self, i: None = None, *, decode: Literal[True]) -> _EncodedPayloadType | MaybeNone: ...
|
||||
@overload # not multipart, IDEM but w/o kwarg
|
||||
def get_payload(self, i: None, decode: Literal[True]) -> _EncodedPayloadType | Any: ...
|
||||
def get_payload(self, i: None, decode: Literal[True]) -> _EncodedPayloadType | MaybeNone: ...
|
||||
# If `charset=None` and payload supports both `encode` AND `decode`,
|
||||
# then an invalid payload could be passed, but this is unlikely
|
||||
# Not[_SupportsEncodeToPayload]
|
||||
@@ -75,7 +76,7 @@ class Message(Generic[_HeaderT, _HeaderParamT]):
|
||||
# This is important for protocols using __getitem__, like SupportsKeysAndGetItem
|
||||
# Morally, the return type should be `AnyOf[_HeaderType, None]`,
|
||||
# so using "the Any trick" instead.
|
||||
def __getitem__(self, name: str) -> _HeaderT | Any: ...
|
||||
def __getitem__(self, name: str) -> _HeaderT | MaybeNone: ...
|
||||
def __setitem__(self, name: str, val: _HeaderParamT) -> None: ...
|
||||
def __delitem__(self, name: str) -> None: ...
|
||||
def keys(self) -> list[str]: ...
|
||||
|
||||
Reference in New Issue
Block a user