o
    ȳg                     @   s.   d dl mZmZ ddlmZ G dd dZdS )    )ListOptional   )ServerSentEventc                   @   s,   e Zd ZdddZdedee fddZdS )	
SSEDecoderreturnNc                 C   s   d| _ g | _d| _d | _d S )N )_event_data_last_event_id_retry)self r   O/var/www/html/chatdoc2/venv/lib/python3.10/site-packages/httpx_sse/_decoders.py__init__   s   
zSSEDecoder.__init__linec              	   C   s  |s,| j s| js| js| jd u rd S t| j d| j| j| jd}d| _ g | _d | _|S |dr3d S |d\}}}|drF|dd  }|dkrO|| _ d S |dkr[| j| d S |d	krkd
|v rf	 d S || _d S |dkrzt	|| _W d S  t
tfy   Y d S w 	 d S )N
)eventdataidretryr   : r   r   r   r    r   )r	   r
   r   r   r   join
startswith	partitionappendint	TypeError
ValueError)r   r   sse	fieldname_valuer   r   r   decode   s\   



	zSSEDecoder.decode)r   N)__name__
__module____qualname__r   strr   r   r%   r   r   r   r   r      s    
r   N)typingr   r   _modelsr   r   r   r   r   r   <module>   s    