massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / coc-python-data / languageServer.0.5.59 / Typeshed / stdlib / 2and3 / hmac.pyi
diff --git a/.config/coc/extensions/coc-python-data/languageServer.0.5.59/Typeshed/stdlib/2and3/hmac.pyi b/.config/coc/extensions/coc-python-data/languageServer.0.5.59/Typeshed/stdlib/2and3/hmac.pyi
new file mode 100644 (file)
index 0000000..da4781a
--- /dev/null
@@ -0,0 +1,38 @@
+# Stubs for hmac\r
+\r
+from typing import Any, Callable, Optional, Union, overload, AnyStr\r
+from types import ModuleType\r
+import sys\r
+\r
+_B = Union[bytes, bytearray]\r
+\r
+# TODO more precise type for object of hashlib\r
+_Hash = Any\r
+\r
+digest_size: None\r
+\r
+if sys.version_info >= (3, 4):\r
+    def new(key: _B, msg: Optional[_B] = ...,\r
+            digestmod: Optional[Union[str, Callable[[], _Hash], ModuleType]] = ...) -> HMAC: ...\r
+else:\r
+    def new(key: _B, msg: Optional[_B] = ...,\r
+            digestmod: Optional[Union[Callable[[], _Hash], ModuleType]] = ...) -> HMAC: ...\r
+\r
+class HMAC:\r
+    if sys.version_info >= (3,):\r
+        digest_size = ...  # type: int\r
+    if sys.version_info >= (3, 4):\r
+        block_size = ...  # type: int\r
+        name = ...  # type: str\r
+    def update(self, msg: _B) -> None: ...\r
+    def digest(self) -> bytes: ...\r
+    def hexdigest(self) -> str: ...\r
+    def copy(self) -> HMAC: ...\r
+\r
+@overload\r
+def compare_digest(a: bytearray, b: bytearray) -> bool: ...\r
+@overload\r
+def compare_digest(a: AnyStr, b: AnyStr) -> bool: ...\r
+\r
+if sys.version_info >= (3, 7):\r
+    def digest(key: _B, msg: _B, digest: str) -> bytes: ...\r