mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 04:54:47 +08:00
Introduce _typeshed.GenericPath and _typeshed.AnyStr_co (#7970)
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import io
|
||||
import os
|
||||
import sys
|
||||
from _typeshed import Self, StrPath, WriteableBuffer
|
||||
from _typeshed import BytesPath, GenericPath, Self, StrPath, WriteableBuffer
|
||||
from collections.abc import Iterable, Iterator
|
||||
from types import TracebackType
|
||||
from typing import IO, Any, AnyStr, Generic, overload
|
||||
@@ -31,7 +30,6 @@ TMP_MAX: int
|
||||
tempdir: str | None
|
||||
template: str
|
||||
|
||||
_Dir: TypeAlias = AnyStr | os.PathLike[AnyStr]
|
||||
_StrMode: TypeAlias = Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"]
|
||||
_BytesMode: TypeAlias = Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"]
|
||||
|
||||
@@ -44,7 +42,7 @@ if sys.version_info >= (3, 8):
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
@@ -57,7 +55,7 @@ if sys.version_info >= (3, 8):
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
@@ -70,7 +68,7 @@ if sys.version_info >= (3, 8):
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
@@ -85,7 +83,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[str]: ...
|
||||
@overload
|
||||
@@ -96,7 +94,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[bytes]: ...
|
||||
@overload
|
||||
@@ -107,7 +105,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[Any]: ...
|
||||
|
||||
@@ -123,7 +121,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[str]: ...
|
||||
@@ -135,7 +133,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@@ -147,7 +145,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[Any]: ...
|
||||
@@ -160,7 +158,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
) -> IO[str]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
@@ -170,7 +168,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
@@ -180,7 +178,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
) -> IO[Any]: ...
|
||||
|
||||
class _TemporaryFileWrapper(Generic[AnyStr], IO[AnyStr]):
|
||||
@@ -367,14 +365,16 @@ class TemporaryDirectory(Generic[AnyStr]):
|
||||
self,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
dir: GenericPath[AnyStr] | None = ...,
|
||||
ignore_cleanup_errors: bool = ...,
|
||||
) -> None: ...
|
||||
else:
|
||||
@overload
|
||||
def __init__(self: TemporaryDirectory[str], suffix: None = ..., prefix: None = ..., dir: None = ...) -> None: ...
|
||||
@overload
|
||||
def __init__(self, suffix: AnyStr | None = ..., prefix: AnyStr | None = ..., dir: _Dir[AnyStr] | None = ...) -> None: ...
|
||||
def __init__(
|
||||
self, suffix: AnyStr | None = ..., prefix: AnyStr | None = ..., dir: GenericPath[AnyStr] | None = ...
|
||||
) -> None: ...
|
||||
|
||||
def cleanup(self) -> None: ...
|
||||
def __enter__(self) -> AnyStr: ...
|
||||
@@ -385,18 +385,18 @@ class TemporaryDirectory(Generic[AnyStr]):
|
||||
# The overloads overlap, but they should still work fine.
|
||||
@overload
|
||||
def mkstemp( # type: ignore[misc]
|
||||
suffix: str | None = ..., prefix: str | None = ..., dir: _Dir[str] | None = ..., text: bool = ...
|
||||
suffix: str | None = ..., prefix: str | None = ..., dir: StrPath | None = ..., text: bool = ...
|
||||
) -> tuple[int, str]: ...
|
||||
@overload
|
||||
def mkstemp(
|
||||
suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _Dir[bytes] | None = ..., text: bool = ...
|
||||
suffix: bytes | None = ..., prefix: bytes | None = ..., dir: BytesPath | None = ..., text: bool = ...
|
||||
) -> tuple[int, bytes]: ...
|
||||
|
||||
# The overloads overlap, but they should still work fine.
|
||||
@overload
|
||||
def mkdtemp(suffix: str | None = ..., prefix: str | None = ..., dir: _Dir[str] | None = ...) -> str: ... # type: ignore[misc]
|
||||
def mkdtemp(suffix: str | None = ..., prefix: str | None = ..., dir: StrPath | None = ...) -> str: ... # type: ignore[misc]
|
||||
@overload
|
||||
def mkdtemp(suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _Dir[bytes] | None = ...) -> bytes: ...
|
||||
def mkdtemp(suffix: bytes | None = ..., prefix: bytes | None = ..., dir: BytesPath | None = ...) -> bytes: ...
|
||||
def mktemp(suffix: str = ..., prefix: str = ..., dir: StrPath | None = ...) -> str: ...
|
||||
def gettempdirb() -> bytes: ...
|
||||
def gettempprefixb() -> bytes: ...
|
||||
|
||||
Reference in New Issue
Block a user