
    D6iE                     $    d dl mZ  G d d      Zy)    )get_optimized_hashingc                   L    e Zd Zd	dZed        Zed        Zd Zd Zd Z	d Z
y)
MemoryCacheNc                 L    || _         || _        i | _        t               | _        y N)store_key_getterlimit_cacher   hashing)selfr   r	   s      U/home/azureuser/techstart-app/venv/lib/python3.12/site-packages/flask_minify/cache.py__init__zMemoryCache.__init__   s"     0
,.    c                     | j                   r*| j                  j                  | j                         i       S | j                  S r   )r   r
   
setdefaultr   s    r   storezMemoryCache.store   s5      ;;))$*?*?*A2FF{{r   c                 F    t        | j                        | j                  k\  S r   )lenr   r	   r   s    r   limit_exceededzMemoryCache.limit_exceeded   s    4::$**,,r   c                 8    | j                   j                  |      S r   )r   get)r   keys     r   __getitem__zMemoryCache.__getitem__   s    zz~~c""r   c                     | j                   r| j                  j                          | j                  j                  ||i       y r   )r   r   popitemupdate)r   r   values      r   __setitem__zMemoryCache.__setitem__   s1    JJ 

3,'r   c                     | j                   dk(  r |       S | j                  |j                  d            j                         }| |   s
 |       | |<   | |   S )Nr   zutf-8)r	   r   encode	hexdigest)r   r   getter
hashed_keys       r   
get_or_setzMemoryCache.get_or_set   sS    ::?8O\\#**W"56@@B
J%xDJr   c                     | ` i | _         y r   )r
   r   s    r   clearzMemoryCache.clear*   s    Kr   )Nr   )__name__
__module____qualname__r   propertyr   r   r   r   r%   r'    r   r   r   r      sC    /   - -#(	 r   r   N)flask_minify.utilsr   r   r,   r   r   <module>r.      s    4( (r   