
    mBNj                        d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ	 e	j                  r$ e	j                  d      Z e	j                  d      Zdd	gZ G d
 d      Z G d d	      Zy)    )annotationsN)wraps   )_typing_T_P	AsyncUtilUtilc                      e Zd ZU ed        Zeej                  dd              Zeej                  	 	 	 	 	 	 	 	 dd              Zed        Zed        ZdZ	de
d<   edd
       Zy	)r	   c                D   K   | 2 cg c3 d {   }|7 6 c}S c c}w wN )itxs     i/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/neo4j/_async_compat/util.pylistzAsyncUtil.list'   s!     !#$$A$$$$s$    
 c                   K   y wr   r   cbargskwargss      r   callbackzAsyncUtil.callback+   s	     KN   c                   K   y wr   r   r   s      r   r   zAsyncUtil.callback/   s      r   c                x   K   t        |       r) | |i |}t        j                  |      r
| d {   S |S y 7 wr   )callableinspectisawaitable)r   r   r   ress       r   r   zAsyncUtil.callback;   s?     B<d%f%C""3' y J !s   .:8:c                \     t        j                         sJ t                fd       }|S )Nc                 V   K   t        j                   | i |       d {   S 7 wr   )asyncioshield)r   r   coro_functions     r   shielded_functionz-AsyncUtil.shielded.<locals>.shielded_functionH   s&      t(Fv(FGGGGs   )'))r   iscoroutinefunctionr   )r$   r%   s   ` r   shieldedzAsyncUtil.shieldedD   s8    **=999	}		H 
	H !     T
t.ClassVaris_async_codeNc                    t        j                         j                  |       }d |D        }t        j                  j                  ||       S )Nlimitc              3  8   K   | ]  }||j                   f  y wr   )f_lineno).0fs     r   	<genexpr>z*AsyncUtil.extract_stack.<locals>.<genexpr>U   s     5u!q!**ous   )r"   current_task	get_stack	tracebackStackSummaryextract)r-   stack
stack_walks      r   extract_stackzAsyncUtil.extract_stackP   sF     $$&00u0=5u5
%%--j-FFr(   r   Noner   objectr   r=   returnr<   )r   z[t.Callable[_P, _T | t.Awaitable[_T]] | t.Callable[_P, t.Awaitable[_T]] | t.Callable[_P, _T]r   _P.argsr   	_P.kwargsr>   r   r   )__name__
__module____qualname__staticmethodr   toverloadr   r'   r*   __annotations__r:   r   r(   r   r	   r	   &   s    % % ZZN  NZZ!   
     ! ! !%M:$G Gr(   c                      e Zd ZU eZded<   eej                  dd              Zeej                  	 	 	 	 	 	 	 	 dd              Zed        Zed        Z	dZ
ded<   edd
       Zy	)r
   r)   r   c                     y r   r   r   s      r   r   zUtil.callback\   s    EHr(   c                     y r   r   r   s      r   r   zUtil.callback`   s     r(   c                *    t        |       r | |i |S y r   )r   r   s      r   r   zUtil.callbackf   s    B<t&v&&r(   c                    | S r   r   )r$   s    r   r'   zUtil.shieldedl   s    r(   Fr*   Nc                4    t        j                  |       d d S )Nr,   )r5   r:   r,   s    r   r:   zUtil.extract_stackr   s    &&U3CR88r(   r;   )r   zt.Callable[_P, _T]r   r?   r   r@   r>   r   r   )rA   rB   rC   r   rG   rD   rE   rF   r   r'   r*   r:   r   r(   r   r
   r
   Y   s    D*ZZH  HZZ'.:C	    
   !&M:%9 9r(   )
__future__r   r"   r   r5   	functoolsr    r   rE   TYPE_CHECKINGTypeVarr   	ParamSpecr   __all__r	   r
   r   r(   r   <module>rV      sg   " #      ??	4B	T	B 
0G 0Gf9 9r(   