
    tj	                     H    d dl Z ddlmZ d Zd Zd Zd Zd Zd	 Zd
 Z	d Z
y)    N   )loggerc                 :    | rt        | |      rt        | |      S |S N)hasattrgetattr)obj	attr_namedefault_values      H/DATA/.local/lib/python3.12/site-packages/trame_server/utils/__init__.pysharer      s!    
wsI&sI&&    c                 "    | j                         S r   isasciiss    r   r   r      s    99;r   c                 h    t        |       dkD  xr# t        |       xr | d d | dd  cxk(  xr dk(  S c S )N      __)lenr   r   s    r   	is_dunderr      s:    q6A:@'!*@2A!BC&)@D)@@)@@r   c                 ,    t        |       xr | d   dk(  S )Nr   _r   r   s    r   
is_privater      s    1:%!A$#+%r   c                     i }i }| D ]0  }t        | |         }	 t        j                  |      }|||<   |||<   2 ||fS # t        $ r t	        j
                  d| d       Y [w xY w)NzSkip state value for 'z'' since its content is not serializable)clean_valuemsgpackpackb	Exceptionr   error)statecleaned
str_valueskeyvalue	str_values         r   clean_stater*      s    GJE#J'	e,I GCL'JsO  J  	LL(-TU	s   >"A#"A#c                    t        | t              rQd| j                         v r?i }|j                  |        | j	                  d      }|D ]  }|j                  |d         |S t        | t              rt        t        t        |             S | S )N_filter)	
isinstancedictkeysupdategetpoplistmapr   )r(   subsetkeys_to_filterr'   s       r   r   r   ,   sv    %9

#<e9-!CJJsD! "%CU+,,Lr   c                     |j                         D ]9  \  }}t        |t              r| j                  |i       }t	        ||       5|| |<   ; | S r   )itemsr-   r.   
setdefaultupdate_dict)destinationsourcer'   r(   	containers        r   r:   r:   ;   sN    lln
UeT"#..sB7I	5)$K % r   c                 Z   g }i }g }| j                   D ]R  }i }t        |t              r|}n|\  }}|j                  |i        ||vr|j	                  |       t        ||   |       T |D ]8  }t        ||         r|j	                  |||   f       (|j	                  |       : || _         y r   )trame__vue_user-   strr9   appendr:   r   )r$   _order_options_reduceditemoptionsnames          r   reduce_vue_userH   G   s    FHH $$dC D MD'D"%vMM$HTNG, % x~OOT8D>23OOD!	  $Er   )r     r   r   r   r   r   r*   r   r:   rH    r   r   <module>rK      s4     
A
&"	$r   