o
    ib                     @   s  d Z ddlmZ ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlZddlmZ ddlZddlmZ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&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-d)ej(de,fd0d1Z.d2ededefd3d4Z/d2edefd5d6Z0ej1d7e)de	ed8f fd9d:Z2dS );zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )DecimalN)AnyDictListTupleUnionget_args)
get_origin)
ConfigDictcreate_model)	from_json   )	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)	is_uniontyper   
isinstancer   r   
ValueErrorstrfloatdr    g/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai_azure/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   0      (

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   M   r(   z serialize_int.<locals>.serializer   r    r   r   r   serialize_intL   r"   r1   c                 C   r*   r+   )r   r#   r   r   r   )br   r   r   validate_int\   r.   r3   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r4   r   r   validatej   s   


z$validate_open_enum.<locals>.validater   )r4   r7   r   r6   r   validate_open_enumi   s   r8   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   r7   ~   s
   (z validate_const.<locals>.validater   )r;   r7   r   r:   r   validate_const}   s   
r<   typreturnc                 C   s   t t| |S N)	unmarshalr   )rawr=   r   r   r   unmarshal_json      rB   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__rI   )r   r
   rI   )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.TrE   rH   rK   json)by_aliasmodeexclude_noner    ),:)
separators)	is_nullabler   r
   
model_dumplenrQ   dumpsnextiter)rL   r=   
marshallerrN   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   rY      s   rY   objc                    s   t  fddtdD S )zX
    Returns True if the given object is a typing.Union or typing_extensions.Union.
    c                 3   s    | ]} |u V  qd S r?   r   ).0
typing_objrd   r   r   	<genexpr>       zis_union.<locals>.<genexpr>r   )any_get_typing_objects_by_name_ofrg   r   rg   r   r      s   r   streamc                 C   s   d |  S )NrU   )join	iter_textrl   r   r   r   stream_to_text   rC   rp   c                    s    d dd |  2 I d H S )NrU   c                    s   g | z3 d H W }|q6 S r?   r   )re   chunkr   r   r   
<listcomp>   s    z(stream_to_text_async.<locals>.<listcomp>)rm   
aiter_textro   r   r   r   stream_to_text_async   s   rt   c                 C   s   | j S r?   )contentro   r   r   r   stream_to_bytes   s   rv   c                    s   |   I d H S r?   )areadro   r   r   r   stream_to_bytes_async   s   rx   datac                 C   s   t | s	t| |S | S r?   )_contains_pydantic_modelr@   )ry   r=   r   r   r   get_pydantic_model   s   
r{   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?   rz   )re   itemr   r   r   rh      ri   z+_contains_pydantic_model.<locals>.<genexpr>c                 s   r|   r?   r}   )re   valuer   r   r   rh      ri   F)r   r   r   rj   r   values)ry   r   r   r   rz      s   


rz   name.c                    s0   t  fddttfD }|std |S )z
    Get typing objects by name from typing and typing_extensions.
    Reference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types
    c                 3   s$    | ]}t | rt| V  qd S r?   )hasattrgetattr)re   moduler   r   r   rh      s    
z1_get_typing_objects_by_name_of.<locals>.<genexpr>z:Neither typing nor typing_extensions has an object called )tupletypingtyping_extensionsr   )r   resultr   r   r   rk      s   rk   )3__doc__decimalr   	functoolsrQ   r   r   r   r   r   r   r   r   r	   httpxpydanticr
   r   pydantic_corer   types.basemodelr   r   r   r   boolr!   r$   r)   r-   r1   r3   r8   r<   rB   r@   r`   rY   objectr   Responser   rp   rt   bytesrv   rx   r{   rz   cacherk   r   r   r   r   <module>   sB      