Format: application/octet-stream
⬇ Download File (1.6 KB)
   1  from typing import (
   2      Any,
   3      Container,
   4      Dict,
   5      Generic,
   6      Iterable,
   7      Iterator,
   8      List,
   9      Mapping,
  10      Optional,
  11      Sized,
  12      Tuple,
  13      TypeVar,
  14      Union,
  15      overload,
  16  )
  17  
  18  _KT = TypeVar("_KT")
  19  _VT = TypeVar("_VT")
  20  _T = TypeVar("_T")
  21  
  22  class UserDict(Dict[_KT, _VT], Generic[_KT, _VT]):
  23      data: Dict[_KT, _VT]
  24      def __init__(self, initialdata: Mapping[_KT, _VT] = ...) -> None: ...
  25      # TODO: __iter__ is not available for UserDict
  26  
  27  class IterableUserDict(UserDict[_KT, _VT], Generic[_KT, _VT]): ...
  28  
  29  class DictMixin(Iterable[_KT], Container[_KT], Sized, Generic[_KT, _VT]):
  30      def has_key(self, key: _KT) -> bool: ...
  31      def __len__(self) -> int: ...
  32      def __iter__(self) -> Iterator[_KT]: ...
  33      # From  typing.Mapping[_KT, _VT]
  34      # (can't inherit because of keys())
  35      @overload
  36      def get(self, k: _KT) -> Optional[_VT]: ...
  37      @overload
  38      def get(self, k: _KT, default: Union[_VT, _T]) -> Union[_VT, _T]: ...
  39      def values(self) -> List[_VT]: ...
  40      def items(self) -> List[Tuple[_KT, _VT]]: ...
  41      def iterkeys(self) -> Iterator[_KT]: ...
  42      def itervalues(self) -> Iterator[_VT]: ...
  43      def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...
  44      def __contains__(self, o: Any) -> bool: ...
  45      # From typing.MutableMapping[_KT, _VT]
  46      def clear(self) -> None: ...
  47      def pop(self, k: _KT, default: _VT = ...) -> _VT: ...
  48      def popitem(self) -> Tuple[_KT, _VT]: ...
  49      def setdefault(self, k: _KT, default: _VT = ...) -> _VT: ...
  50      @overload
  51      def update(self, m: Mapping[_KT, _VT], **kwargs: _VT) -> None: ...
  52      @overload
  53      def update(self, m: Iterable[Tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
  54