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 110 111 112 113 114 115 116 117 118
|
from collections.abc import Iterable
from typing import (
Any,
Callable,
Dict,
Generic,
Iterable,
Literal,
Optional,
Tuple,
Type,
TypeVar,
Union,
overload,
)
from typing_extensions import Buffer
T = TypeVar("T")
enc_hook_sig = Optional[Callable[[Any], Any]]
dec_hook_sig = Optional[Callable[[type, Any], Any]]
float_hook_sig = Optional[Callable[[str], Any]]
schema_hook_sig = Optional[Callable[[type], dict[str, Any]]]
class Encoder:
enc_hook: enc_hook_sig
decimal_format: Literal["string", "number"]
uuid_format: Literal["canonical", "hex"]
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"] = "canonical",
order: Literal[None, "deterministic", "sorted"] = None,
): ...
def encode(self, obj: Any, /) -> bytes: ...
def encode_lines(self, items: Iterable, /) -> bytes: ...
def encode_into(
self, obj: Any, buffer: bytearray, offset: Optional[int] = 0, /
) -> None: ...
class Decoder(Generic[T]):
type: Type[T]
strict: bool
dec_hook: dec_hook_sig
float_hook: float_hook_sig
@overload
def __init__(
self: Decoder[Any],
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
float_hook: float_hook_sig = None,
) -> None: ...
@overload
def __init__(
self: Decoder[T],
type: Type[T] = ...,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
float_hook: float_hook_sig = None,
) -> None: ...
@overload
def __init__(
self: Decoder[Any],
type: Any = ...,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
float_hook: float_hook_sig = None,
) -> None: ...
def decode(self, buf: Union[Buffer, str], /) -> T: ...
def decode_lines(self, buf: Union[Buffer, str], /) -> list[T]: ...
@overload
def decode(
buf: Union[Buffer, str],
/,
*,
strict: bool = True,
dec_hook: dec_hook_sig = None,
) -> Any: ...
@overload
def decode(
buf: Union[Buffer, str],
/,
*,
type: Type[T] = ...,
strict: bool = True,
dec_hook: dec_hook_sig = None,
) -> T: ...
@overload
def decode(
buf: Union[Buffer, str],
/,
*,
type: Any = ...,
strict: bool = True,
dec_hook: dec_hook_sig = None,
) -> Any: ...
def encode(obj: Any, /, *, enc_hook: enc_hook_sig = None, order: Literal[None, "deterministic", "sorted"] = None) -> bytes: ...
def schema(type: Any, *, schema_hook: schema_hook_sig = None) -> Dict[str, Any]: ...
def schema_components(
types: Iterable[Any],
*,
schema_hook: schema_hook_sig = None,
ref_template: str = "#/$defs/{name}"
) -> Tuple[Tuple[Dict[str, Any], ...], Dict[str, Any]]: ...
@overload
def format(buf: str, /, *, indent: int = 2) -> str: ...
@overload
def format(buf: Buffer, /, *, indent: int = 2) -> bytes: ...
|