aboutsummaryrefslogtreecommitdiff
path: root/immutables/_map.pyi
diff options
context:
space:
mode:
Diffstat (limited to 'immutables/_map.pyi')
-rw-r--r--immutables/_map.pyi73
1 files changed, 73 insertions, 0 deletions
diff --git a/immutables/_map.pyi b/immutables/_map.pyi
new file mode 100644
index 0000000..4590cd4
--- /dev/null
+++ b/immutables/_map.pyi
@@ -0,0 +1,73 @@
+from typing import Any
+from typing import Dict
+from typing import Generic
+from typing import Iterable
+from typing import Iterator
+from typing import Mapping
+from typing import Optional
+from typing import Tuple
+from typing import Type
+from typing import Union
+from typing import overload
+
+from ._protocols import IterableItems
+from ._protocols import MapItems
+from ._protocols import MapKeys
+from ._protocols import MapMutation
+from ._protocols import MapValues
+from ._protocols import HT
+from ._protocols import KT
+from ._protocols import T
+from ._protocols import VT_co
+
+
+class Map(Mapping[KT, VT_co]):
+ @overload
+ def __init__(self) -> None: ...
+ @overload
+ def __init__(self: Map[str, VT_co], **kw: VT_co) -> None: ...
+ @overload
+ def __init__(
+ self, __col: Union[IterableItems[KT, VT_co], Iterable[Tuple[KT, VT_co]]]
+ ) -> None: ...
+ @overload
+ def __init__(
+ self: Map[Union[KT, str], VT_co],
+ __col: Union[IterableItems[KT, VT_co], Iterable[Tuple[KT, VT_co]]],
+ **kw: VT_co
+ ) -> None: ...
+ def __reduce__(self) -> Tuple[Type[Map[KT, VT_co]], Tuple[Dict[KT, VT_co]]]: ...
+ def __len__(self) -> int: ...
+ def __eq__(self, other: Any) -> bool: ...
+ @overload
+ def update(
+ self,
+ __col: Union[IterableItems[KT, VT_co], Iterable[Tuple[KT, VT_co]]]
+ ) -> Map[KT, VT_co]: ...
+ @overload
+ def update(
+ self: Map[Union[HT, str], Any],
+ __col: Union[IterableItems[KT, VT_co], Iterable[Tuple[KT, VT_co]]],
+ **kw: VT_co # type: ignore[misc]
+ ) -> Map[KT, VT_co]: ...
+ @overload
+ def update(
+ self: Map[Union[HT, str], Any],
+ **kw: VT_co # type: ignore[misc]
+ ) -> Map[KT, VT_co]: ...
+ def mutate(self) -> MapMutation[KT, VT_co]: ...
+ def set(self, key: KT, val: VT_co) -> Map[KT, VT_co]: ... # type: ignore[misc]
+ def delete(self, key: KT) -> Map[KT, VT_co]: ...
+ @overload
+ def get(self, key: KT) -> Optional[VT_co]: ...
+ @overload
+ def get(self, key: KT, default: Union[VT_co, T]) -> Union[VT_co, T]: ...
+ def __getitem__(self, key: KT) -> VT_co: ...
+ def __contains__(self, key: Any) -> bool: ...
+ def __iter__(self) -> Iterator[KT]: ...
+ def keys(self) -> MapKeys[KT]: ... # type: ignore[override]
+ def values(self) -> MapValues[VT_co]: ... # type: ignore[override]
+ def items(self) -> MapItems[KT, VT_co]: ... # type: ignore[override]
+ def __hash__(self) -> int: ...
+ def __dump__(self) -> str: ...
+ def __class_getitem__(cls, item: Any) -> Type[Map[Any, Any]]: ...