
    i                     R    S SK Jr  SSKJr  SSKJr   / SQrSr  S
S jr  SS	 jr	g)    )absolute_import   )Error)DirtyJSONLoader)loadloadsr   z&Scott Maxwell <scott@codecobblers.com>Nc                 :    [        U R                  5       XX4U5      $ )ap  Deserialize ``fp`` (a ``.read()``-supporting file-like object containing
a JSON document) to a Python object.

*encoding* determines the encoding used to interpret any
:class:`str` objects decoded by this instance (``'utf-8'`` by
default).  It has no effect when decoding :class:`unicode` objects.

Note that currently only encodings that are a superset of ASCII work,
strings of other encodings should be passed in as :class:`unicode`.

*parse_float*, if specified, will be called with the string of every
JSON float to be decoded.  By default, this is equivalent to
``float(num_str)``. This can be used to use another data type or parser
for JSON floats (e.g. :class:`decimal.Decimal`).

*parse_int*, if specified, will be called with the string of every
JSON int to be decoded.  By default, this is equivalent to
``int(num_str)``.  This can be used to use another data type or parser
for JSON integers (e.g. :class:`float`).

*parse_constant*, if specified, will be called with one of the
following strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``.  This
can be used to raise an exception if invalid JSON numbers are
encountered.
)r   read)fpencodingparse_float	parse_intparse_constantsearch_for_first_objects         L/home/james-whalen/.local/lib/python3.13/site-packages/dirtyjson/__init__.pyr   r   #   s     6 H9(* *    c                 >    [        XX#U5      nUR                  XV5      $ )ag  Deserialize ``s`` (a ``str`` or ``unicode`` instance containing a JSON
document) to a Python object.

*encoding* determines the encoding used to interpret any
:class:`str` objects decoded by this instance (``'utf-8'`` by
default).  It has no effect when decoding :class:`unicode` objects.

Note that currently only encodings that are a superset of ASCII work,
strings of other encodings should be passed in as :class:`unicode`.

*parse_float*, if specified, will be called with the string of every
JSON float to be decoded.  By default, this is equivalent to
``float(num_str)``. This can be used to use another data type or parser
for JSON floats (e.g. :class:`decimal.Decimal`).

*parse_int*, if specified, will be called with the string of every
JSON int to be decoded.  By default, this is equivalent to
``int(num_str)``.  This can be used to use another data type or parser
for JSON integers (e.g. :class:`float`).

*parse_constant*, if specified, will be called with one of the
following strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``.  This
can be used to raise an exception if invalid JSON numbers are
encountered.
)r   decode)sr   r   r   r   r   start_indexds           r   r   r   B   s"    6 	[^LA88+99r   )NNNNF)NNNNFr   )

__future__r   errorr   loaderr   __all__
__author__r   r    r   r   <module>r      s9    &  #2 %5
 9=6;*> 9=JK:r   