
    Ng                        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dS )    N)Enum)CallableDictOptionalTypeVarUnion)Field)	camelcase
pascalcase	snakecase
spinalcase)	UndefinedUndefinedParameterErrorTc                   X    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<   dS )Excludezd
    Pre-defined constants for exclusion. By default, fields are configured to
    be included.
    c                     dS )NT _s    P/var/www/html/ai-engine/env/lib/python3.11/site-packages/dataclasses_json/cfg.py<lambda>zExclude.<lambda>   s         ALWAYSc                     dS )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      sX           (6~FHfXt^$555&5oE8VHdN#55555r   r   c                       e Zd Zd ZdS )_GlobalConfigc                 0    i | _         i | _        i | _        d S 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
dS )
LetterCaseN)r   r   r   r
   CAMELr   KEBABr   SNAKEr   PASCALr   r   r   r.   r.   2   s"        EEEFFFr   r.   )encoderdecodermm_fieldletter_case	undefined
field_nameexcludemetadatar3   r4   r5   r6   r7   r8   r9   returnc                   | i } |                      di           }|||d<   |||d<   |||d<   |*|!t          j        |          ||fd            }	n|fd}	|	}|||d<   |t          |t                    rvt          t          |                                          s0t          d t          D                       }
t          d	|
           t          |                                         }||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00r   c                     |S r'   r   )r   r@   s     r   rA   zconfig.<locals>.overrideX   s    ""r   r6   c              3   $   K   | ]}|j         V  d S r'   )name).0actions     r   	<genexpr>zconfig.<locals>.<genexpr>c   s$      $I$IVV[$I$I$I$I$I$Ir   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   sk    &&'92>>L")Y")Y#+Z "_[)))4* 1 1 1 *)1 1 )3 # # # #&1]#i%% 	59ioo&7&788 7 $$I$Iy$I$I$I I I-6&36 67 7 7 ")//"3"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[      s7             ; ; ; ; ; ; ; ; ; ; ; ; ; ; 8 8 8 8 8 85 5 5 5 5 5 5 5 5 5 5 5 I I I I I I I IGCLL6 6 6 6 6 6 6 6       .        5 *.)-26HL8<'+485 5 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 5 5 5 5 5r   