o
    i*                     @   sF  d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
 ddlZedZG dd dee ZG dd dee ZG d	d
 d
Zg dZ	ddejdeegef dee de	edf fddZ	ddejdeegef dee deeddf fddZ	ddedeegef dee de
ee ef fddZdededefddZdS )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    N)CallableGenericTypeVarOptional	GeneratorAsyncGeneratorTupleTc                   @   st   e Zd ZU ejed< eeddf ed< 	ddejdee	gef de
e	 fddZdd	 Zd
d Zdd Zdd ZdS )EventStreamresponseN	generatordecodersentinelc                 C      || _ t|||| _d S N)r   stream_eventsr   selfr   r   r    r   j/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai_azure/utils/eventstreaming.py__init__      zEventStream.__init__c                 C      | S r   r   r   r   r   r   __iter__       zEventStream.__iter__c                 C   s
   t | jS r   )nextr   r   r   r   r   __next__#   s   
zEventStream.__next__c                 C   r   r   r   r   r   r   r   	__enter__&   r   zEventStream.__enter__c                 C   s   | j   d S r   )r   closer   exc_typeexc_valexc_tbr   r   r   __exit__)   s   zEventStream.__exit__r   )__name__
__module____qualname__httpxResponse__annotations__r   r	   r   strr   r   r   r   r   r$   r   r   r   r   r
      s   
 

	r
   c                   @   sr   e Zd ZU ejed< eedf ed< 	ddejdee	gef de
e	 fddZdd	 Zd
d Zdd Zdd ZdS )EventStreamAsyncr   Nr   r   r   c                 C   r   r   )r   stream_events_asyncr   r   r   r   r   r   1   r   zEventStreamAsync.__init__c                 C   r   r   r   r   r   r   r   	__aiter__:   r   zEventStreamAsync.__aiter__c                    s   | j  I d H S r   )r   	__anext__r   r   r   r   r/   =   s   zEventStreamAsync.__anext__c                    s   | S r   r   r   r   r   r   
__aenter__@   s   zEventStreamAsync.__aenter__c                    s   | j  I d H  d S r   )r   acloser    r   r   r   	__aexit__C   s   zEventStreamAsync.__aexit__r   )r%   r&   r'   r(   r)   r*   r   r	   r   r+   r   r   r.   r/   r0   r2   r   r   r   r   r,   -   s   
 

	r,   c                   @   sN   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee
 ed< dS )ServerEventNideventdataretry)r%   r&   r'   r4   r   r+   r*   r5   r6   r7   intr   r   r   r   r3   G   s
   
 r3   )s   

s   

s   r   r   r   returnc                 C  s  t  }d}d}|  2 zb3 d H W }|rq||7 }t|t|D ]A}|||d  }d }	|dv rAtD ]}
t|||
}	|	d ur@ nq2|	d u rFq ||| }|t|	 }t|||\}}|d ura|V  q |dkrn||d  }d}q6 t|||\}}|d ur|V  d S d S Nr   F   )      
)	bytearrayaiter_bytesrangelenMESSAGE_BOUNDARIES_peek_sequence_parse_eventr   r   r   bufferpositiondiscardchunkicharseqboundaryblockr5   r   r   r   r-   U   sD   
r-   c                 c   s    t  }d}d}|  D ]^}|rq||7 }t|t|D ]A}|||d  }d }	|dv r=tD ]}
t|||
}	|	d ur< nq.|	d u rBq||| }|t|	 }t|||\}}|d ur]|V  q|dkrj||d  }d}qt|||\}}|d ur||V  d S d S r:   )r>   
iter_bytesr@   rA   rB   rC   rD   rE   r   r   r   r      sB   
r   rawc                 C   s  |   }td|}d}t }d}|D ]i}|sq|d}	|	dkr"q|d|	 }
|	t|d k r8||	d d  nd}t|rJ|d dkrJ|dd  }|
dkrT||_d	}q|
d
kra||d 7 }d	}q|
dkrk||_d	}q|
dkr|| rwt	|nd |_
d	}q|r|| dkrdS |r|d d }||_| p|dkp|dkp|dk}|dp|dp|d}|s|rzt||_W n	 ty   Y nw d }|r|t|j}|dfS )Nz\r?\n|\rF :r   r;    r5   Tr6   
r4   r7   )NTtruefalsenull{[")decoderesplitr3   findrA   r5   r4   isdigitr8   r7   r6   	isnumeric
startswithjsonloads	Exceptiondumps__dict__)rP   r   r   rN   linespublishr5   r6   linedelimfieldvaluedata_is_primitivedata_is_jsonoutr   r   r   rD      s^   
$rD   rG   rF   sequencec                 C   sD   t |t ||  krd S t|D ]\}}|| |  |kr d S q|S r   )rA   	enumerate)rG   rF   rq   rJ   rL   r   r   r   rC      s   rC   r   )__doc__r]   rc   typingr   r   r   r   r   r   r   r(   r	   r
   r,   r3   rB   r)   r+   r-   r   r>   boolrD   r8   bytesrC   r   r   r   r   <module>   sR    $	


-
+
=