U
    Zf	                     @   s>   d d Z dd Zdd Zdd Zdd	 ZdddZdd ZdS )c                 C   s   | dkS )N)nodeelement valuer   r   C/tmp/pip-unpacked-wheel-47crqvv_/dash/development/_collect_nodes.pyis_node   s    r   c                 C   s   | dkS )Nshapeexactr   r   r   r   r   is_shape   s    r   c                 C   sx   | d }t |r|| nX|dkr:t| d |d |}n:|dkrXt| d |d |}n|dkrtt| d |d |}|S )Nnamer   r   []unionobjectOf)r   appendcollect_nodescollect_unioncollect_object)a_valuebasenodesZa_typer   r   r   collect_array	   s    r   c                 C   s~   | D ]t}t |d r || qt|d r>t|d ||}q|d dkr\t|d ||}q|d dkrt|d ||}q|S )Nr   r   arrayOfr   )r   r   r   r   r   r   )Z	type_listr   r   tr   r   r   r      s    r   c                 C   sx   |  d}|d }t|r&|| nNt|rDt|  di ||}n0|dkr`t|  d||}n|dkrtt| ||}|S )Nr   {}r   r   r   )getr   r   r   r   r   r   )o_valuer   r   Zo_nameZo_keyr   r   r   r   #   s    
r    Nc           
      C   s   |pg }|   D ]\}}|d|}|d}|rB| d| }n|}t|rZ|| q|dkr||d|}t|||}qt|rt|d ||}q|dkrt|d ||}q|dkr|di }	t|	||}q|S )Ntyper   .r   r   r   r   )	itemsr   r   r   r   r   r   r   r   )
metadatar   r   Z	prop_namer   Zt_valueZp_typekeyr   r   r   r   r   r   1   s(    
r   c                 C   s   dd | D S )Nc                    s&   g | ] t  fd ddD s qS )c                 3   s   | ]}| kV  qd S )Nr   ).0enr   r   	<genexpr>N   s     z/filter_base_nodes.<locals>.<listcomp>.<genexpr>)r   r   r   )any)r#   r   r%   r   
<listcomp>N   s      z%filter_base_nodes.<locals>.<listcomp>r   )r   r   r   r   filter_base_nodesM   s    r*   )r   N)r   r   r   r   r   r   r*   r   r   r   r   <module>   s   
