
    ^ha                        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)zCJSON Formatter using [`msgspec`](https://github.com/jcrist/msgspec)    )annotations)AnyOptionalCallable   )core)defaults)package_is_availablemsgspecT)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      $ )z7msgspec default encoder function for non-standard types)
duse_exception_defaultexception_defaultuse_traceback_defaulttraceback_defaultuse_enum_defaultenum_defaultuse_type_defaulttype_defaultunknown_default)objs    R/home/james-whalen/.local/lib/python3.13/site-packages/pythonjsonlogger/msgspec.pymsgspec_defaultr      s    s##""3''s##""3''#~~c""#~~c""S!!    c                  H   ^  \ rS rSrSr\S.   SU 4S jjjrSS jrSrU =r	$ )	MsgspecFormatter(   zzJSON formatter using [`msgspec.json.Encoder`](https://jcristharif.com/msgspec/api.html#msgspec.json.Encoder) for encoding.)json_defaultc                  > [         TU ]  " U0 UD6  Xl        [        R                  R                  U R                  S9U l        g)z
Args:
    args: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
    json_default: a function for encoding non-standard objects
    kwargs: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
)enc_hookN)super__init__r   r   jsonEncoder_encoder)selfr   argskwargs	__class__s       r   r#   MsgspecFormatter.__init__+   s?     	$)&)(,,d6G6G,Hr   c                V    U R                   R                  U5      R                  S5      $ )z&Returns a json string of the log data.utf8)r&   encodedecode)r'   log_datas     r   jsonify_log_record#MsgspecFormatter.jsonify_log_record=   s"    }}##H-44V<<r   )r&   r   )r   zOptional[Callable]returnNone)r0   zcore.LogDatar3   str)
__name__
__module____qualname____firstlineno____doc__r   r#   r1   __static_attributes____classcell__)r*   s   @r   r   r   (   s6     E
 ,; )
 
 $= =r   r   )r   r   r3   r   )r:   
__future__r   typingr   r   r    r   r	   r   utilsr
   msgspec.jsonr   r   BaseJsonFormatterr    r   r   <module>rD      sF    I
 # + *
   ' YD 1 

"=t-- =r   