
    "d                     j    d dl mZmZ d dlmZ d dlmZmZmZ  ed          Z	 G d de          Z
dS )	    )ABCMetaabstractmethod)TracebackType)OptionalTypeTypeVarTc                       e Zd ZdZdedefdZdeee                  dee         dee	         ddfd	Z
edd
            ZdS )AsyncResourcez
    Abstract base class for all closeable asynchronous resources.

    Works as an asynchronous context manager which returns the instance itself on enter, and calls
    :meth:`aclose` on exit.
    selfreturnc                 
   K   | S N r   s    8D:\api_v1\venv\Lib\site-packages\anyio/abc/_resources.py
__aenter__zAsyncResource.__aenter__   s          exc_typeexc_valexc_tbNc                 >   K   |                                   d {V  d S r   )aclose)r   r   r   r   s       r   	__aexit__zAsyncResource.__aexit__   s.       kkmmr   c                 
   K   dS )zClose the resource.Nr   r   s    r   r   zAsyncResource.aclose   s
        r   )r   N)__name__
__module____qualname____doc__r	   r   r   r   BaseExceptionr   r   r   r   r   r   r   r   r      s         q Q    4./ -( '	
 
    " " " ^" " "r   r   )	metaclassN)abcr   r   typesr   typingr   r   r   r	   r   r   r   r   <module>r%      s    ' ' ' ' ' ' ' '       * * * * * * * * * *GCLL" " " " "g " " " " " "r   