koichi12's picture
Add files using upload-large-folder tool
b84b7c2 verified
raw
history blame
2.64 kB
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: ...