o
    pkj                     @   s  d Z ddlmZmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZmZmZmZ ddlmZ 				d&d
edee deee  deeee f fddZ		d'd
ededeeee f dee deee  dee fddZded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d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deded#edeeee f f
d$d%Zd	S )(zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )AnyDictget_type_hintsListOptional)	BaseModel)	FieldInfo   )QueryParamMetadatafind_field_metadata)_get_serialized_params_is_set_populate_from_globals_val_to_string)_populate_formNquery_paramsgblsallow_empty_valuereturnc                 C   s0   i }t | ||g |}t|rt |d ||| |S N)_populate_query_paramsr   )r   r   r   paramsglobals_already_populated r   b/home/djax/ivt_ai_plugin/venv/lib/python3.10/site-packages/google/genai/_gaos/utils/queryparams.pyget_query_params+   s
   r   query_param_valuesskip_fieldsc                 C   s  g }t | ts	|S | jj}t| j}|D ]}||v rq|| }	t|	t}
|
s'qt| r0t| |nd }t	||t|\}}|rB|
| |	jd urJ|	jn|}t|pPg }||v oa|d u pa|g kpa|dk}|rjdg||< q|
j}|d urt|
|||| }| D ]\}}||v r|| | q~|g||< q~q|
j}|dkrt||| q|dkrt|
||d| q|dkrt|
||d| qtd| d|S )	N 
deepObjectform,pipeDelimited|zquery param style z not yet supported)
isinstancer   	__class__model_fieldsr   r   r
   r   getattrr   appendaliassetserializationr   itemsextendstyle"_populate_deep_object_query_params _populate_delimited_query_paramsNotImplementedError)r   r   r   r   r   r   param_fieldsparam_field_typesnamefieldmetadatavalueglobal_foundf_nameallow_empty_setshould_include_emptyr+   serialized_parmskeyr.   r   r   r   r   9   sf   







r   
field_nameobjr   c                 C   sD   t |sd S t|trt| || d S t|tr t| || d S d S r   )r   r$   r   ,_populate_deep_object_query_params_basemodelr   '_populate_deep_object_query_params_dict)r>   r?   r   r   r   r   r/      s   

r/   prior_params_keyc           
      C   s   t |r	t|tsd S |jj}|D ]W}|| }|jd ur|jn|}|  d| d}t|t}t |s3qt||}	t |	s=qt|	trIt	||	| qt|	t
rUt||	| qt|	trat||	| qt|	g||< qd S N[])r   r$   r   r%   r&   r)   r   r
   r'   r@   r   rA   r   '_populate_deep_object_query_params_listr   )
rB   r?   r   
obj_fieldsr4   	obj_fieldr9   
params_keyobj_param_metadataobj_valr   r   r   r@      s*   




r@   r7   c                 C   s   t |sd S | D ]<\}}t |sq
|  d| d}t|tr't||| q
t|tr3t||| q
t|tr?t||| q
t	|g||< q
d S rC   )
r   r,   r$   r   r@   r   rA   r   rF   r   )rB   r7   r   r=   valrI   r   r   r   rA      s   


rA   rI   c                 C   sL   t |sd S |D ]}t |sq|| d u rg || < ||  t| qd S r   )r   getr(   r   )rI   r7   r   rL   r   r   r   rF      s   rF   r6   	delimiterc                 C   s   t || j||| d S r   )r   explode)r6   r>   r?   rN   r   r   r   r   r0      s   r0   )NNr   )__doc__typingr   r   r   r   r   pydanticr   pydantic.fieldsr   r6   r
   r   valuesr   r   r   r   formsr   strr   r   r/   r@   rA   rF   r0   r   r   r   r   <module>   s   



I

"

