1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
from typing import (
Any,
Callable,
Generic,
Literal,
Optional,
Type,
TypeVar,
Union,
overload,
)
from typing_extensions import Buffer
T = TypeVar("T")
enc_hook_sig = Optional[Callable[[Any], Any]]
ext_hook_sig = Optional[Callable[[int, memoryview], Any]]
dec_hook_sig = Optional[Callable[[type, Any], Any]]
class Ext:
code: int
data: Union[bytes, bytearray, memoryview]
def __init__(
self, code: int, data: Union[bytes, bytearray, memoryview]
) -> None: ...
class Decoder(Generic[T]):
type: Type[T]
strict: bool
dec_hook: dec_hook_sig
ext_hook: ext_hook_sig
@overload
def __init__(
self: Decoder[Any],
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> None: ...
@overload
def __init__(
self: Decoder[T],
type: Type[T] = ...,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> None: ...
@overload
def __init__(
self: Decoder[Any],
type: Any = ...,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> None: ...
def decode(self, buf: Buffer, /) -> T: ...
class Encoder:
enc_hook: enc_hook_sig
decimal_format: Literal["string", "number"]
uuid_format: Literal["canonical", "hex", "bytes"]
order: Literal[None, "deterministic", "sorted"]
def __init__(
self,
*,
enc_hook: enc_hook_sig = None,
decimal_format: Literal["string", "number"] = "string",
uuid_format: Literal["canonical", "hex", "bytes"] = "canonical",
order: Literal[None, "deterministic", "sorted"] = None,
): ...
def encode(self, obj: Any, /) -> bytes: ...
def encode_into(
self, obj: Any, buffer: bytearray, offset: Optional[int] = 0, /
) -> None: ...
@overload
def decode(
buf: Buffer,
/,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> Any: ...
@overload
def decode(
buf: Buffer,
/,
*,
type: Type[T] = ...,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> T: ...
@overload
def decode(
buf: Buffer,
/,
*,
type: Any = ...,
strict: bool = True,
dec_hook: dec_hook_sig = None,
ext_hook: ext_hook_sig = None,
) -> Any: ...
def encode(obj: Any, /, *, enc_hook: enc_hook_sig = None, order: Literal[None, "deterministic", "sorted"] = None) -> bytes: ...
|