massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / aiofiles / aiofiles / threadpool / __init__.pyi
1 from _typeshed import (
2     OpenBinaryMode,
3     OpenBinaryModeReading,
4     OpenBinaryModeUpdating,
5     OpenBinaryModeWriting,
6     OpenTextMode,
7     StrOrBytesPath,
8 )
9 from asyncio import AbstractEventLoop
10 from typing import Any, Callable, Union, overload
11 from typing_extensions import Literal
12
13 from ..base import AiofilesContextManager
14 from .binary import AsyncBufferedIOBase, AsyncBufferedReader, AsyncFileIO, _UnknownAsyncBinaryIO
15 from .text import AsyncTextIOWrapper
16
17 _OpenFile = Union[StrOrBytesPath, int]
18 _Opener = Callable[[str, int], int]
19
20 # Text mode: always returns AsyncTextIOWrapper
21 @overload
22 def open(
23     file: _OpenFile,
24     mode: OpenTextMode = ...,
25     buffering: int = ...,
26     encoding: str | None = ...,
27     errors: str | None = ...,
28     newline: str | None = ...,
29     closefd: bool = ...,
30     opener: _Opener | None = ...,
31     *,
32     loop: AbstractEventLoop | None = ...,
33     executor: Any | None = ...,
34 ) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
35
36 # Unbuffered binary: returns a FileIO
37 @overload
38 def open(
39     file: _OpenFile,
40     mode: OpenBinaryMode,
41     buffering: Literal[0],
42     encoding: None = ...,
43     errors: None = ...,
44     newline: None = ...,
45     closefd: bool = ...,
46     opener: _Opener | None = ...,
47     *,
48     loop: AbstractEventLoop | None = ...,
49     executor: Any | None = ...,
50 ) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
51
52 # Buffered binary reading/updating: AsyncBufferedReader
53 @overload
54 def open(
55     file: _OpenFile,
56     mode: OpenBinaryModeReading | OpenBinaryModeUpdating,
57     buffering: Literal[-1, 1] = ...,
58     encoding: None = ...,
59     errors: None = ...,
60     newline: None = ...,
61     closefd: bool = ...,
62     opener: _Opener | None = ...,
63     *,
64     loop: AbstractEventLoop | None = ...,
65     executor: Any | None = ...,
66 ) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
67
68 # Buffered binary writing: AsyncBufferedIOBase
69 @overload
70 def open(
71     file: _OpenFile,
72     mode: OpenBinaryModeWriting,
73     buffering: Literal[-1, 1] = ...,
74     encoding: None = ...,
75     errors: None = ...,
76     newline: None = ...,
77     closefd: bool = ...,
78     opener: _Opener | None = ...,
79     *,
80     loop: AbstractEventLoop | None = ...,
81     executor: Any | None = ...,
82 ) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
83
84 # Buffering cannot be determined: fall back to _UnknownAsyncBinaryIO
85 @overload
86 def open(
87     file: _OpenFile,
88     mode: OpenBinaryMode,
89     buffering: int,
90     encoding: None = ...,
91     errors: None = ...,
92     newline: None = ...,
93     closefd: bool = ...,
94     opener: _Opener | None = ...,
95     *,
96     loop: AbstractEventLoop | None = ...,
97     executor: Any | None = ...,
98 ) -> AiofilesContextManager[None, None, _UnknownAsyncBinaryIO]: ...