Skip to content

Commit a0e2f8a

Browse files
committed
remove _Val alias for MultiValueDict so that generic evaluate
1 parent 9e4ed70 commit a0e2f8a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

django-stubs/utils/datastructures.pyi

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ from typing import (
1414
Iterator,
1515
)
1616

17+
from typing_extensions import Literal
18+
1719
_K = TypeVar("_K")
1820
_V = TypeVar("_V")
1921

@@ -27,24 +29,22 @@ class OrderedSet(MutableSet[_K]):
2729

2830
class MultiValueDictKeyError(KeyError): ...
2931

30-
_Val = Union[_V, List[_V]]
31-
3232
class MultiValueDict(MutableMapping[_K, _V]):
3333
@overload
34-
def __init__(self, key_to_list_mapping: Iterable[Tuple[_K, _Val]] = ...) -> None: ...
34+
def __init__(self, key_to_list_mapping: Iterable[Tuple[_K, Union[_V, List[_V]]]] = ...) -> None: ...
3535
@overload
36-
def __init__(self, key_to_list_mapping: Mapping[_K, _Val] = ...) -> None: ...
36+
def __init__(self, key_to_list_mapping: Mapping[_K, Union[_V, List[_V]]] = ...) -> None: ...
3737
def getlist(self, key: _K, default: List[_V] = None) -> List[_V]: ...
3838
def setlist(self, key: _K, list_: List[_V]) -> None: ...
3939
def setlistdefault(self, key: _K, default_list: List[_V] = None) -> List[_V]: ...
4040
def appendlist(self, key: _K, value: _V) -> None: ...
4141
def lists(self) -> Iterable[Tuple[_K, List[_V]]]: ...
42-
def dict(self) -> Dict[_K, _Val]: ...
42+
def dict(self) -> Dict[_K, Union[_V, List[_V]]]: ...
4343
def copy(self) -> MultiValueDict[_K, _V]: ...
4444
# These overrides are needed to convince mypy that this isn't an abstract class
4545
def __delitem__(self, item: _K) -> None: ...
46-
def __getitem__(self, item: _K) -> _Val: ... # type: ignore
47-
def __setitem__(self, k: _K, v: _Val) -> None: ...
46+
def __getitem__(self, item: _K) -> Union[_V, Literal[[]]]: ... # type: ignore
47+
def __setitem__(self, k: _K, v: Union[_V, List[_V]]) -> None: ...
4848
def __len__(self) -> int: ...
4949
def __iter__(self) -> Iterator[_K]: ...
5050

0 commit comments

Comments
 (0)