mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 05:24:52 +08:00
Use PEP 585 syntax in Python 2, protobuf & _ast stubs, where possible (#6949)
This commit is contained in:
@@ -1,23 +1,7 @@
|
||||
import types
|
||||
from _typeshed import Self
|
||||
from abc import abstractmethod
|
||||
from typing import (
|
||||
IO,
|
||||
Any,
|
||||
BinaryIO,
|
||||
Callable,
|
||||
Generator,
|
||||
Iterable,
|
||||
Iterator,
|
||||
List,
|
||||
Protocol,
|
||||
Text,
|
||||
TextIO,
|
||||
Tuple,
|
||||
Type,
|
||||
Union,
|
||||
overload,
|
||||
)
|
||||
from typing import IO, Any, BinaryIO, Callable, Generator, Iterable, Iterator, Protocol, Text, TextIO, Union, overload
|
||||
from typing_extensions import Literal
|
||||
|
||||
# TODO: this only satisfies the most common interface, where
|
||||
@@ -30,10 +14,10 @@ _Decoded = Text
|
||||
_Encoded = bytes
|
||||
|
||||
class _Encoder(Protocol):
|
||||
def __call__(self, input: _Decoded, errors: str = ...) -> Tuple[_Encoded, int]: ... # signature of Codec().encode
|
||||
def __call__(self, input: _Decoded, errors: str = ...) -> tuple[_Encoded, int]: ... # signature of Codec().encode
|
||||
|
||||
class _Decoder(Protocol):
|
||||
def __call__(self, input: _Encoded, errors: str = ...) -> Tuple[_Decoded, int]: ... # signature of Codec().decode
|
||||
def __call__(self, input: _Encoded, errors: str = ...) -> tuple[_Decoded, int]: ... # signature of Codec().decode
|
||||
|
||||
class _StreamReader(Protocol):
|
||||
def __call__(self, stream: IO[_Encoded], errors: str = ...) -> StreamReader: ...
|
||||
@@ -83,10 +67,10 @@ def decode(obj: _Encoded, encoding: str = ..., errors: str = ...) -> _Decoded: .
|
||||
def lookup(__encoding: str) -> CodecInfo: ...
|
||||
def utf_16_be_decode(
|
||||
__data: _Encoded, __errors: str | None = ..., __final: bool = ...
|
||||
) -> Tuple[_Decoded, int]: ... # undocumented
|
||||
def utf_16_be_encode(__str: _Decoded, __errors: str | None = ...) -> Tuple[_Encoded, int]: ... # undocumented
|
||||
) -> tuple[_Decoded, int]: ... # undocumented
|
||||
def utf_16_be_encode(__str: _Decoded, __errors: str | None = ...) -> tuple[_Encoded, int]: ... # undocumented
|
||||
|
||||
class CodecInfo(Tuple[_Encoder, _Decoder, _StreamReader, _StreamWriter]):
|
||||
class CodecInfo(tuple[_Encoder, _Decoder, _StreamReader, _StreamWriter]):
|
||||
@property
|
||||
def encode(self) -> _Encoder: ...
|
||||
@property
|
||||
@@ -141,19 +125,19 @@ BOM_UTF32_LE: bytes
|
||||
# It is expected that different actions be taken depending on which of the
|
||||
# three subclasses of `UnicodeError` is actually ...ed. However, the Union
|
||||
# is still needed for at least one of the cases.
|
||||
def register_error(__errors: str, __handler: Callable[[UnicodeError], Tuple[str | bytes, int]]) -> None: ...
|
||||
def lookup_error(__name: str) -> Callable[[UnicodeError], Tuple[str | bytes, int]]: ...
|
||||
def strict_errors(exception: UnicodeError) -> Tuple[str | bytes, int]: ...
|
||||
def replace_errors(exception: UnicodeError) -> Tuple[str | bytes, int]: ...
|
||||
def ignore_errors(exception: UnicodeError) -> Tuple[str | bytes, int]: ...
|
||||
def xmlcharrefreplace_errors(exception: UnicodeError) -> Tuple[str | bytes, int]: ...
|
||||
def backslashreplace_errors(exception: UnicodeError) -> Tuple[str | bytes, int]: ...
|
||||
def register_error(__errors: str, __handler: Callable[[UnicodeError], tuple[str | bytes, int]]) -> None: ...
|
||||
def lookup_error(__name: str) -> Callable[[UnicodeError], tuple[str | bytes, int]]: ...
|
||||
def strict_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...
|
||||
def replace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...
|
||||
def ignore_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...
|
||||
def xmlcharrefreplace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...
|
||||
def backslashreplace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...
|
||||
|
||||
class Codec:
|
||||
# These are sort of @abstractmethod but sort of not.
|
||||
# The StreamReader and StreamWriter subclasses only implement one.
|
||||
def encode(self, input: _Decoded, errors: str = ...) -> Tuple[_Encoded, int]: ...
|
||||
def decode(self, input: _Encoded, errors: str = ...) -> Tuple[_Decoded, int]: ...
|
||||
def encode(self, input: _Decoded, errors: str = ...) -> tuple[_Encoded, int]: ...
|
||||
def decode(self, input: _Encoded, errors: str = ...) -> tuple[_Decoded, int]: ...
|
||||
|
||||
class IncrementalEncoder:
|
||||
errors: str
|
||||
@@ -171,8 +155,8 @@ class IncrementalDecoder:
|
||||
@abstractmethod
|
||||
def decode(self, input: _Encoded, final: bool = ...) -> _Decoded: ...
|
||||
def reset(self) -> None: ...
|
||||
def getstate(self) -> Tuple[_Encoded, int]: ...
|
||||
def setstate(self, state: Tuple[_Encoded, int]) -> None: ...
|
||||
def getstate(self) -> tuple[_Encoded, int]: ...
|
||||
def setstate(self, state: tuple[_Encoded, int]) -> None: ...
|
||||
|
||||
# These are not documented but used in encodings/*.py implementations.
|
||||
class BufferedIncrementalEncoder(IncrementalEncoder):
|
||||
@@ -186,7 +170,7 @@ class BufferedIncrementalDecoder(IncrementalDecoder):
|
||||
buffer: bytes
|
||||
def __init__(self, errors: str = ...) -> None: ...
|
||||
@abstractmethod
|
||||
def _buffer_decode(self, input: _Encoded, errors: str, final: bool) -> Tuple[_Decoded, int]: ...
|
||||
def _buffer_decode(self, input: _Encoded, errors: str, final: bool) -> tuple[_Decoded, int]: ...
|
||||
def decode(self, input: _Encoded, final: bool = ...) -> _Decoded: ...
|
||||
|
||||
# TODO: it is not possible to specify the requirement that all other
|
||||
@@ -198,7 +182,7 @@ class StreamWriter(Codec):
|
||||
def writelines(self, list: Iterable[_Decoded]) -> None: ...
|
||||
def reset(self) -> None: ...
|
||||
def __enter__(self: Self) -> Self: ...
|
||||
def __exit__(self, typ: Type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __exit__(self, typ: type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __getattr__(self, name: str, getattr: Callable[[str], Any] = ...) -> Any: ...
|
||||
|
||||
class StreamReader(Codec):
|
||||
@@ -206,10 +190,10 @@ class StreamReader(Codec):
|
||||
def __init__(self, stream: IO[_Encoded], errors: str = ...) -> None: ...
|
||||
def read(self, size: int = ..., chars: int = ..., firstline: bool = ...) -> _Decoded: ...
|
||||
def readline(self, size: int | None = ..., keepends: bool = ...) -> _Decoded: ...
|
||||
def readlines(self, sizehint: int | None = ..., keepends: bool = ...) -> List[_Decoded]: ...
|
||||
def readlines(self, sizehint: int | None = ..., keepends: bool = ...) -> list[_Decoded]: ...
|
||||
def reset(self) -> None: ...
|
||||
def __enter__(self: Self) -> Self: ...
|
||||
def __exit__(self, typ: Type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __exit__(self, typ: type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __iter__(self) -> Iterator[_Decoded]: ...
|
||||
def __getattr__(self, name: str, getattr: Callable[[str], Any] = ...) -> Any: ...
|
||||
|
||||
@@ -219,7 +203,7 @@ class StreamReaderWriter(TextIO):
|
||||
def __init__(self, stream: IO[_Encoded], Reader: _StreamReader, Writer: _StreamWriter, errors: str = ...) -> None: ...
|
||||
def read(self, size: int = ...) -> _Decoded: ...
|
||||
def readline(self, size: int | None = ...) -> _Decoded: ...
|
||||
def readlines(self, sizehint: int | None = ...) -> List[_Decoded]: ...
|
||||
def readlines(self, sizehint: int | None = ...) -> list[_Decoded]: ...
|
||||
def next(self) -> Text: ...
|
||||
def __iter__(self: Self) -> Self: ...
|
||||
# This actually returns None, but that's incompatible with the supertype
|
||||
@@ -229,7 +213,7 @@ class StreamReaderWriter(TextIO):
|
||||
# Same as write()
|
||||
def seek(self, offset: int, whence: int = ...) -> int: ...
|
||||
def __enter__(self: Self) -> Self: ...
|
||||
def __exit__(self, typ: Type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __exit__(self, typ: type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __getattr__(self, name: str) -> Any: ...
|
||||
# These methods don't actually exist directly, but they are needed to satisfy the TextIO
|
||||
# interface. At runtime, they are delegated through __getattr__.
|
||||
@@ -255,7 +239,7 @@ class StreamRecoder(BinaryIO):
|
||||
) -> None: ...
|
||||
def read(self, size: int = ...) -> bytes: ...
|
||||
def readline(self, size: int | None = ...) -> bytes: ...
|
||||
def readlines(self, sizehint: int | None = ...) -> List[bytes]: ...
|
||||
def readlines(self, sizehint: int | None = ...) -> list[bytes]: ...
|
||||
def next(self) -> bytes: ...
|
||||
def __iter__(self: Self) -> Self: ...
|
||||
def write(self, data: bytes) -> int: ...
|
||||
@@ -263,7 +247,7 @@ class StreamRecoder(BinaryIO):
|
||||
def reset(self) -> None: ...
|
||||
def __getattr__(self, name: str) -> Any: ...
|
||||
def __enter__(self: Self) -> Self: ...
|
||||
def __exit__(self, type: Type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
def __exit__(self, type: type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...
|
||||
# These methods don't actually exist directly, but they are needed to satisfy the BinaryIO
|
||||
# interface. At runtime, they are delegated through __getattr__.
|
||||
def seek(self, offset: int, whence: int = ...) -> int: ...
|
||||
|
||||
Reference in New Issue
Block a user