massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / itsdangerous / itsdangerous.pyi
1 from datetime import datetime
2 from typing import IO, Any, Callable, Generator, Mapping, MutableMapping, Text
3
4 _serializer = Any  # must be an object that has "dumps" and "loads" attributes (e.g. the json module)
5
6 def want_bytes(s: Text | bytes, encoding: Text = ..., errors: Text = ...) -> bytes: ...
7
8 class BadData(Exception):
9     message: str
10     def __init__(self, message: str) -> None: ...
11
12 class BadPayload(BadData):
13     original_error: Exception | None
14     def __init__(self, message: str, original_error: Exception | None = ...) -> None: ...
15
16 class BadSignature(BadData):
17     payload: Any | None
18     def __init__(self, message: str, payload: Any | None = ...) -> None: ...
19
20 class BadTimeSignature(BadSignature):
21     date_signed: int | None
22     def __init__(self, message: str, payload: Any | None = ..., date_signed: int | None = ...) -> None: ...
23
24 class BadHeader(BadSignature):
25     header: Any
26     original_error: Any
27     def __init__(
28         self, message: str, payload: Any | None = ..., header: Any | None = ..., original_error: Any | None = ...
29     ) -> None: ...
30
31 class SignatureExpired(BadTimeSignature): ...
32
33 def base64_encode(string: Text | bytes) -> bytes: ...
34 def base64_decode(string: Text | bytes) -> bytes: ...
35
36 class SigningAlgorithm(object):
37     def get_signature(self, key: bytes, value: bytes) -> bytes: ...
38     def verify_signature(self, key: bytes, value: bytes, sig: bytes) -> bool: ...
39
40 class NoneAlgorithm(SigningAlgorithm):
41     def get_signature(self, key: bytes, value: bytes) -> bytes: ...
42
43 class HMACAlgorithm(SigningAlgorithm):
44     default_digest_method: Callable[..., Any]
45     digest_method: Callable[..., Any]
46     def __init__(self, digest_method: Callable[..., Any] | None = ...) -> None: ...
47     def get_signature(self, key: bytes, value: bytes) -> bytes: ...
48
49 class Signer(object):
50     default_digest_method: Callable[..., Any] = ...
51     default_key_derivation: str = ...
52
53     secret_key: bytes
54     sep: bytes
55     salt: Text | bytes
56     key_derivation: str
57     digest_method: Callable[..., Any]
58     algorithm: SigningAlgorithm
59     def __init__(
60         self,
61         secret_key: Text | bytes,
62         salt: Text | bytes | None = ...,
63         sep: Text | bytes | None = ...,
64         key_derivation: str | None = ...,
65         digest_method: Callable[..., Any] | None = ...,
66         algorithm: SigningAlgorithm | None = ...,
67     ) -> None: ...
68     def derive_key(self) -> bytes: ...
69     def get_signature(self, value: Text | bytes) -> bytes: ...
70     def sign(self, value: Text | bytes) -> bytes: ...
71     def verify_signature(self, value: bytes, sig: Text | bytes) -> bool: ...
72     def unsign(self, signed_value: Text | bytes) -> bytes: ...
73     def validate(self, signed_value: Text | bytes) -> bool: ...
74
75 class TimestampSigner(Signer):
76     def get_timestamp(self) -> int: ...
77     def timestamp_to_datetime(self, ts: float) -> datetime: ...
78     def sign(self, value: Text | bytes) -> bytes: ...
79     def unsign(
80         self, value: Text | bytes, max_age: int | None = ..., return_timestamp: bool = ...
81     ) -> Any: ...  # morally -> bytes | Tuple[bytes, datetime]
82     def validate(self, signed_value: Text | bytes, max_age: int | None = ...) -> bool: ...
83
84 class Serializer(object):
85     default_serializer: _serializer = ...
86     default_signer: Callable[..., Signer] = ...
87
88     secret_key: bytes
89     salt: bytes
90     serializer: _serializer
91     is_text_serializer: bool
92     signer: Callable[..., Signer]
93     signer_kwargs: MutableMapping[str, Any]
94     def __init__(
95         self,
96         secret_key: Text | bytes,
97         salt: Text | bytes | None = ...,
98         serializer: _serializer | None = ...,
99         signer: Callable[..., Signer] | None = ...,
100         signer_kwargs: MutableMapping[str, Any] | None = ...,
101     ) -> None: ...
102     def load_payload(self, payload: bytes, serializer: _serializer | None = ...) -> Any: ...
103     def dump_payload(self, obj: Any) -> bytes: ...
104     def make_signer(self, salt: Text | bytes | None = ...) -> Signer: ...
105     def iter_unsigners(self, salt: Text | bytes | None = ...) -> Generator[Any, None, None]: ...
106     def dumps(self, obj: Any, salt: Text | bytes | None = ...) -> Any: ...  # morally -> str | bytes
107     def dump(self, obj: Any, f: IO[Any], salt: Text | bytes | None = ...) -> None: ...
108     def loads(self, s: Text | bytes, salt: Text | bytes | None = ...) -> Any: ...
109     def load(self, f: IO[Any], salt: Text | bytes | None = ...) -> Any: ...
110     def loads_unsafe(self, s: Text | bytes, salt: Text | bytes | None = ...) -> tuple[bool, Any | None]: ...
111     def load_unsafe(self, f: IO[Any], salt: Text | bytes | None = ...) -> tuple[bool, Any | None]: ...
112
113 class TimedSerializer(Serializer):
114     def loads(
115         self, s: Text | bytes, salt: Text | bytes | None = ..., max_age: int | None = ..., return_timestamp: bool = ...
116     ) -> Any: ...  # morally -> Any | Tuple[Any, datetime]
117     def loads_unsafe(self, s: Text | bytes, salt: Text | bytes | None = ..., max_age: int | None = ...) -> tuple[bool, Any]: ...
118
119 class JSONWebSignatureSerializer(Serializer):
120     jws_algorithms: MutableMapping[Text, SigningAlgorithm] = ...
121     default_algorithm: Text = ...
122     default_serializer: Any = ...
123
124     algorithm_name: Text
125     algorithm: SigningAlgorithm
126     def __init__(
127         self,
128         secret_key: Text | bytes,
129         salt: Text | bytes | None = ...,
130         serializer: _serializer | None = ...,
131         signer: Callable[..., Signer] | None = ...,
132         signer_kwargs: MutableMapping[str, Any] | None = ...,
133         algorithm_name: Text | None = ...,
134     ) -> None: ...
135     def load_payload(
136         self, payload: Text | bytes, serializer: _serializer | None = ..., return_header: bool = ...
137     ) -> Any: ...  # morally -> Any | Tuple[Any, MutableMapping[str, Any]]
138     def dump_payload(self, header: Mapping[str, Any], obj: Any) -> bytes: ...  # type: ignore
139     def make_algorithm(self, algorithm_name: Text) -> SigningAlgorithm: ...
140     def make_signer(self, salt: Text | bytes | None = ..., algorithm: SigningAlgorithm = ...) -> Signer: ...
141     def make_header(self, header_fields: Mapping[str, Any] | None) -> MutableMapping[str, Any]: ...
142     def dumps(self, obj: Any, salt: Text | bytes | None = ..., header_fields: Mapping[str, Any] | None = ...) -> bytes: ...
143     def loads(
144         self, s: Text | bytes, salt: Text | bytes | None = ..., return_header: bool = ...
145     ) -> Any: ...  # morally -> Any | Tuple[Any, MutableMapping[str, Any]]
146     def loads_unsafe(self, s: Text | bytes, salt: Text | bytes | None = ..., return_header: bool = ...) -> tuple[bool, Any]: ...
147
148 class TimedJSONWebSignatureSerializer(JSONWebSignatureSerializer):
149     DEFAULT_EXPIRES_IN: int = ...
150     expires_in: int
151     def __init__(
152         self,
153         secret_key: Text | bytes,
154         expires_in: int | None = ...,
155         salt: Text | bytes | None = ...,
156         serializer: _serializer | None = ...,
157         signer: Callable[..., Signer] | None = ...,
158         signer_kwargs: MutableMapping[str, Any] | None = ...,
159         algorithm_name: Text | None = ...,
160     ) -> None: ...
161     def make_header(self, header_fields: Mapping[str, Any] | None) -> MutableMapping[str, Any]: ...
162     def loads(
163         self, s: Text | bytes, salt: Text | bytes | None = ..., return_header: bool = ...
164     ) -> Any: ...  # morally -> Any | Tuple[Any, MutableMapping[str, Any]]
165     def get_issue_date(self, header: Mapping[str, Any]) -> datetime | None: ...
166     def now(self) -> int: ...
167
168 class _URLSafeSerializerMixin(object):
169     default_serializer: _serializer = ...
170     def load_payload(self, payload: bytes, serializer: _serializer | None = ...) -> Any: ...
171     def dump_payload(self, obj: Any) -> bytes: ...
172
173 class URLSafeSerializer(_URLSafeSerializerMixin, Serializer): ...
174 class URLSafeTimedSerializer(_URLSafeSerializerMixin, TimedSerializer): ...