o
    ÑtBh#  ã                   @   sl   d dl mZmZmZ erdZnzd dlmZ W n ey"   dZY nw er(eZn	G dd„ dƒZeZdgZ	dS )é    )ÚAnyÚCallableÚTYPE_CHECKINGN)Úcached_propertyc                   @   s8   e Zd ZdZdeddfdd„Zdededefd	d
„Z	dS )ÚCachedPropertyzÀA cached property.

        A property that is only computed once per instance and then replaces itself with
        an ordinary attribute. Deleting the attribute resets the property.
        ÚfuncÚreturnNc                 C   s   t |dƒ| _|| _d S )NÚ__doc__)Úgetattrr	   r   )Úselfr   © r   úv/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/graphql/pyutils/cached_property.pyÚ__init__   s   
zCachedProperty.__init__ÚobjÚclsc                 C   s(   |d u r| S |   |¡ }|j| j j< |S )N)r   Ú__dict__Ú__name__)r   r   r   Úvaluer   r   r   Ú__get__   s   zCachedProperty.__get__)
r   Ú
__module__Ú__qualname__r	   r   r   ÚobjectÚtyper   r   r   r   r   r   r      s    r   r   )
Útypingr   r   r   Ústandard_cached_propertyÚ	functoolsr   ÚImportErrorr   Ú__all__r   r   r   r   Ú<module>   s    ÿ
