
    1yi                         d dl mZmZ d dlZddlmZ ddlmZ ddlm	Z	 dee
ef   ddfdZ G d	 d
eej                        Z G d deej                        Z G d deej                   j                        Zy)    )AnyDictN   )FakeRedisMixin)Self	args_dictreturnc                     d| v r| d   dk7  rt        d      | j                  dd       | j                  dt        j                         y )Nserver_typevalkeyzserver_type must be valkeyclient_class)
ValueError
setdefaultr   Valkey)r   s    S/var/www/html/content_weaver/venv/lib/python3.12/site-packages/fakeredis/_valkey.py_validate_server_typer   
   sF    	!i&>(&J56617    c                   N     e Zd Zdededdf fdZedededef fd       Z xZS )
FakeValkeyargskwargsr	   Nc                 :    t        |       t        |   |i | y N)r   super__init__selfr   r   	__class__s      r   r   zFakeValkey.__init__   s    f%$)&)r   c                 "    t        |   |i |S r   r   from_urlclsr   r   r   s      r   r!   zFakeValkey.from_url       w000r   	__name__
__module____qualname__r   r   classmethodr   r!   __classcell__r   s   @r   r   r      sF    *c *S *T * 1S 1C 1D 1 1r   r   c                   N     e Zd Zdededdf fdZedededef fd       Z xZS )FakeStrictValkeyr   r   r	   Nc                 B    t        |       t        t        |   |i | y r   )r   r   r-   r   r   s      r   r   zFakeStrictValkey.__init__   s     f%.??r   c                 "    t        |   |i |S r   r    r"   s      r   r!   zFakeStrictValkey.from_url    r$   r   r%   r+   s   @r   r-   r-      sJ    @c @S @T @ 1S 1C 1D 1 1r   r-   c                   N     e Zd Zdededdf fdZedededef fd       Z xZS )FakeAsyncValkeyr   r   r	   Nc                     |j                  dt        j                  j                         t	        |       t        t        |   |i | y )Nr   )r   r   asyncior   r   r   r1   r   r   s      r   r   zFakeAsyncValkey.__init__&   s9    .&..*?*?@f%ot-t>v>r   c                 "    t        |   |i |S r   r    r"   s      r   r!   zFakeAsyncValkey.from_url+   r$   r   r%   r+   s   @r   r1   r1   %   sF    ?c ?S ?T ?
 1S 1C 1D 1 1r   r1   )typingr   r   r   _connectionr   aioredisFakeAsyncRedisMixin_typingr   strr   r   r   StrictValkeyr-   r3   r1    r   r   <module>r=      sn      ' ; 8T#s(^ 8 81 11~v':': 11)6>>+@+@ 1r   