mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-05-06 21:43:59 +08:00
Add io.{Reader,Writer} (#14013)
This commit is contained in:
+14
-1
@@ -20,7 +20,7 @@ from _io import (
|
||||
open as open,
|
||||
open_code as open_code,
|
||||
)
|
||||
from typing import Final
|
||||
from typing import Final, Protocol, TypeVar
|
||||
|
||||
__all__ = [
|
||||
"BlockingIOError",
|
||||
@@ -44,11 +44,17 @@ __all__ = [
|
||||
"SEEK_END",
|
||||
]
|
||||
|
||||
if sys.version_info >= (3, 14):
|
||||
__all__ += ["Reader", "Writer"]
|
||||
|
||||
if sys.version_info >= (3, 11):
|
||||
from _io import text_encoding as text_encoding
|
||||
|
||||
__all__ += ["DEFAULT_BUFFER_SIZE", "IncrementalNewlineDecoder", "text_encoding"]
|
||||
|
||||
_T_co = TypeVar("_T_co", covariant=True)
|
||||
_T_contra = TypeVar("_T_contra", contravariant=True)
|
||||
|
||||
SEEK_SET: Final = 0
|
||||
SEEK_CUR: Final = 1
|
||||
SEEK_END: Final = 2
|
||||
@@ -58,3 +64,10 @@ class IOBase(_IOBase, metaclass=abc.ABCMeta): ...
|
||||
class RawIOBase(_RawIOBase, IOBase): ...
|
||||
class BufferedIOBase(_BufferedIOBase, IOBase): ...
|
||||
class TextIOBase(_TextIOBase, IOBase): ...
|
||||
|
||||
if sys.version_info >= (3, 14):
|
||||
class Reader(Protocol[_T_co]):
|
||||
def read(self, size: int = ..., /) -> _T_co: ...
|
||||
|
||||
class Writer(Protocol[_T_contra]):
|
||||
def write(self, data: _T_contra, /) -> int: ...
|
||||
|
||||
Reference in New Issue
Block a user