§
    ÝŸ’j
  ã                  óV   — d 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	 dd„Z
dd„ZdS )z}Server-Sent Events (SSE) Streaming Utilities.
Provides standard event formatters with safe Decimal & datetime serialization.
é    )ÚannotationsN)ÚdateÚdatetime)ÚDecimal)ÚAnyÚpayloadr   ÚreturnÚstrc                ó8   — dd„}t          j        | d|¬¦  «        S )zYSerialize any dictionary or object to JSON string safely converting Decimals & datetimes.Úobjr   r	   c                óð   — t          | t          ¦  «        r#| dz  rt          | ¦  «        nt          | ¦  «        S t          | t          t
          f¦  «        r|                      ¦   «         S t          | ¦  «        S )Né   )Ú
isinstancer   ÚfloatÚintr   r   Ú	isoformatr
   )r   s    ú$C:\Projects\DSCons\app\common\sse.pyÚdefault_serializerz1serialize_sse_payload.<locals>.default_serializer   sc   € Ý�c�7Ñ#Ô#ð 	7Ø!$ q¡Ð6•5˜‘:”:�:­c°#©h¬hÐ6Ý�c�D¥(Ð+Ñ,Ô,ð 	#Ø—=’=‘?”?Ð"Ý�3‰xŒxˆó    F)Úensure_asciiÚdefault)r   r   r	   r   )ÚjsonÚdumps)r   r   s     r   Úserialize_sse_payloadr      s0   € ðð ð ð õ Œ:�g¨EÐ;MÐNÑNÔNÐNr   ÚeventÚdatac                ób   — t          |t          ¦  «        r|}nt          |¦  «        }d| › d|› d�S )z"Format an SSE message event chunk.zevent: z
data: z

)r   r
   r   )r   r   Údata_strs      r   Úformat_sse_eventr      sA   € å�$�ÑÔð /Øˆˆå(¨Ñ.Ô.ˆØ2�UÐ2Ð2 HÐ2Ð2Ð2Ð2r   )r   r   r	   r
   )r   r
   r   r   r	   r
   )Ú__doc__Ú
__future__r   r   r   r   Údecimalr   Útypingr   r   r   © r   r   ú<module>r%      sž   ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð
Oð 
Oð 
Oð 
Oð3ð 3ð 3ð 3ð 3ð 3r   