massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / weakref.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/weakref.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/weakref.pyi
new file mode 100644 (file)
index 0000000..dbb6b49
--- /dev/null
@@ -0,0 +1,87 @@
+from _weakrefset import WeakSet as WeakSet
+from typing import Any, Callable, Generic, Iterable, Iterator, Mapping, MutableMapping, Tuple, Type, TypeVar, overload
+
+from _weakref import (
+    CallableProxyType as CallableProxyType,
+    ProxyType as ProxyType,
+    ReferenceType as ReferenceType,
+    getweakrefcount as getweakrefcount,
+    getweakrefs as getweakrefs,
+    proxy as proxy,
+    ref as ref,
+)
+
+_S = TypeVar("_S")
+_T = TypeVar("_T")
+_KT = TypeVar("_KT")
+_VT = TypeVar("_VT")
+_CallableT = TypeVar("_CallableT", bound=Callable[..., Any])
+
+ProxyTypes: Tuple[Type[Any], ...]
+
+class WeakMethod(ref[_CallableT], Generic[_CallableT]):
+    def __new__(cls, meth: _CallableT, callback: Callable[[_CallableT], object] | None = ...) -> WeakMethod[_CallableT]: ...
+    def __call__(self) -> _CallableT | None: ...
+
+class WeakValueDictionary(MutableMapping[_KT, _VT]):
+    @overload
+    def __init__(self) -> None: ...
+    @overload
+    def __init__(self, __other: Mapping[_KT, _VT] | Iterable[tuple[_KT, _VT]], **kwargs: _VT) -> None: ...
+    def __len__(self) -> int: ...
+    def __getitem__(self, k: _KT) -> _VT: ...
+    def __setitem__(self, k: _KT, v: _VT) -> None: ...
+    def __delitem__(self, v: _KT) -> None: ...
+    def __contains__(self, o: object) -> bool: ...
+    def __iter__(self) -> Iterator[_KT]: ...
+    def __str__(self) -> str: ...
+    def copy(self) -> WeakValueDictionary[_KT, _VT]: ...
+    # These are incompatible with Mapping
+    def keys(self) -> Iterator[_KT]: ...  # type: ignore
+    def values(self) -> Iterator[_VT]: ...  # type: ignore
+    def items(self) -> Iterator[tuple[_KT, _VT]]: ...  # type: ignore
+    def itervaluerefs(self) -> Iterator[KeyedRef[_KT, _VT]]: ...
+    def valuerefs(self) -> list[KeyedRef[_KT, _VT]]: ...
+    def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...
+    @overload
+    def pop(self, key: _KT) -> _VT: ...
+    @overload
+    def pop(self, key: _KT, default: _VT | _T = ...) -> _VT | _T: ...
+
+class KeyedRef(ref[_T], Generic[_KT, _T]):
+    key: _KT
+    # This __new__ method uses a non-standard name for the "cls" parameter
+    def __new__(type, ob: _T, callback: Callable[[_T], Any], key: _KT) -> KeyedRef[_KT, _T]: ...  # type: ignore
+    def __init__(self, ob: _T, callback: Callable[[_T], Any], key: _KT) -> None: ...
+
+class WeakKeyDictionary(MutableMapping[_KT, _VT]):
+    @overload
+    def __init__(self, dict: None = ...) -> None: ...
+    @overload
+    def __init__(self, dict: Mapping[_KT, _VT] | Iterable[tuple[_KT, _VT]]) -> None: ...
+    def __len__(self) -> int: ...
+    def __getitem__(self, k: _KT) -> _VT: ...
+    def __setitem__(self, k: _KT, v: _VT) -> None: ...
+    def __delitem__(self, v: _KT) -> None: ...
+    def __contains__(self, o: object) -> bool: ...
+    def __iter__(self) -> Iterator[_KT]: ...
+    def __str__(self) -> str: ...
+    def copy(self) -> WeakKeyDictionary[_KT, _VT]: ...
+    # These are incompatible with Mapping
+    def keys(self) -> Iterator[_KT]: ...  # type: ignore
+    def values(self) -> Iterator[_VT]: ...  # type: ignore
+    def items(self) -> Iterator[tuple[_KT, _VT]]: ...  # type: ignore
+    def keyrefs(self) -> list[ref[_KT]]: ...
+    def setdefault(self, key: _KT, default: _VT = ...) -> _VT: ...
+    @overload
+    def pop(self, key: _KT) -> _VT: ...
+    @overload
+    def pop(self, key: _KT, default: _VT | _T = ...) -> _VT | _T: ...
+
+class finalize:
+    def __init__(self, __obj: object, __func: Callable[..., Any], *args: Any, **kwargs: Any) -> None: ...
+    def __call__(self, _: Any = ...) -> Any | None: ...
+    def detach(self) -> tuple[Any, Any, Tuple[Any, ...], dict[str, Any]] | None: ...
+    def peek(self) -> tuple[Any, Any, Tuple[Any, ...], dict[str, Any]] | None: ...
+    alive: bool
+    atexit: bool