HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/jsons/__pycache__/_cache.cpython-311.pyc
�

)�;f���^�dZddlmZddlmZmZddlmZGd�d��Zdefd�Z	d	�Z
d
S)zn
PRIVATE MODULE: do not import (from) it directly.

This module contains functionality for caching functions.
�)�deque)�	lru_cache�update_wrapper)�Callablec�X�eZdZdZeg��Zd�Zed���d���ZdS)�_Wrapperz�
    A wrapper around a function that needs to be cached. This wrapper allows
    for a single point from which cache can be cleared.
    c�H�||_|j�|��dS�N)�wrapped�	instances�append)�selfrs  �?/opt/alt/python311/lib/python3.11/site-packages/jsons/_cache.py�__init__z_Wrapper.__init__s%���������d�#�#�#�#�#�T)�typedc��|j|i|��Sr
)r)r�args�kwargss   r�__call__z_Wrapper.__call__s���t�|�T�,�V�,�,�,rN)	�__name__�
__module__�__qualname__�__doc__rrrrr�rrrrse����������b�	�	�I�$�$�$��Y�T����-�-���-�-�-rr�	decoratedc�F�t|��}t||���|S)z�
    Alternative for ``functools.lru_cache``. By decorating a function with
    ``cached``, you can clear the cache of that function by calling
    ``clear()``.
    :param decorated: the decorated function.
    :return: a wrapped function.
    )�wrapperr)rr)rrs  r�cachedrs)���y�!�!�G��7�I�6�6�6�6��Nrc�V�tjD]}|j����dS)z\
    Clear all cache of functions that were cached using ``cached``.
    :return: None.
    N)rrr�cache_clear)�ws r�clearr#(s7��
�
�!�!��	�
��� � � � �!�!rN)r�collectionsr�	functoolsrr�typingrrrr#rrr�<module>r's�����
������/�/�/�/�/�/�/�/�������
-�
-�
-�
-�
-�
-�
-�
-� 
�h�
�
�
�
�!�!�!�!�!r