o
    øT·j„  ã                   @  s~   d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 ej
dkr*d dlmZ nd dlmZ e	dƒZG d	d
„ d
ed�ZdS )é    )ÚannotationsN)ÚABCMetaÚabstractmethod)ÚTracebackType)ÚTypeVar)é   é   )ÚSelfÚTc                   @  s6   e Zd ZdZdZddd„Zd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.
    © Úreturnr	   c                 Ã  s   �| S ©Nr   ©Úselfr   r   úW/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/anyio/abc/_resources.pyÚ
__aenter__   s   €zAsyncResource.__aenter__Úexc_typeútype[BaseException] | NoneÚexc_valúBaseException | NoneÚexc_tbúTracebackType | NoneÚNonec                 Ã  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.acloseN)r   r	   )r   r   r   r   r   r   r   r   )r   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r   r   r   r   r   r   r      s    

r   )Ú	metaclass)Ú
__future__r   ÚsysÚabcr   r   Útypesr   Útypingr   Úversion_infor	   Útyping_extensionsr
   r   r   r   r   r   Ú<module>   s    
