]>
Commit | Line | Data |
---|---|---|
1 | from collections.abc import Callable | |
2 | from collections.abc import Hashable | |
3 | from collections.abc import Iterable | |
4 | from typing import Any | |
5 | from typing import NoReturn | |
6 | from typing import overload | |
7 | from typing import SupportsIndex | |
8 | from typing import TypeVar | |
9 | ||
10 | from _typeshed import SupportsKeysAndGetItem | |
11 | ||
12 | from .headers import Headers | |
13 | ||
14 | K = TypeVar("K") | |
15 | T = TypeVar("T") | |
16 | V = TypeVar("V") | |
17 | ||
18 | def is_immutable(self: object) -> NoReturn: ... | |
19 | ||
20 | class ImmutableListMixin(list[V]): | |
21 | _hash_cache: int | None | |
22 | def __hash__(self) -> int: ... # type: ignore | |
23 | def __delitem__(self, key: SupportsIndex | slice) -> NoReturn: ... | |
24 | def __iadd__(self, other: t.Any) -> NoReturn: ... # type: ignore | |
25 | def __imul__(self, other: SupportsIndex) -> NoReturn: ... | |
26 | def __setitem__(self, key: int | slice, value: V) -> NoReturn: ... # type: ignore | |
27 | def append(self, value: V) -> NoReturn: ... | |
28 | def remove(self, value: V) -> NoReturn: ... | |
29 | def extend(self, values: Iterable[V]) -> NoReturn: ... | |
30 | def insert(self, pos: SupportsIndex, value: V) -> NoReturn: ... | |
31 | def pop(self, index: SupportsIndex = -1) -> NoReturn: ... | |
32 | def reverse(self) -> NoReturn: ... | |
33 | def sort( | |
34 | self, key: Callable[[V], Any] | None = None, reverse: bool = False | |
35 | ) -> NoReturn: ... | |
36 | ||
37 | class ImmutableDictMixin(dict[K, V]): | |
38 | _hash_cache: int | None | |
39 | @classmethod | |
40 | def fromkeys( # type: ignore | |
41 | cls, keys: Iterable[K], value: V | None = None | |
42 | ) -> ImmutableDictMixin[K, V]: ... | |
43 | def _iter_hashitems(self) -> Iterable[Hashable]: ... | |
44 | def __hash__(self) -> int: ... # type: ignore | |
45 | def setdefault(self, key: K, default: V | None = None) -> NoReturn: ... | |
46 | def update(self, *args: Any, **kwargs: V) -> NoReturn: ... | |
47 | def pop(self, key: K, default: V | None = None) -> NoReturn: ... # type: ignore | |
48 | def popitem(self) -> NoReturn: ... | |
49 | def __setitem__(self, key: K, value: V) -> NoReturn: ... | |
50 | def __delitem__(self, key: K) -> NoReturn: ... | |
51 | def clear(self) -> NoReturn: ... | |
52 | ||
53 | class ImmutableMultiDictMixin(ImmutableDictMixin[K, V]): | |
54 | def _iter_hashitems(self) -> Iterable[Hashable]: ... | |
55 | def add(self, key: K, value: V) -> NoReturn: ... | |
56 | def popitemlist(self) -> NoReturn: ... | |
57 | def poplist(self, key: K) -> NoReturn: ... | |
58 | def setlist(self, key: K, new_list: Iterable[V]) -> NoReturn: ... | |
59 | def setlistdefault( | |
60 | self, key: K, default_list: Iterable[V] | None = None | |
61 | ) -> NoReturn: ... | |
62 | ||
63 | class ImmutableHeadersMixin(Headers): | |
64 | def __delitem__(self, key: Any, _index_operation: bool = True) -> NoReturn: ... | |
65 | def __setitem__(self, key: Any, value: Any) -> NoReturn: ... | |
66 | def set(self, _key: Any, _value: Any, **kw: Any) -> NoReturn: ... | |
67 | def setlist(self, key: Any, values: Any) -> NoReturn: ... | |
68 | def add(self, _key: Any, _value: Any, **kw: Any) -> NoReturn: ... | |
69 | def add_header(self, _key: Any, _value: Any, **_kw: Any) -> NoReturn: ... | |
70 | def remove(self, key: Any) -> NoReturn: ... | |
71 | def extend(self, *args: Any, **kwargs: Any) -> NoReturn: ... | |
72 | def update(self, *args: Any, **kwargs: Any) -> NoReturn: ... | |
73 | def insert(self, pos: Any, value: Any) -> NoReturn: ... | |
74 | def pop(self, key: Any = None, default: Any = ...) -> NoReturn: ... | |
75 | def popitem(self) -> NoReturn: ... | |
76 | def setdefault(self, key: Any, default: Any) -> NoReturn: ... | |
77 | def setlistdefault(self, key: Any, default: Any) -> NoReturn: ... | |
78 | ||
79 | def _calls_update(name: str) -> Callable[[UpdateDictMixin[K, V]], Any]: ... | |
80 | ||
81 | class UpdateDictMixin(dict[K, V]): | |
82 | on_update: Callable[[UpdateDictMixin[K, V] | None, None], None] | |
83 | def setdefault(self, key: K, default: V | None = None) -> V: ... | |
84 | @overload | |
85 | def pop(self, key: K) -> V: ... | |
86 | @overload | |
87 | def pop(self, key: K, default: V | T = ...) -> V | T: ... | |
88 | def __setitem__(self, key: K, value: V) -> None: ... | |
89 | def __delitem__(self, key: K) -> None: ... | |
90 | def clear(self) -> None: ... | |
91 | def popitem(self) -> tuple[K, V]: ... | |
92 | @overload | |
93 | def update(self, __m: SupportsKeysAndGetItem[K, V], **kwargs: V) -> None: ... | |
94 | @overload | |
95 | def update(self, __m: Iterable[tuple[K, V]], **kwargs: V) -> None: ... | |
96 | @overload | |
97 | def update(self, **kwargs: V) -> None: ... |