o
    ;h
                     @  s   d dl mZ d dlmZmZ d dlmZ er>ddlmZm	Z	m
Z
mZmZ ddlmZ ddlmZmZ ddlmZ dd	lmZ G d
d dZG dd deZdS )    )annotations)JSONDecoderJSONEncoder)TYPE_CHECKING   )BFBloomCFBloomCMSBloomTDigestBloom	TOPKBloomJSON)AsyncSearchSearch
TimeSeries	VectorSetc                   @  sv   e Zd ZdZe e fd ddZd!d"dd	Zd#ddZd$ddZ	d%ddZ
d&ddZd'ddZd(ddZd)ddZdS )*RedisModuleCommandszoThis class contains the wrapper functions to bring supported redis
    modules into the command namespace.
    returnr   c                 C  s   ddl m} || ||d}|S )z<Access the json namespace, providing support for redis json.r   r   )clientencoderdecoder)jsonr   )selfr   r   r   Zjj r   N/var/www/html/venv/lib/python3.10/site-packages/redis/commands/redismodules.pyr      s   zRedisModuleCommands.jsonidxr   c                 C     ddl m} || |d}|S )@Access the search namespace, providing support for redis search.r   )r   r   
index_name)searchr   )r   r!   r   sr   r   r   ft      zRedisModuleCommands.ftr   c                 C     ddl m} || d}|S )z^Access the timeseries namespace, providing support for
        redis timeseries data.
        r   r   r   )
timeseriesr   )r   r   r#   r   r   r   ts#   s   
zRedisModuleCommands.tsr   c                 C  r&   )Access the bloom namespace.r   )r   r'   )bfr   )r   r   r+   r   r   r   r+   -      
zRedisModuleCommands.bfr   c                 C  r&   )r*   r   )r   r'   )r+   r   )r   r   cfr   r   r   r-   5   r,   zRedisModuleCommands.cfr	   c                 C  r&   )r*   r   )r	   r'   )r+   r	   )r   r	   cmsr   r   r   r.   =   r,   zRedisModuleCommands.cmsr   c                 C  r&   )r*   r   )r   r'   )r+   r   )r   r   topkr   r   r   r/   E   r,   zRedisModuleCommands.topkr
   c                 C  r&   )r*   r   )r
   r'   )r+   r
   )r   r
   tdigestr   r   r   r0   M   r,   zRedisModuleCommands.tdigestr   c                 C  r&   )z(Access the VectorSet commands namespace.r   r   r'   )	vectorsetr   )r   r   vsetr   r   r   r2   U   r,   zRedisModuleCommands.vsetN)r   r   r   )r   r   )r   r   )r   r   )r   r   )r   r	   )r   r   )r   r
   )r   r   )__name__
__module____qualname____doc__r   r   r   r$   r)   r+   r-   r.   r/   r0   r2   r   r   r   r   r      s    






r   c                   @  s   e Zd ZddddZdS )	AsyncRedisModuleCommandsr   r   r   c                 C  r   )r   r   )r   r    )r"   r   )r   r!   r   r#   r   r   r   r$   _   r%   zAsyncRedisModuleCommands.ftNr3   )r   r   )r4   r5   r6   r$   r   r   r   r   r8   ^   s    r8   N)
__future__r   r   r   r   typingr   r+   r   r   r	   r
   r   r   r"   r   r   r(   r   r1   r   r   r8   r   r   r   r   <module>   s    P