HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/jmespath/__pycache__/visitor.cpython-310.pyc
o

�N�gR*�@s�ddlZddlmZddlmZddlmZdd�Zdd�Zd	d
�Z	dd�Z
Gd
d�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�ZdS)�N)�	functions)�string_type)�NumbercCst||�rdS||kS�NF)�_is_special_number_case��x�y�r
�D/opt/saltstack/salt/lib/python3.10/site-packages/jmespath/visitor.py�_equalss
rcCs<t|�r
|dvr
t|t�St|�r|dvrt|t�SdSdS)N)r�)�_is_actual_number�
isinstance�boolrr
r
rrs


�rcCst|�pt|t�S�N)rrr�rr
r
r�_is_comparable&srcCst|t�rdSt|t�Sr)rrrrr
r
rr.s

rc@seZdZdZddd�ZdS)�Optionsz8Options to control how a JMESPath function is evaluated.NcC�||_||_dSr)�dict_cls�custom_functions)�selfrrr
r
r�__init__=s	
zOptions.__init__)NN)�__name__�
__module__�__qualname__�__doc__rr
r
r
rr;src@seZdZdd�Zdd�ZdS)�_ExpressioncCrr)�
expression�interpreter)rrr r
r
rrKs
z_Expression.__init__cOs|jj|g|�Ri|��Sr)r �visit�r�node�args�kwargsr
r
rr!Osz_Expression.visitN)rrrrr!r
r
r
rrJsrc@s$eZdZdd�Zdd�Zdd�ZdS)�VisitorcCs
i|_dSr)�
_method_cache�rr
r
rrTs
zVisitor.__init__cOsR|d}|j�|�}|durt|d|d|j�}||j|<||g|�Ri|��S)N�typezvisit_%s)r'�get�getattr�
default_visit)rr#r$r%Z	node_type�methodr
r
rr!Ws�
z
Visitor.visitcOstd��)Nr,��NotImplementedErrorr"r
r
rr,`�zVisitor.default_visitN)rrrrr!r,r
r
r
rr&Ss	r&cseZdZedd�ejejejejd�Z	ddgZ
eZd;�fdd�	Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z d/d0�Z!d1d2�Z"d3d4�Z#d5d6�Z$d7d8�Z%d9d:�Z&�Z'S)<�TreeInterpretercCst||�Sr)rrr
r
r�<lambda>gszTreeInterpreter.<lambda>)�eq�ne�lt�gtZlteZgter3r4Ncsdtt|���|j|_|durt�}||_|jdur|jj|_|jdur+|jj|_	dSt
��|_	dSr)�superr1r�MAP_TYPE�	_dict_clsrZ_optionsrr�
_functionsrZ	Functions)r�options��	__class__r
rrps


zTreeInterpreter.__init__cOst|d��)Nr)r.r"r
r
rr,}�zTreeInterpreter.default_visitcC�"|}|dD]}|�||�}q|S�N�children�r!�rr#�value�resultr
r
r�visit_subexpression��z#TreeInterpreter.visit_subexpressioncCs&z|�|d�WStyYdSw�NrD)r*�AttributeError�rr#rDr
r
r�visit_field�s
�zTreeInterpreter.visit_fieldcCs�|j|d}|d|jvr#||�|dd|�|�|dd|��S|�|dd|�}|�|dd|�}ttf}t|�rCt|�sEdS|||�S)NrDrArr
)�COMPARATOR_FUNC�
_EQUALITY_OPSr!�int�floatr)rr#rDZcomparator_func�left�rightZ	num_typesr
r
r�visit_comparator�s��
z TreeInterpreter.visit_comparatorcC�|Srr
rJr
r
r�
visit_current��zTreeInterpreter.visit_currentcCst|dd|�S�NrAr)rrJr
r
r�visit_expref�szTreeInterpreter.visit_exprefcCs:g}|dD]
}|�||�}|�|�q|j�|d|�S�NrArD)r!�appendr:�
call_function)rr#rDZ
resolved_args�child�currentr
r
r�visit_function_expression�s
z)TreeInterpreter.visit_function_expressioncCsx|�|dd|�}t|t�sdS|dd}g}|D]}|�|�||��r9|�|dd|�}|dur9|�|�q|S)NrAr�r
)r!r�list�_is_truerY)rr#rD�baseZcomparator_node�	collected�elementr\r
r
r�visit_filter_projection�s

�z'TreeInterpreter.visit_filter_projectioncCsT|�|dd|�}t|t�sdSg}|D]}t|t�r"|�|�q|�|�q|SrV)r!rr_�extendrY)rr#rDraZmerged_listrcr
r
r�
visit_flatten�s

zTreeInterpreter.visit_flattencCrSrr
rJr
r
r�visit_identity�rUzTreeInterpreter.visit_identitycCs2t|t�sdSz||dWStyYdSwrH)rr_�
IndexErrorrJr
r
r�visit_index�s
�zTreeInterpreter.visit_indexcCr?r@rBrCr
r
r�visit_index_expression�rGz&TreeInterpreter.visit_index_expressioncCs"t|t�sdSt|d�}||Sr@)rr_�slice)rr#rD�sr
r
r�visit_slice�s
zTreeInterpreter.visit_slicecCs|�|dd|�SrVrBrJr
r
r�visit_key_val_pair�sz"TreeInterpreter.visit_key_val_paircCs|dSrHr
rJr
r
r�
visit_literal�r0zTreeInterpreter.visit_literalcCs:|durdS|��}|dD]}|�||�||d<q|SrX)r9r!�rr#rDrbr[r
r
r�visit_multi_select_dict�sz'TreeInterpreter.visit_multi_select_dictcCs4|durdSg}|dD]}|�|�||��q|Sr@)rYr!rpr
r
r�visit_multi_select_list�sz'TreeInterpreter.visit_multi_select_listcCs6|�|dd|�}|�|�r|�|dd|�}|S�NrArr
�r!�	_is_false�rr#rDZmatchedr
r
r�visit_or_expression�s
z#TreeInterpreter.visit_or_expressioncCs6|�|dd|�}|�|�r|S|�|dd|�Srsrtrvr
r
r�visit_and_expression�s
z$TreeInterpreter.visit_and_expressioncCs.|�|dd|�}t|�r|dkrdS|S)NrArF)r!r)rr#rDZoriginal_resultr
r
r�visit_not_expressionsz$TreeInterpreter.visit_not_expressioncCr?r@rBrCr
r
r�
visit_pipe
rGzTreeInterpreter.visit_pipecCsZ|�|dd|�}t|t�sdSg}|D]}|�|dd|�}|dur*|�|�q|Srs)r!rr_rY�rr#rDrarbrcr\r
r
r�visit_projections

�z TreeInterpreter.visit_projectioncCsn|�|dd|�}z|��}Wn
tyYdSwg}|D]}|�|dd|�}|dur4|�|�q|Srs)r!�valuesrIrYr{r
r
r�visit_value_projections�
�z&TreeInterpreter.visit_value_projectioncCs(|dkp|gkp|ikp|dup|duS)N�Fr
�rrDr
r
rru(s �zTreeInterpreter._is_falsecCs|�|�Sr)rur�r
r
rr`/r>zTreeInterpreter._is_truer)(rrrr�operatorr5r6�le�gerLrM�dictr8rr,rFrKrRrTrWr]rdrfrgrirjrmrnrorqrrrwrxryrzr|r~rur`�
__classcell__r
r
r<rr1dsH�




r1cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�GraphvizVisitorcstt|���g|_d|_dS)Nr
)r7r�r�_lines�_countr(r<r
rr4s
zGraphvizVisitor.__init__cOsP|j�d�d|d|jf}|jd7_|�||�|j�d�d�|j�S)Nz
digraph AST {�%s%sr)r
�}�
)r�rYr��_visit�join)rr#r$r%r\r
r
rr!9szGraphvizVisitor.visitc	Csx|j�d||d|�dd�f�|�dg�D]"}d|d|jf}|jd7_|j�d||f�|�||�qdS)	Nz%s [label="%s(%s)"]r)rDrrAr�r
z
  %s -> %s)r�rYr*r�r�)rr#r\r[Z
child_namer
r
rr�As��zGraphvizVisitor._visit)rrrrr!r�r�r
r
r<rr�3sr�)r�ZjmespathrZjmespath.compatrZnumbersrrrrr�objectrrr&r1r�r
r
r
r�<module>s
	P