Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/jmespath/ast.py: 100%
44 statements
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-08 06:51 +0000
« prev ^ index » next coverage.py v7.3.2, created at 2023-12-08 06:51 +0000
1# AST nodes have this structure:
2# {"type": <node type>", children: [], "value": ""}
5def comparator(name, first, second):
6 return {'type': 'comparator', 'children': [first, second], 'value': name}
9def current_node():
10 return {'type': 'current', 'children': []}
13def expref(expression):
14 return {'type': 'expref', 'children': [expression]}
17def function_expression(name, args):
18 return {'type': 'function_expression', 'children': args, 'value': name}
21def field(name):
22 return {"type": "field", "children": [], "value": name}
25def filter_projection(left, right, comparator):
26 return {'type': 'filter_projection', 'children': [left, right, comparator]}
29def flatten(node):
30 return {'type': 'flatten', 'children': [node]}
33def identity():
34 return {"type": "identity", 'children': []}
37def index(index):
38 return {"type": "index", "value": index, "children": []}
41def index_expression(children):
42 return {"type": "index_expression", 'children': children}
45def key_val_pair(key_name, node):
46 return {"type": "key_val_pair", 'children': [node], "value": key_name}
49def literal(literal_value):
50 return {'type': 'literal', 'value': literal_value, 'children': []}
53def multi_select_dict(nodes):
54 return {"type": "multi_select_dict", "children": nodes}
57def multi_select_list(nodes):
58 return {"type": "multi_select_list", "children": nodes}
61def or_expression(left, right):
62 return {"type": "or_expression", "children": [left, right]}
65def and_expression(left, right):
66 return {"type": "and_expression", "children": [left, right]}
69def not_expression(expr):
70 return {"type": "not_expression", "children": [expr]}
73def pipe(left, right):
74 return {'type': 'pipe', 'children': [left, right]}
77def projection(left, right):
78 return {'type': 'projection', 'children': [left, right]}
81def subexpression(children):
82 return {"type": "subexpression", 'children': children}
85def slice(start, end, step):
86 return {"type": "slice", "children": [start, end, step]}
89def value_projection(left, right):
90 return {'type': 'value_projection', 'children': [left, right]}