
    dh?                     J    S SK JrJr  S SKJrJrJrJrJrJ	r	   " S S\	5      r
g)    )TupleUnion)
Comparator
Comparison	OperationOperatorStructuredQueryVisitorc                   0   \ rS rSrSr\R                  \R                  \R                  \R                  \R                  \R                  4r \R                  \R                  4r S\\\4   S\4S jrS\S\4S jrS\S\4S	 jrS
\S\\\4   4S jrSrg)DingoDBTranslator   zFTranslate `DingoDB` internal query language elements to valid filters.funcreturnc                 B    U R                  U5        SUR                   3$ )N$)_validate_funcvalue)selfr   s     d/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/query_constructors/dingo.py_format_funcDingoDBTranslator._format_func   s!    D!4::,    	operationc                     U$ N )r   r   s     r   visit_operation!DingoDBTranslator.visit_operation    s    r   
comparisonc                     U$ r   r   )r   r   s     r   visit_comparison"DingoDBTranslator.visit_comparison#   s    r   structured_queryc                 |    UR                   c  0 nOSSUR                   R                  U 5      00nUR                  U4$ )Nsearch_paramslangchain_expr)filteracceptquery)r   r#   kwargss      r   visit_structured_query(DingoDBTranslator.visit_structured_query&   sP     ""*F  $&6&=&=&D&DT&J"F
  %%v--r   r   N)__name__
__module____qualname____firstlineno____doc__r   EQNELTLTEGTGTEallowed_comparatorsr   ANDORallowed_operatorsr   strr   r   r   r   r!   r	   r   dictr+   __static_attributes__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>rA      s     $. $.r   