mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-22 20:01:30 +08:00
integrate stubs from mypy-django
This commit is contained in:
57
django-stubs/utils/datastructures.pyi
Normal file
57
django-stubs/utils/datastructures.pyi
Normal file
@@ -0,0 +1,57 @@
|
||||
# Stubs for django.utils.datastructures (Python 3.5)
|
||||
|
||||
from collections import OrderedDict
|
||||
|
||||
from typing import (Any, Callable, Dict, Generic, Hashable, Iterable, Iterator, List, Mapping,
|
||||
MutableMapping, MutableSet, Optional, overload, Tuple, TypeVar, Union)
|
||||
|
||||
KT = TypeVar('KT')
|
||||
VT = TypeVar('VT')
|
||||
|
||||
class OrderedSet(MutableSet[KT], Generic[KT]):
|
||||
dict = ... # type: OrderedDict[KT, None]
|
||||
def __init__(self, iterable: Iterable[KT]=None) -> None: ...
|
||||
def add(self, item: KT) -> None: ...
|
||||
def remove(self, item: KT) -> None: ...
|
||||
def discard(self, item: KT) -> None: ...
|
||||
|
||||
class MultiValueDictKeyError(KeyError): ...
|
||||
|
||||
class MultiValueDict(MutableMapping[KT, VT], Generic[KT, VT]):
|
||||
def __init__(self, key_to_list_mapping: Iterable[Tuple[KT, List[VT]]]=...) -> None: ...
|
||||
def __copy__(self) -> 'MultiValueDict[KT, VT]': ...
|
||||
def __deepcopy__(self, memo: Dict[int, object]) -> 'MultiValueDict[KT, VT]': ...
|
||||
def __getitem__(self, key: KT) -> Union[VT, List[VT]]: ... # type: ignore
|
||||
def pop(self, key: KT, default: List[VT]=None) -> List[VT]: ... # type: ignore
|
||||
def __getstate__(self) -> Dict[str, Any]: ...
|
||||
def __setstate__(self, obj_dict: Dict[str, Any]) -> None: ...
|
||||
def get(self, key: KT, default: VT=None) -> Union[Optional[VT], List[VT]]: ... # type: ignore
|
||||
def getlist(self, key: KT, default: List[VT]=None) -> List[VT]: ...
|
||||
def setlist(self, key: KT, list_: List[VT]) -> None: ...
|
||||
def setlistdefault(self, key: KT, default_list: List[VT]=None) -> List[VT]: ...
|
||||
def appendlist(self, key: KT, value: VT) -> None: ...
|
||||
def lists(self) -> Iterable[Tuple[KT, List[VT]]]: ...
|
||||
def copy(self) -> 'MultiValueDict[KT, VT]': ...
|
||||
@overload # type: ignore
|
||||
def update(self, args: Mapping[KT, VT]) -> None: ...
|
||||
@overload
|
||||
def update(self, *args: Mapping[KT, VT], **kwargs: Iterable[Tuple[KT, VT]]) -> None: ... # type: ignore
|
||||
def dict(self) -> Dict[KT, Union[VT, List[VT]]]: ...
|
||||
|
||||
# These overrides are needed to convince mypy that this isn't an abstract class
|
||||
def __delitem__(self, k: KT) -> None: ...
|
||||
def __setitem__(self, k: KT, v: VT) -> None: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __iter__(self) -> Iterator[KT]: ...
|
||||
|
||||
class ImmutableList(Tuple[VT, ...], Generic[VT]):
|
||||
warning = ... # type: str
|
||||
def complain(self, *wargs: Any, **kwargs: Any) -> None: ...
|
||||
|
||||
class DictWrapper(Dict[str, VT], Generic[VT]):
|
||||
func = ... # type: Callable[[VT], VT]
|
||||
prefix = ... # type: str
|
||||
@overload
|
||||
def __init__(self, data: Mapping[str, VT], func: Callable[[VT], VT], prefix: str) -> None: ...
|
||||
@overload
|
||||
def __init__(self, data: Iterable[Tuple[str, VT]], func: Callable[[VT], VT], prefix: str) -> None: ...
|
||||
Reference in New Issue
Block a user