
    AHjA                        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Z	ddl
mZ ddlmZ ddlmZ e	j                   j"                   G d	 d
             Zy)zK
An *optionally* awaitable object returned by methods that remove widgets.
    )annotationsN)Taskgather)	Generator)invoke)get_caller_file_and_line)CallbackTypec                  >    e Zd ZdZ	 d	 	 	 	 	 ddZd	dZd
dZddZy)AwaitRemovez0An awaitable that waits for nodes to be removed.Nc                >    || _         || _        t               | _        y N)_tasks_post_remover   _caller)selftaskspost_removes      L/root/tools/cai/cai_env/lib/python3.12/site-packages/textual/await_remove.py__init__zAwaitRemove.__init__   s     '/1    c              #  n   K   d| j                   f d| j                  f d| j                  d f y w)Nr   r   caller)r   r   r   r   s    r   __rich_repr__zAwaitRemove.__rich_repr__   s7     t{{""T....d**s   35c                $   K   |  d {    y 7 wr    r   s    r   __call__zAwaitRemove.__call__"   s     

s   c                     t        j                         } j                  D cg c]	  }||us| c}d fd} |       j                         S c c}w )Nc                    K   t          d{     j                  t         j                         d{    yy7 /7 w)z'Wait for the prune operation to finish.N)r   r   r   )r   r   s   r   await_prunez*AwaitRemove.__await__.<locals>.await_prune)   sB     %.    ,T../// - !/s   A?(AAAAreturnNone)asynciocurrent_taskr   	__await__)r   r%   taskr    r   s   `   @r   r&   zAwaitRemove.__await__%   sJ    ++-"&++J$\1IJ	0 }&&(( Ks
   	AAr   )r   z
list[Task]r   zCallbackType | Noner"   r#   )r"   zrich.repr.Resultr!   )r"   zGenerator[None, None, None])__name__
__module____qualname____doc__r   r   r   r&   r   r   r   r   r      s8    : EI22.A2	2+

)r   r   )r+   
__future__r   r$   r   r   typingr   	rich.reprrichtextual._callbackr   textual._debugr   textual._typesr	   reprautor   r   r   r   <module>r5      sE    #      $ 3 ' ) ) )r   