Skip to content

Commit

Permalink
Remove _Val alias for MultiValueDict so that generic evaluate (#36)
Browse files Browse the repository at this point in the history
* remove _Val alias for MultiValueDict so that generic evaluate

* fix multivaluedict init argument
  • Loading branch information
mkurnikov authored Mar 5, 2019
1 parent 18c908b commit 1d2c7fb
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions django-stubs/utils/datastructures.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,11 @@ from typing import (
Union,
overload,
Iterator,
Optional,
)

from typing_extensions import Literal

_K = TypeVar("_K")
_V = TypeVar("_V")

Expand All @@ -27,24 +30,22 @@ class OrderedSet(MutableSet[_K]):

class MultiValueDictKeyError(KeyError): ...

_Val = Union[_V, List[_V]]

class MultiValueDict(MutableMapping[_K, _V]):
@overload
def __init__(self, key_to_list_mapping: Iterable[Tuple[_K, _Val]] = ...) -> None: ...
def __init__(self, key_to_list_mapping: Mapping[_K, Optional[List[_V]]] = ...) -> None: ...
@overload
def __init__(self, key_to_list_mapping: Mapping[_K, _Val] = ...) -> None: ...
def __init__(self, key_to_list_mapping: Iterable[Tuple[_K, List[_V]]] = ...) -> None: ...
def getlist(self, key: _K, default: List[_V] = None) -> List[_V]: ...
def setlist(self, key: _K, list_: List[_V]) -> None: ...
def setlistdefault(self, key: _K, default_list: List[_V] = None) -> List[_V]: ...
def appendlist(self, key: _K, value: _V) -> None: ...
def lists(self) -> Iterable[Tuple[_K, List[_V]]]: ...
def dict(self) -> Dict[_K, _Val]: ...
def dict(self) -> Dict[_K, Union[_V, List[_V]]]: ...
def copy(self) -> MultiValueDict[_K, _V]: ...
# These overrides are needed to convince mypy that this isn't an abstract class
def __delitem__(self, item: _K) -> None: ...
def __getitem__(self, item: _K) -> _Val: ... # type: ignore
def __setitem__(self, k: _K, v: _Val) -> None: ...
def __getitem__(self, item: _K) -> Union[_V, Literal[[]]]: ... # type: ignore
def __setitem__(self, k: _K, v: Union[_V, List[_V]]) -> None: ...
def __len__(self) -> int: ...
def __iter__(self) -> Iterator[_K]: ...

Expand Down

0 comments on commit 1d2c7fb

Please sign in to comment.