
    YHh
                       d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZmZmZ  ee      Zeeged
   f   Z	 eg ee   f   Z	  G d de      Z	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZy
)    )annotations)	Awaitable)	getLogger)Callable)warn)create_task_group)	TaskGroup)REACTPY_DEBUG_MODE)LayoutEventMessage
LayoutTypeLayoutUpdateMessageNc                      e Zd ZdZy)StopzDeprecated

    Stop serving changes and events

    Raising this error will tell dispatchers to gracefully exit. Typically this is
    called by code running inside a layout to tell it to stop rendering.
    N)__name__
__module____qualname____doc__     K/var/www/html/planif/env/lib/python3.12/site-packages/reactpy/core/serve.pyr   r      s    r   r   c                  K   | 4 d{    	 t               4 d{   }|j                  t        | |       |j                  t        || |       ddd      d{    ddd      d{    y7 h7 V7 # 1 d{  7  sw Y   )xY w# t        $ r- t        dt        d       t        j                  d|         Y aw xY w7 Y# 1 d{  7  sw Y   yxY ww)z.Run a dispatch loop for a single view instanceNzHThe Stop exception is deprecated and will be removed in a future version   )
stacklevelzStopped serving )	r   
start_soon_single_outgoing_loop_single_incoming_loopr   r   UserWarningloggerinfo)layoutsendrecv
task_groups       r   serve_layoutr$   %   s       5 5
	5(* W Wj%%&;VTJ%%&;ZQUVW W5 5 5W W W W W  	5Z
 KK*6(34	55 5 5 5s   CA2CCBA4B0A8BA6B!C,C-C4B6B8B
	>B?B
	B3C CCCCCCCCc                   K   	 | j                          d {   }	  ||       d {    *7 7 # t        $ r) t        j                  sd}t        j                  |        w xY ww)NzFailed to send update. More info may be available if you enabling debug mode by setting `reactpy.config.REACTPY_DEBUG_MODE.current = True`.)render	Exceptionr
   currentr   error)r    r!   updatemsgs       r   r   r   9   sj      }}&
	v, & 	%--J 
 S!	s.   A'.A'2 02 A'2 2A$$A'c                d   K   	 | j                  |j                   |        d {          *7 	w)N)r   deliver)r#   r    r"   s      r   r   r   K   s/     
  	fnnDFl;  /;s   "0.

0)r    3LayoutType[LayoutUpdateMessage, LayoutEventMessage]r!   SendCoroutiner"   RecvCoroutinereturnNone)r    r.   r!   r/   r1   r2   )r#   r	   r    r.   r"   r0   r1   r2   )
__future__r   collections.abcr   loggingr   typingr   warningsr   anyior   	anyio.abcr	   reactpy.configr
   reactpy.core.typesr   r   r   r   r   r/   r0   BaseExceptionr   r$   r   r   r   r   r   <module>r=      s    " %    #  - R R	8	 -.	$?@ .Y'9::;= 5?5
5 5 
	5(?GT	$<<?< < 
	<r   