o
    iN                     @   s  d Z ddlmZ ddlZddlmZmZmZmZm	Z	 ddl
Z
ddlmZ ddlmZmZ ddlmZ ddlmZ d	d
lmZmZmZmZ defddZdd ZdefddZdd ZdefddZdd ZdefddZ dd Z!dedefdd Z"dedefd!d"Z#d#d$ Z$d%d& Z%d'e
j&de'fd(d)Z(d'e
j&de'fd*d+Z)d'e
j&de*fd,d-Z+d'e
j&de*fd.d/Z,d0ededefd1d2Z-d0edefd3d4Z.dS )5zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )DecimalN)AnyDictListUnionget_args)
get_origin)
ConfigDictcreate_model)	from_json)is_union   )	BaseModelNullableOptionalNullableUnsetas_strc                        fdd}|S )Nc                    s`   t t| rtd tt| v r| d u rd S t| tr| S t| ts&td r,t| S t| S )NzExpected Decimal object)	r   typer   
isinstancer   r   
ValueErrorstrfloatdr    e/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai_gcp/utils/serializers.py	serialize   s   (

z$serialize_decimal.<locals>.serializer   r   r   r   r   r   serialize_decimal      r    c                 C   sB   | d u rd S t | ttfr| S t | tttfstdtt| S )NzExpected string, int or float)r   r   r   r   intr   r   r   r   r   r   validate_decimal   s   r#   c                    r   )Nc                    \   t t| rtd tt| v r| d u rd S t| tr| S t| ts&td r,t| S | S )NzExpected float)r   r   r   r   r   r   r   r   fr   r   r   r   -      (

z"serialize_float.<locals>.serializer   r   r   r   r   serialize_float,   r!   r(   c                 C   8   | d u rd S t | ttfr| S t | tstdt| S NExpected string)r   r   r   r   r   r%   r   r   r   validate_float<      
r,   c                    r   )Nc                    r$   )NExpected int)r   r   r   r   r   r"   r   r   )ir   r   r   r   J   r'   z serialize_int.<locals>.serializer   r   r   r   r   serialize_intI   r!   r0   c                 C   r)   r*   )r   r"   r   r   r   )br   r   r   validate_intY   r-   r2   is_intc                    r   )Nc                    sJ   | d u rd S t | tr| S  rt | tstd| S t | ts#td| S )Nr.   r+   )r   r   r"   r   r   )er3   r   r   validateg   s   


z$validate_open_enum.<locals>.validater   )r3   r6   r   r5   r   validate_open_enumf   s   r7   c                    r   )Nc                    sF   t t| rtd tt| v r| d u rd S  | kr!td  | S )Nz	Expected )r   r   r   r   )cvr   r   r6   {   s
   (z validate_const.<locals>.validater   )r:   r6   r   r9   r   validate_constz   s   
r;   typreturnc                 C   s   t t| |S N)	unmarshalr   )rawr<   r   r   r   unmarshal_json      rA   c                 C   s*   t d|dftdddd}|| d}|jS )NUnmarshaller.Tpopulate_by_namearbitrary_types_allowedbody
__config__rH   )r
   r	   rH   )valr<   unmarshallermr   r   r   r?      s   

r?   c                 C   sr   t |r
| d u r
dS td|dftdddd}|| d}|jdddd	}t|d
kr,dS tj|tt| ddS )Nnull
Marshaller.TrD   rG   rJ   json)by_aliasmodeexclude_noner    ),:)
separators)	is_nullabler
   r	   
model_dumplenrP   dumpsnextiter)rK   r<   
marshallerrM   r   r   r   r   marshal_json   s   

r_   c                 C   sh   t | }|tu s|tu rdS |tustd t| vrdS t| D ]}t |tu s.t |tu r1 dS q dS )NTF)r   r   r   r   r   r   )fieldoriginargr   r   r   rX      s   rX   streamc                 C   s   d |  S )NrT   )join	iter_textrc   r   r   r   stream_to_text   rB   rg   c                    s    d dd |  2 I d H S )NrT   c                    s   g | z3 d H W }|q6 S r>   r   ).0chunkr   r   r   
<listcomp>   s    z(stream_to_text_async.<locals>.<listcomp>)rd   
aiter_textrf   r   r   r   stream_to_text_async   s   rl   c                 C   s   | j S r>   )contentrf   r   r   r   stream_to_bytes   s   rn   c                    s   |   I d H S r>   )areadrf   r   r   r   stream_to_bytes_async   s   rp   datac                 C   s   t | s	t| |S | S r>   )_contains_pydantic_modelr?   )rq   r<   r   r   r   get_pydantic_model   s   
rs   c                 C   sN   t | trdS t | trtdd | D S t | tr%tdd |  D S dS )NTc                 s       | ]}t |V  qd S r>   rr   )rh   itemr   r   r   	<genexpr>       z+_contains_pydantic_model.<locals>.<genexpr>c                 s   rt   r>   ru   )rh   valuer   r   r   rw      rx   F)r   r   r   anyr   values)rq   r   r   r   rr      s   


rr   )/__doc__decimalr   rP   typingr   r   r   r   r   httpxtyping_extensionsr   pydanticr	   r
   pydantic_corer    typing_inspection.typing_objectsr   types.basemodelr   r   r   r   boolr    r#   r(   r,   r0   r2   r7   r;   rA   r?   r_   rX   Responser   rg   rl   bytesrn   rp   rs   rr   r   r   r   r   <module>   s8    