
    ^h%	                        S r SSKJr  SSKJrJrJr  SSKJr  SSKJ	r
  SSKJr  \" SS	S
9  SSKrSS jr " S S\R                  5      rg)z<JSON Formatter using [orjson](https://github.com/ijl/orjson)    )annotations)AnyOptionalCallable   )core)defaults)package_is_availableorjsonT)throw_errorNc                   [         R                  " U 5      (       a  [         R                  " U 5      $ [         R                  " U 5      (       a  [         R                  " U 5      $ [         R
                  " U 5      (       a  [         R                  " U 5      $ [         R                  " U 5      (       a  [         R                  " U 5      $ [         R                  " U 5      (       a  [         R                  " U 5      $ [         R                  " U 5      $ )z6orjson default encoder function for non-standard types)duse_exception_defaultexception_defaultuse_traceback_defaulttraceback_defaultuse_bytes_defaultbytes_defaultuse_enum_defaultenum_defaultuse_type_defaulttype_defaultunknown_default)objs    Q/home/james-whalen/.local/lib/python3.13/site-packages/pythonjsonlogger/orjson.pyorjson_defaultr      s    s##""3''s##""3''3s###~~c""#~~c""S!!    c                  N   ^  \ rS rSrSr\SS.     SU 4S jjjrSS jrSrU =r	$ )	OrjsonFormatter*   zJJSON formatter using [orjson](https://github.com/ijl/orjson) for encoding.F)json_defaultjson_indentc               >   > [         TU ]  " U0 UD6  Xl        X l        g)a  
Args:
    args: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
    json_default: a function for encoding non-standard objects
    json_indent: indent output with 2 spaces.
    kwargs: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
N)super__init__r!   r"   )selfr!   r"   argskwargs	__class__s        r   r%   OrjsonFormatter.__init__-   s&     	$)&)(&r   c                    [         R                  nU R                  (       a  U[         R                  -  n[         R                  " XR
                  US9R                  S5      $ )z&Returns a json string of the log data.)defaultoptionutf8)r   OPT_NON_STR_KEYSr"   OPT_INDENT_2dumpsr!   decode)r&   log_dataopts      r   jsonify_log_record"OrjsonFormatter.jsonify_log_recordA   sI    %%6&&&C||H.?.?LSSTZ[[r   )r!   zOptional[Callable]r"   boolreturnNone)r3   zcore.LogDatar8   str)
__name__
__module____qualname____firstlineno____doc__r   r%   r5   __static_attributes____classcell__)r)   s   @r   r   r   *   sB    T
 ,:!	 ) 	 
 (\ \r   r   )r   r   r8   r   )r?   
__future__r   typingr   r   r    r   r	   r   utilsr
   r   r   BaseJsonFormatterr    r   r   <module>rH      sH    B
 # + *
   ' X4 0 
""\d,, \r   