o
    ÑtBh  ã                   @   sF   d dl Z d dlmZ d dlmZmZ dgZe jZdedefdd„Z	dS )é    N)ÚAny)ÚCoroutineTypeÚGeneratorTypeÚis_awaitableÚvalueÚreturnc                 C   s.   t | tƒpt | tƒot| jjt@ ƒpt| dƒS )zÙReturn true if object can be passed to an ``await`` expression.

    Instead of testing if the object is an instance of abc.Awaitable, it checks
    the existence of an `__await__` attribute. This is much faster.
    Ú	__await__)Ú
isinstancer   r   ÚboolÚgi_codeÚco_flagsÚCO_ITERABLE_COROUTINEÚhasattr)r   © r   ús/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/pyutils/is_awaitable.pyr   
   s   

ýù)
ÚinspectÚtypingr   Útypesr   r   Ú__all__r   r
   r   r   r   r   r   Ú<module>   s    