o
    wè¨i÷  ã                   @  sb   d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZ edƒZG dd„ dee eƒZdS )	é    )Úannotations)ÚABCÚabstractmethod)ÚGenericÚTypeVarÚIterableÚcast)ÚoverrideÚTc                   @  sv   e Zd Zddd„Zddd	„Zedd
d„ƒZeddd„ƒZeddd„ƒZd dd„Z	d!dd„Z
d dd„Zed dd„ƒZdS )"Ú	LazyProxyÚreturnÚNonec                 C  s
   d | _ d S ©N©Ú_LazyProxy__proxied©Úself© r   úD/home/app/Keep/.python/lib/python3.10/site-packages/prisma/_proxy.pyÚ__init__   ó   
zLazyProxy.__init__ÚattrÚstrÚobjectc                 C  s   t |  ¡ |ƒS r   )ÚgetattrÚ__get_proxied__)r   r   r   r   r   Ú__getattr__   s   zLazyProxy.__getattr__c                 C  ó   t |  ¡ ƒS r   )Úreprr   r   r   r   r   Ú__repr__   ó   zLazyProxy.__repr__c                 C  r   r   )r   r   r   r   r   r   Ú__str__   r    zLazyProxy.__str__úIterable[str]c                 C  s   |   ¡  ¡ S r   )r   Ú__dir__r   r   r   r   r#      r    zLazyProxy.__dir__r
   c                 C  s$   | j }|d ur	|S |  ¡  | _ }|S r   )r   Ú__load__)r   Zproxiedr   r   r   r   !   s
   zLazyProxy.__get_proxied__Úvaluec                 C  s
   || _ d S r   r   )r   r%   r   r   r   Ú__set_proxied__)   r   zLazyProxy.__set_proxied__c                 C  s
   t t| ƒS )zHHelper method that returns the current proxy, typed as the loaded object)r   r
   r   r   r   r   Ú__as_proxied__,   s   
zLazyProxy.__as_proxied__c                 C  s   d S r   r   r   r   r   r   r$   0   s   zLazyProxy.__load__N)r   r   )r   r   r   r   )r   r   )r   r"   )r   r
   )r%   r
   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r	   r   r!   r#   r   r&   r'   r   r$   r   r   r   r   r      s    




r   N)Ú
__future__r   Úabcr   r   Útypingr   r   r   r   Ztyping_extensionsr	   r
   r   r   r   r   r   Ú<module>   s    