
    `i%	                        d Z ddlmZ ddlmZmZmZ ddlmZ ddlm	Z
 ddlmZ  edd	
           ddlZddZ G d dej                  ZdS )z<JSON Formatter using [orjson](https://github.com/ijl/orjson)    )annotations)AnyOptionalCallable   )core)defaults)package_is_availableorjsonT)throw_errorNobjr   returnc                   t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j	        |           rt          j
        |           S t          j        |           S )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)r   s    k/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pythonjsonlogger/orjson.pyorjson_defaultr      s    s## ("3'''s## ("3'''3 $s#### #~c"""# #~c"""S!!!    c                  4     e Zd ZdZeddd fd
ZddZ xZS )OrjsonFormatterzJJSON formatter using [orjson](https://github.com/ijl/orjson) for encoding.F)json_defaultjson_indentr!   Optional[Callable]r"   boolr   Nonec               V     t                      j        |i | || _        || _        dS )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(   zOrjsonFormatter.__init__-   s6     	$)&)))(&r   log_datacore.LogDatastrc                    t           j        }| j        r|t           j        z  }t          j        || j        |                              d          S )z&Returns a json string of the log data.)defaultoptionutf8)r   OPT_NON_STR_KEYSr"   OPT_INDENT_2dumpsr!   decode)r)   r-   opts      r   jsonify_log_recordz"OrjsonFormatter.jsonify_log_recordA   sK    % 	'6&&C|Hd.?LLLSSTZ[[[r   )r!   r#   r"   r$   r   r%   )r-   r.   r   r/   )__name__
__module____qualname____doc__r   r(   r9   __classcell__)r,   s   @r   r    r    *   sq        TT
 ,:!	       (\ \ \ \ \ \ \ \r   r    )r   r   r   r   )r=   
__future__r   typingr   r   r    r   r	   r   utilsr
   r   r   BaseJsonFormatterr     r   r   <module>rE      s    B B
 # " " " " " + * * * * * * * * *
             ' ' ' ' ' '  X4 0 0 0 0 
" " " ""\ \ \ \ \d, \ \ \ \ \r   