massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / bz2.pyi
1 import _compression
2 import sys
3 from _compression import BaseStream
4 from _typeshed import ReadableBuffer, Self, StrOrBytesPath, WriteableBuffer
5 from typing import IO, Any, Iterable, Protocol, TextIO, TypeVar, overload
6 from typing_extensions import Literal, SupportsIndex, final
7
8 # The following attributes and methods are optional:
9 # def fileno(self) -> int: ...
10 # def close(self) -> object: ...
11 class _ReadableFileobj(_compression._Reader, Protocol): ...
12
13 class _WritableFileobj(Protocol):
14     def write(self, __b: bytes) -> object: ...
15     # The following attributes and methods are optional:
16     # def fileno(self) -> int: ...
17     # def close(self) -> object: ...
18
19 _T = TypeVar("_T")
20
21 def compress(data: bytes, compresslevel: int = ...) -> bytes: ...
22 def decompress(data: bytes) -> bytes: ...
23
24 _ReadBinaryMode = Literal["", "r", "rb"]
25 _WriteBinaryMode = Literal["w", "wb", "x", "xb", "a", "ab"]
26 _ReadTextMode = Literal["rt"]
27 _WriteTextMode = Literal["wt", "xt", "at"]
28
29 @overload
30 def open(
31     filename: _ReadableFileobj,
32     mode: _ReadBinaryMode = ...,
33     compresslevel: int = ...,
34     encoding: None = ...,
35     errors: None = ...,
36     newline: None = ...,
37 ) -> BZ2File: ...
38 @overload
39 def open(
40     filename: _ReadableFileobj,
41     mode: _ReadTextMode,
42     compresslevel: int = ...,
43     encoding: str | None = ...,
44     errors: str | None = ...,
45     newline: str | None = ...,
46 ) -> TextIO: ...
47 @overload
48 def open(
49     filename: _WritableFileobj,
50     mode: _WriteBinaryMode,
51     compresslevel: int = ...,
52     encoding: None = ...,
53     errors: None = ...,
54     newline: None = ...,
55 ) -> BZ2File: ...
56 @overload
57 def open(
58     filename: _WritableFileobj,
59     mode: _WriteTextMode,
60     compresslevel: int = ...,
61     encoding: str | None = ...,
62     errors: str | None = ...,
63     newline: str | None = ...,
64 ) -> TextIO: ...
65 @overload
66 def open(
67     filename: StrOrBytesPath,
68     mode: _ReadBinaryMode | _WriteBinaryMode = ...,
69     compresslevel: int = ...,
70     encoding: None = ...,
71     errors: None = ...,
72     newline: None = ...,
73 ) -> BZ2File: ...
74 @overload
75 def open(
76     filename: StrOrBytesPath,
77     mode: _ReadTextMode | _WriteTextMode,
78     compresslevel: int = ...,
79     encoding: str | None = ...,
80     errors: str | None = ...,
81     newline: str | None = ...,
82 ) -> TextIO: ...
83
84 class BZ2File(BaseStream, IO[bytes]):
85     def __enter__(self: Self) -> Self: ...
86     if sys.version_info >= (3, 9):
87         @overload
88         def __init__(self, filename: _WritableFileobj, mode: _WriteBinaryMode, *, compresslevel: int = ...) -> None: ...
89         @overload
90         def __init__(self, filename: _ReadableFileobj, mode: _ReadBinaryMode = ..., *, compresslevel: int = ...) -> None: ...
91         @overload
92         def __init__(
93             self, filename: StrOrBytesPath, mode: _ReadBinaryMode | _WriteBinaryMode = ..., *, compresslevel: int = ...
94         ) -> None: ...
95     else:
96         @overload
97         def __init__(
98             self, filename: _WritableFileobj, mode: _WriteBinaryMode, buffering: Any | None = ..., compresslevel: int = ...
99         ) -> None: ...
100         @overload
101         def __init__(
102             self, filename: _ReadableFileobj, mode: _ReadBinaryMode = ..., buffering: Any | None = ..., compresslevel: int = ...
103         ) -> None: ...
104         @overload
105         def __init__(
106             self,
107             filename: StrOrBytesPath,
108             mode: _ReadBinaryMode | _WriteBinaryMode = ...,
109             buffering: Any | None = ...,
110             compresslevel: int = ...,
111         ) -> None: ...
112     def read(self, size: int | None = ...) -> bytes: ...
113     def read1(self, size: int = ...) -> bytes: ...
114     def readline(self, size: SupportsIndex = ...) -> bytes: ...  # type: ignore
115     def readinto(self, b: WriteableBuffer) -> int: ...
116     def readlines(self, size: SupportsIndex = ...) -> list[bytes]: ...
117     def seek(self, offset: int, whence: int = ...) -> int: ...
118     def write(self, data: ReadableBuffer) -> int: ...
119     def writelines(self, seq: Iterable[ReadableBuffer]) -> None: ...
120
121 @final
122 class BZ2Compressor(object):
123     def __init__(self, compresslevel: int = ...) -> None: ...
124     def compress(self, __data: bytes) -> bytes: ...
125     def flush(self) -> bytes: ...
126
127 @final
128 class BZ2Decompressor(object):
129     def decompress(self, data: bytes, max_length: int = ...) -> bytes: ...
130     @property
131     def eof(self) -> bool: ...
132     @property
133     def needs_input(self) -> bool: ...
134     @property
135     def unused_data(self) -> bytes: ...