o
    i`                  
   @   s   d dl mZmZmZmZmZ d dlZddeeef dee deeeef  fddZded	edeeeef  fd
dZ	deeeef  deeeeef   fddZ
dS )    )AnyDictListOptionalTupleN	dict_flat
key_prefixreturnc                 C   s   g }|   D ]G\}}|d ur| d| dn|}t|tr&|t|| qt|trF|D ]}t|tr=|t|| q-|||f q-q|||f q|S )N[])items
isinstancedictextendtraverse_query_dictlistappend)r   r   resultkvkeyarr_v r   O/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/core/query_encoder.pyr   	   s   


r   	query_keyquery_valuec                 C   s   t |tjst |trt |tjr|jdd}n|}t|| S t |tr\g }|D ]1}t |tjs5t |trRt |tjrB|jdd}nt |trI|}|t| | q(|| |f q(|S | |fgS )NT)by_alias)	r   pydantic	BaseModelr   r   r   r   single_query_encoderr   )r   r   obj_dictencoded_valuesvaluer   r   r   r      s"   



r   queryc                 C   s6   | d u rd S g }|   D ]\}}|t|| q|S N)r   r   r   )r#   encoded_queryr   r   r   r   r   encode_query3   s   r&   r$   )typingr   r   r   r   r   r   strr   r   r&   r   r   r   r   <module>   s
   0"2