
    +hL                     D    d dl mZ ddlmZ  G d d      Z G d d      Zy)	    )Optional   )	to_stringc            	       >    e Zd ZdZ	 d	dededee   ddfdZdefdZy)

Suggestionz`
    Represents a single suggestion being sent or returned from the
    autocomplete server
    Nstringscorepayloadreturnc                 R    t        |      | _        t        |      | _        || _        y N)r   r   r
   r	   )selfr   r	   r
   s       S/var/www/html/venv/lib/python3.12/site-packages/redis/commands/search/suggestion.py__init__zSuggestion.__init__   s#      ' )
    c                     | j                   S r   )r   )r   s    r   __repr__zSuggestion.__repr__   s    {{r   )      ?N)	__name__
__module____qualname____doc__strfloatr   r   r    r   r   r   r      sC     IM"'8@	# r   r   c                   *    e Zd ZdZdededdfdZd Zy)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                     || _         || _        |r|rd| _        d| _        d| _        || _        y |rd| _        d| _        || _        y |rd| _        d| _        || _        y d| _        d| _        || _        y )N   r      )r   r   sugsize	_scoreidx_payloadidx_sugs)r   r   r   rets       r   r   zSuggestionParser.__init__   s    &*=DLDN D 
 DLDN 
 DL D
 
 DLDN
r   c              #   `  K   t        dt        | j                        | j                        D ]}  }| j                  |   }| j                  r%t        | j                  || j                  z            nd}| j                  r| j                  || j                  z      nd }t        |||        y w)Nr   r   )
rangelenr'   r$   r   r   r%   r   r&   r   )r   issr	   r
   s        r   __iter__zSuggestionParser.__iter__2   s     q#djj/4<<8 	1AAB=A=M=ME$**Q%789SVE:>:L:LdjjT%5%5!56RVGR00		1s   B,B.)r   r   r   r   boolr   r.   r   r   r   r   r      s&    D  t (1r   r   N)typingr   _utilr   r   r   r   r   r   <module>r2      s      " 1  1r   