
    h5	                        S r SSKJr  SSK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   )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    jC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\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               h   > [         TU ]  " U0 UD6  [        R                  " U5      U 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   str_to_objectr   r    )selfr   r    argskwargs	__class__s        r   r#   OrjsonFormatter.__init__-   s3     	$)&) ..|<&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 record.)defaultoptionutf8)r	   OPT_NON_STR_KEYSr    OPT_INDENT_2dumpsr   decode)r%   
log_recordopts      r   jsonify_log_record"OrjsonFormatter.jsonify_log_recordA   sI    %%6&&&C||J0A0A#NUUV\]]r   )r   zcore.OptionalCallableOrStrr    boolreturnNone)r2   zcore.LogRecordr7   str)
__name__
__module____qualname____firstlineno____doc__r   r#   r4   __static_attributes____classcell__)r(   s   @r   r   r   *   sC    T
 4B!	 1 	 
 (^ ^r   r   )r   r   r7   r   )r>   
__future__r   typingr    r   r   r   utilsr   r	   r   BaseJsonFormatterr    r   r   <module>rG      sE    B
 # 
   ' X4 0 
""^d,, ^r   