
    Ph                     f   d dl Z d dlmZ d dlmZmZmZmZmZ d dl	m
Z d dlmZmZmZmZ d dlmZmZ  ed      Z G d d	      Z G d
 d      Z e       Z G d de      Zddddddddddee   dee   dee   dee   deeegef   edf   deeeef      dee   deeegef      deeef   fdZy)    N)Enum)CallableDictOptionalTypeVarUnion)Field)	camelcase
pascalcase	snakecase
spinalcase)	UndefinedUndefinedParameterErrorTc                   J    e Zd ZU dZd Zeegef   ed<   d Z	eegef   ed<   y)Excludezd
    Pre-defined constants for exclusion. By default, fields are configured to
    be included.
    c                      y)NT _s    N/var/www/html/saasai/venv/lib/python3.12/site-packages/dataclasses_json/cfg.py<lambda>zExclude.<lambda>   s        ALWAYSc                      y)NFr   r   s    r   r   zExclude.<lambda>   s    r   NEVERN)
__name__
__module____qualname____doc__r   r   objectbool__annotations__r   r   r   r   r   r      s3     (6FHfXt^$5&5E8VHdN#5r   r   c                       e Zd Zd Zy)_GlobalConfigc                 .    i | _         i | _        i | _        y N)encodersdecoders	mm_fields)selfs    r   __init__z_GlobalConfig.__init__   s    EGEG  	r   N)r   r   r   r,   r   r   r   r%   r%      s    r   r%   c                       e Zd ZeZeZeZe	Z
y)
LetterCaseN)r   r   r   r
   CAMELr   KEBABr   SNAKEr   PASCALr   r   r   r.   r.   2   s    EEEFr   r.   )encoderdecodermm_fieldletter_case	undefined
field_nameexcludemetadatar3   r4   r5   r6   r7   r8   r9   returnc                   | i } | j                  di       }|||d<   |||d<   |||d<   |(|t        j                  |      ||fd       }	n|fd}	|	}|||d<   |nt        |t              rYt        t        |j                               s$t        d t        D              }
t        d	|
       t        |j                            }||d
<   |||d<   | S )Ndataclasses_jsonr3   r4   r5   c                      ||      S r'   r   )r   _letter_case_field_names      r   overridezconfig.<locals>.overrideT   s    #K00r   c                     |S r'   r   )r   r@   s     r   rA   zconfig.<locals>.overrideX   s    ""r   r6   c              3   4   K   | ]  }|j                     y wr'   )name).0actions     r   	<genexpr>zconfig.<locals>.<genexpr>c   s     $IyVV[[ys   z3Invalid undefined parameter action, must be one of r7   r9   )

setdefault	functoolswraps
isinstancestrhasattrr   upperlistr   )r:   r3   r4   r5   r6   r7   r8   r9   lib_metadatarA   valid_actionss              r   configrR   9   s    &&'92>L")Y")Y#+Z "__[))4* 1 *1 )3 #&1]#i%9ioo&78 $$Iy$I I-&&3_67 7 ")//"34I$-[!")YOr   r'   )rI   enumr   typingr   r   r   r   r   marshmallow.fieldsr	   MarshmallowFielddataclasses_json.stringcaser
   r   r   r   dataclasses_json.undefinedr   r   r   r   r%   global_configr.   dictrL   r"   rR   r   r   r   <module>r[      s      ; ; 85 5 ICL6 6 .  5 *.)-26HL8<'+485Xd^ 5 X&5 X&	5
 ./5 hucz2JDE5 uS)^455  }5 Xqc4i015 S$Y5r   