mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-08-01 21:50:21 +08:00
Make Mapping.get(default) more constrained (#14360)
This commit is contained in:
@@ -37,6 +37,8 @@ class RequestCookies(MutableMapping[str, str]):
|
||||
@overload
|
||||
def get(self, name: str, default: None = None) -> str | None: ...
|
||||
@overload
|
||||
def get(self, name: str, default: str) -> str: ...
|
||||
@overload
|
||||
def get(self, name: str, default: _T) -> str | _T: ...
|
||||
def __delitem__(self, name: str) -> None: ...
|
||||
def keys(self) -> KeysView[str]: ...
|
||||
|
||||
@@ -48,7 +48,9 @@ class MultiDict(MutableMapping[_KT, _VT]):
|
||||
def __setitem__(self, key: _KT, value: _VT) -> None: ...
|
||||
def add(self, key: _KT, value: _VT) -> None: ...
|
||||
@overload
|
||||
def get(self, key: _KT) -> _VT | None: ...
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _VT | _T: ...
|
||||
def getall(self, key: _KT) -> list[_VT]: ...
|
||||
|
||||
@@ -26,6 +26,8 @@ class LRI(dict[_KT, _VT]):
|
||||
@overload
|
||||
def get(self, key: _KT, default: None = None) -> _VT | None: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _VT) -> _VT: ...
|
||||
@overload
|
||||
def get(self, key: _KT, default: _T) -> _T | _VT: ...
|
||||
def __delitem__(self, key: _KT) -> None: ...
|
||||
@overload
|
||||
|
||||
@@ -435,7 +435,9 @@ class Metadata(Mapping[_MetadataKey, _MetadataValue]):
|
||||
def delete_all(self, key: _MetadataKey) -> None: ...
|
||||
def __iter__(self) -> Iterator[_MetadataKey]: ...
|
||||
@overload
|
||||
def get(self, key: _MetadataKey) -> _MetadataValue | None: ...
|
||||
def get(self, key: _MetadataKey, default: None = None) -> _MetadataValue | None: ...
|
||||
@overload
|
||||
def get(self, key: _MetadataKey, default: _MetadataValue) -> _MetadataValue: ...
|
||||
@overload
|
||||
def get(self, key: _MetadataKey, default: _T) -> _MetadataValue | _T: ...
|
||||
def get_all(self, key: _MetadataKey) -> list[_MetadataValue]: ...
|
||||
|
||||
@@ -69,7 +69,9 @@ class IniData(MutableMapping[str, str]):
|
||||
def to_dict(self) -> dict[str, str]: ...
|
||||
def __len__(self) -> int: ...
|
||||
@overload
|
||||
def get(self, name: str) -> str | None: ...
|
||||
def get(self, name: str, default: None = None) -> str | None: ...
|
||||
@overload
|
||||
def get(self, name: str, default: str) -> str: ...
|
||||
@overload
|
||||
def get(self, name: str, default: _T) -> str | _T: ...
|
||||
@overload
|
||||
|
||||
@@ -52,7 +52,10 @@ class CaseInsensitiveDict(dict[str, Incomplete]):
|
||||
def __contains__(self, k: object) -> bool: ...
|
||||
def __delitem__(self, k: str) -> None: ...
|
||||
def __getitem__(self, k: str): ...
|
||||
def get(self, k: str, default=None) -> Incomplete | None: ...
|
||||
@overload
|
||||
def get(self, k: str, default: None = None) -> Incomplete | None: ...
|
||||
@overload
|
||||
def get(self, k: str, default): ...
|
||||
def __setitem__(self, k: str, v) -> None: ...
|
||||
def update(self, *args, **kwargs) -> None: ...
|
||||
|
||||
|
||||
@@ -72,7 +72,9 @@ class ScalarMap(MutableMapping[_K, _ScalarV]):
|
||||
@overload
|
||||
def get(self, key: _K, default: None = None) -> _ScalarV | None: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _ScalarV | _T) -> _ScalarV | _T: ...
|
||||
def get(self, key: _K, default: _ScalarV) -> _ScalarV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _T) -> _ScalarV | _T: ...
|
||||
def setdefault(self, key: _K, value: _ScalarV | None = None) -> _ScalarV: ...
|
||||
def MergeFrom(self, other: Self): ...
|
||||
def InvalidateIterators(self) -> None: ...
|
||||
@@ -95,7 +97,9 @@ class MessageMap(MutableMapping[_K, _MessageV]):
|
||||
@overload
|
||||
def get(self, key: _K, default: None = None) -> _MessageV | None: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _MessageV | _T) -> _MessageV | _T: ...
|
||||
def get(self, key: _K, default: _MessageV) -> _MessageV: ...
|
||||
@overload
|
||||
def get(self, key: _K, default: _T) -> _MessageV | _T: ...
|
||||
def get_or_create(self, key: _K) -> _MessageV: ...
|
||||
def setdefault(self, key: _K, value: _MessageV | None = None) -> _MessageV: ...
|
||||
def MergeFrom(self, other: Self): ...
|
||||
|
||||
Reference in New Issue
Block a user