o
    tfz                     @   s   d dl mZmZmZ d dlmZmZ deeef deeef fddZededZ	d	eeef dd
fddZ
defddZd	eeef fddZd
S )    )AnyDictTypeVar)	BaseModel	schema_ofroot_schemareturnc                 C   s4   d| vr| S t | d  }t|dkr| S |d S )z3Lift defintion reference to root if only definitionz$refZdefinitions   r   )listvalueslen)r   Zdefs r   ]/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/higlass_schema/utils.pysimplify_schema   s   r   ModelT)boundschemaNc                 C   s&   |  di  D ]}|dd qdS )z:Remove automatically generated tiles for pydantic classes.
propertiestitleN)getr   pop)r   propr   r   r   exclude_properties_titles   s   r   type_c                 C   s&   t | }t|}t| |d |S )Nr   )r   r   r   r   )r   r   r   r   r   get_schema_of   s
   
r   c                 C   sd   d| v rg }| d D ]}d|v sJ | |d  q
d|iS | d }t|dkr.d|d iS d|iS )NZanyOfenumr	   constr   )extendr   )r   r   entryr   r   r   simplify_enum_schema&   s   r   )typingr   r   r   Zpydanticr   r   strr   r   r   r   r   r   r   r   r   <module>   s    "	