
    Cj&
                        S SK Jr  S SKJrJr  S SKJrJrJrJ	r	  S SK
rS SKJr  S SKJr  S SKJr  \(       a  S SKJr  \R(                  R+                  S	S
9 " S S5      5       rg)    )annotations)Futuregather)TYPE_CHECKINGAny	Awaitable	GeneratorN)Self)get_caller_file_and_line)MessagePump)CallbackTypeT)angularc                      \ rS rSrSrSS.     SS jjrSS jrSS jrSS jrSS	 jr	SS
 jr
\SS j5       r\SS j5       r\S 5       rSrg)AwaitComplete   zfAn 'optionally-awaitable' object which runs one or more coroutines (or other awaitables) concurrently.N)	pre_awaitc               T    X l         [        U6 U l        Xl        [	        5       U l        g)z\Create an AwaitComplete.

Args:
    awaitables: One or more awaitables to run concurrently.
N)_awaitablesr   _future
_pre_awaitr   _caller)selfr   
awaitabless      h/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/textual/await_complete.py__init__AwaitComplete.__init__   s%     &$*J$7/8/1    c              #  l   #    U R                   v   SU R                  S 4v   SU R                  S 4v   g 7f)Nr   caller)r   r   r   r   s    r   __rich_repr__AwaitComplete.__rich_repr__!   s3     4??D00d**s   24c                    Xl         g)zSet a callback to run prior to awaiting.

This is used by Textual, mainly to check for possible deadlocks.
You are unlikely to need to call this method in an app.

Args:
    pre_await: A callback.
N)r   )r   r   s     r   set_pre_await_callback$AwaitComplete.set_pre_await_callback&   s	     $r   c                (    UR                  U 5        U $ )zRAwait after the next message.

Args:
    node: The node which created the object.
)	call_next)r   nodes     r   r'   AwaitComplete.call_next1   s     	tr   c                "   #    U I S h  vN $  N7f)N r    s    r   __call__AwaitComplete.__call__:   s     zzs   c                t    SnU R                   b  U R                  5         U R                  R                  5       $ )NT)r   r   	__await__)r   _rich_traceback_omits     r   r/   AwaitComplete.__await__=   s/    #??&OO||%%''r   c                6    U R                   R                  5       $ )z!`True` if the task has completed.)r   doner    s    r   is_doneAwaitComplete.is_doneC   s     ||  ""r   c                v    U R                   R                  5       (       a  U R                   R                  5       $ g)z&An exception if the awaitables failed.N)r   r3   	exceptionr    s    r   r7   AwaitComplete.exceptionH   s-     <<<<))++r   c                h    U " 5       n[        5       Ul        UR                  R                  S5        U$ )z7Returns an already completed instance of AwaitComplete.N)r   r   
set_result)clsinstances     r   nothingAwaitComplete.nothingO   s.     5!8##D)r   )r   r   r   r   )r   r   r   CallbackType | NonereturnNone)r@   zrich.repr.Result)r   r?   r@   rA   )r(   r   r@   r
   )r@   r   )r@   zGenerator[Any, None, Any])r@   bool)r@   zBaseException | None)__name__
__module____qualname____firstlineno____doc__r   r!   r$   r'   r,   r/   propertyr4   r7   classmethodr=   __static_attributes__r+   r   r   r   r      s~    p HL2$21D2	2+
	$( # #    r   r   )
__future__r   asyncior   r   typingr   r   r   r	   	rich.reprrichtyping_extensionsr
   textual._debugr   textual.message_pumpr   textual.typesr   reprautor   r+   r   r   <module>rV      sN    " " ; ;  " 3 ,* D D Dr   