HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/propcache/__pycache__/_helpers_py.cpython-310.pyc
o

���ge�@s�dZddlZddlmZddlmZmZmZmZm	Z	m
Z
mZmZdZ
ejdkr.ddlmZneZe
d�ZGd	d
�d
e	ee�ZGdd�dee�ZdS)
zVarious helper functions.�N)�cached_property)�Any�Callable�Generic�Optional�Protocol�TypeVar�Union�overload)�under_cached_propertyr)��)�Self�_Tc@seZdZUeeefed<dS)�_TSelf�_cacheN)�__name__�
__module__�__qualname__�dict�strr�__annotations__�rr�@/usr/local/lib/python3.10/dist-packages/propcache/_helpers_py.pyrs
rc	@s�eZdZdZdedefddfdd�Zedddd	ee	e
defd
d��Zedde
ed	ee	e
defdd��Z	ddee
ed	ee	e
deeeffd
d�Zde
ededdfdd�ZdS)raUUse as a class method decorator.

    It operates almost exactly like
    the Python `@property` decorator, but it puts the result of the
    method it decorates into the instance dict after the first call,
    effectively replacing the function it decorates with an instance
    variable.  It is, in Python parlance, a data descriptor.
    �wrapped.�returnNcCs||_|j|_|j|_dS�N)r�__doc__r�name)�selfrrrr�__init__ szunder_cached_property.__init__�inst�ownercC�dSrr�rr!r"rrr�__get__%�zunder_cached_property.__get__cCr#rrr$rrrr%(r&cCsH|dur|Sz|j|jWSty#|�|�}||j|j<|YSwr)rr�KeyErrorr)rr!r"�valrrrr%+s
��valuecCstd��)Nzcached property is read-only)�AttributeError)rr!r)rrr�__set__7szunder_cached_property.__set__r)rrrrrrr r
r�type�objectrr%rr	r+rrrrrs 	"&�
�
�

�r)r�sys�	functoolsr�typingrrrrrrr	r
�__all__�version_inforrrrrrrr�<module>s(