
    h?                     J    d dl mZmZ d dlmZmZmZmZmZm	Z	  G d de	      Z
y)    )TupleUnion)
Comparator
Comparison	OperationOperatorStructuredQueryVisitorc                       e Zd ZdZej
                  ej                  ej                  ej                  ej                  ej                  fZ	 ej                  ej                  fZ	 deeef   defdZdedefdZdedefdZd	edeeef   fd
Zy)DingoDBTranslatorzFTranslate `DingoDB` internal query language elements to valid filters.funcreturnc                 B    | j                  |       d|j                   S )N$)_validate_funcvalue)selfr   s     j/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/query_constructors/dingo.py_format_funczDingoDBTranslator._format_func   s!    D!4::,    	operationc                     |S N )r   r   s     r   visit_operationz!DingoDBTranslator.visit_operation    s    r   
comparisonc                     |S r   r   )r   r   s     r   visit_comparisonz"DingoDBTranslator.visit_comparison#   s    r   structured_queryc                 z    |j                   i }ndd|j                   j                  |       ii}|j                  |fS )Nsearch_paramslangchain_expr)filteracceptquery)r   r   kwargss      r   visit_structured_queryz(DingoDBTranslator.visit_structured_query&   sP     ""*F  $&6&=&=&D&DT&J"F
  %%v--r   N)__name__
__module____qualname____doc__r   EQNELTLTEGTGTEallowed_comparatorsr   ANDORallowed_operatorsr   strr   r   r   r   r   r	   r   dictr'   r   r   r   r   r      s    P 	 1!x{{3. x';!<     y : * . /.	sDy	.r   r   N)typingr   r   langchain_core.structured_queryr   r   r   r   r	   r
   r   r   r   r   <module>r:      s     $. $.r   