
    5j                     R    S SK JrJr  S SKJrJrJr   " S S\5      r " S S5      rg)    )abstractmethodABC)ListTupleUnionc                   <    \ rS rSr\S 5       rS rS rS rS r	Sr
g)	ObjectDefinition   c                 n    [        5       nUR                  5        H  u  p4UR                  X45        M     U$ N)r	   items_set_parameter)clsjson_paramsokeyvalues        b/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/content/ipa/_serializable.py	from_jsonObjectDefinition.from_json   s4    %++-JCS( .     c                     0 U l         g r   _dictselfs    r   __init__ObjectDefinition.__init__   s	    
r   c                 x    [        US5      (       a  [        US5      R                  S5      nU R                  U:H  $ )N_kwargs
definition)hasattrgetattrgetr   )r   others     r   __eq__ObjectDefinition.__eq__   s5    5)$$E9-11,?EzzU""r   c                     U R                   $ r   r   r   s    r   get_dictObjectDefinition.get_dict   s    zzr   c                     U(       d  [        U[        5      (       a  X R                  U'   g U R                  R                  U5      (       a  U R                  R	                  U5        g g r   )
isinstanceintr   r$   pop)r   namer   s      r   r   ObjectDefinition._set_parameter   sE    Juc**$JJtZZ^^D!!JJNN4  "r   r   N)__name__
__module____qualname____firstlineno__classmethodr   r   r&   r)   r   __static_attributes__ r   r   r	   r	      s(     #!r   r	   c            
       |    \ rS rSrS\4S jr\S\\\	\
\	\\S4   4      4S j5       rS rS\4S jr\S 5       rS	rg)
Serializable"   returnc                     [        U 5      $ r   )dictr   s    r   _to_dictSerializable._to_dict#   s    Dzr   Nc                     g r   r7   r   s    r   
_get_itemsSerializable._get_items&   s    r   c                 B    [        S U R                  5        5       5      $ )Nc              3   6   #    U  H  u  pUc  M
  X4v   M     g 7fr   r7   ).0r   r   s      r   	<genexpr>(Serializable.__iter__.<locals>.<genexpr>+   s     [4Ejc\c\4Es   	
)iterrA   r   s    r   __iter__Serializable.__iter__*   s    [DOO4E[\\r   c                 "    U R                  5       $ r   )r>   r   s    r   r)   Serializable.get_dict-   s    }}r   c                 4    [        5       R                  U5      $ r   )r	   r   )r   r   s     r   r   Serializable.from_json0   s    !++K88r   r7   )r1   r2   r3   r4   r=   r>   r   r   r   strr   floatr-   rA   rI   r)   r5   r   r6   r7   r   r   r9   r9   "   sl    $  DsE#uc42G,H'H!IJ  ]$  9 9r   r9   N)	abcr   r   typingr   r   r   r	   r9   r7   r   r   <module>rS      s$    # % %!s !:9 9r   