o
    i                     @   sN   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 dedZ
dS )	    )ABCMetaabstractmethod)TracebackType)OptionalTypeTypeVarTc                   @   sZ   e Zd ZdZdedefddZdeee  dee dee	 dd	fd
dZ
ed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                    s   | S N r
   r   r   O/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/anyio/abc/_resources.py
__aenter__   s   zAsyncResource.__aenter__exc_typeexc_valexc_tbNc                    s   |   I d H  d S r   )aclose)r
   r   r   r   r   r   r   	__aexit__   s   zAsyncResource.__aexit__c                    s   dS )zClose the resource.Nr   r   r   r   r   r      s    zAsyncResource.aclose)r   N)__name__
__module____qualname____doc__r   r   r   r   BaseExceptionr   r   r   r   r   r   r   r   r	      s    

r	   )	metaclassN)abcr   r   typesr   typingr   r   r   r   r	   r   r   r   r   <module>   s
    