o
    Š¨ÊhL  ã                   @   s8   d dl mZ ddlmZ G dd„ dƒZG dd„ dƒZdS )	é    )ÚOptionalé   )Ú	to_stringc                	   @   s@   e Zd ZdZ	ddededee ddfdd	„Zdefd
d„ZdS )Ú
Suggestionz`
    Represents a single suggestion being sent or returned from the
    autocomplete server
    ç      ð?NÚstringÚscoreÚpayloadÚreturnc                 C   s   t |ƒ| _t |ƒ| _|| _d S ©N)r   r   r	   r   )Úselfr   r   r	   © r   úR/var/www/html/env/lib/python3.10/site-packages/redis/commands/search/suggestion.pyÚ__init__   s   


zSuggestion.__init__c                 C   s   | j S r   )r   )r   r   r   r   Ú__repr__   s   zSuggestion.__repr__)r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚfloatr   r   r   r   r   r   r   r      s    ÿÿÿÿ
þr   c                   @   s.   e Zd ZdZdededdfdd„Zdd	„ ZdS )
ÚSuggestionParserzÉ
    Internal class used to parse results from the `SUGGET` command.
    This needs to consume either 1, 2, or 3 values at a time from
    the return value depending on what objects were requested
    Úwith_scoresÚwith_payloadsr
   Nc                 C   sb   || _ || _|r|rd| _d| _d| _n|rd| _d| _n|r&d| _d| _nd| _d| _|| _d S )Né   r   é   éÿÿÿÿ)r   r   ÚsugsizeÚ	_scoreidxÚ_payloadidxÚ_sugs)r   r   r   Úretr   r   r   r      s   
zSuggestionParser.__init__c                 c   sp   � t dt| jƒ| jƒD ]*}| j| }| jrt| j|| j  ƒnd}| jr,| j|| j  nd }t	|||ƒV  qd S )Nr   r   )
ÚrangeÚlenr    r   r   r   r   r   r   r   )r   ÚiÚssr   r	   r   r   r   Ú__iter__2   s   €
üzSuggestionParser.__iter__)r   r   r   r   Úboolr   r&   r   r   r   r   r      s    r   N)Útypingr   Ú_utilr   r   r   r   r   r   r   Ú<module>   s    