diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/jiter/__init__.pyi')
-rw-r--r-- | .venv/lib/python3.12/site-packages/jiter/__init__.pyi | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/jiter/__init__.pyi b/.venv/lib/python3.12/site-packages/jiter/__init__.pyi new file mode 100644 index 00000000..928fa751 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/jiter/__init__.pyi @@ -0,0 +1,70 @@ +import decimal +from typing import Any, Literal + +def from_json( + json_data: bytes, + /, + *, + allow_inf_nan: bool = True, + cache_mode: Literal[True, False, "all", "keys", "none"] = "all", + partial_mode: Literal[True, False, "off", "on", "trailing-strings"] = False, + catch_duplicate_keys: bool = False, + float_mode: Literal["float", "decimal", "lossless-float"] = False, +) -> Any: + """ + Parse input bytes into a JSON object. + + Arguments: + json_data: The JSON data to parse + allow_inf_nan: Whether to allow infinity (`Infinity` an `-Infinity`) and `NaN` values to float fields. + Defaults to True. + cache_mode: cache Python strings to improve performance at the cost of some memory usage + - True / 'all' - cache all strings + - 'keys' - cache only object keys + - False / 'none' - cache nothing + partial_mode: How to handle incomplete strings: + - False / 'off' - raise an exception if the input is incomplete + - True / 'on' - allow incomplete JSON but discard the last string if it is incomplete + - 'trailing-strings' - allow incomplete JSON, and include the last incomplete string in the output + catch_duplicate_keys: if True, raise an exception if objects contain the same key multiple times + float_mode: How to return floats: as a `float`, `Decimal` or `LosslessFloat` + + Returns: + Python object built from the JSON input. + """ + +def cache_clear() -> None: + """ + Reset the string cache. + """ + +def cache_usage() -> int: + """ + get the size of the string cache. + + Returns: + Size of the string cache in bytes. + """ + + +class LosslessFloat: + """ + Represents a float from JSON, by holding the underlying bytes representing a float from JSON. + """ + def __init__(self, json_float: bytes): + """Construct a LosslessFloat object from a JSON bytes slice""" + + def as_decimal(self) -> decimal.Decimal: + """Construct a Python Decimal from the JSON bytes slice""" + + def __float__(self) -> float: + """Construct a Python float from the JSON bytes slice""" + + def __bytes__(self) -> bytes: + """Return the JSON bytes slice as bytes""" + + def __str__(self): + """Return the JSON bytes slice as a string""" + + def __repr__(self): + ... |