PHP 8.5.2
Preview: ast.py Size: 2.08 KB
//lib/python3/dist-packages/jmespath/ast.py

# AST nodes have this structure:
# {"type": <node type>", children: [], "value": ""}


def comparator(name, first, second):
    return {'type': 'comparator', 'children': [first, second], 'value': name}


def current_node():
    return {'type': 'current', 'children': []}


def expref(expression):
    return {'type': 'expref', 'children': [expression]}


def function_expression(name, args):
    return {'type': 'function_expression', 'children': args, 'value': name}


def field(name):
    return {"type": "field", "children": [], "value": name}


def filter_projection(left, right, comparator):
    return {'type': 'filter_projection', 'children': [left, right, comparator]}


def flatten(node):
    return {'type': 'flatten', 'children': [node]}


def identity():
    return {"type": "identity", 'children': []}


def index(index):
    return {"type": "index", "value": index, "children": []}


def index_expression(children):
    return {"type": "index_expression", 'children': children}


def key_val_pair(key_name, node):
    return {"type": "key_val_pair", 'children': [node], "value": key_name}


def literal(literal_value):
    return {'type': 'literal', 'value': literal_value, 'children': []}


def multi_select_dict(nodes):
    return {"type": "multi_select_dict", "children": nodes}


def multi_select_list(nodes):
    return {"type": "multi_select_list", "children": nodes}


def or_expression(left, right):
    return {"type": "or_expression", "children": [left, right]}


def and_expression(left, right):
    return {"type": "and_expression", "children": [left, right]}


def not_expression(expr):
    return {"type": "not_expression", "children": [expr]}


def pipe(left, right):
    return {'type': 'pipe', 'children': [left, right]}


def projection(left, right):
    return {'type': 'projection', 'children': [left, right]}


def subexpression(children):
    return {"type": "subexpression", 'children': children}


def slice(start, end, step):
    return {"type": "slice", "children": [start, end, step]}


def value_projection(left, right):
    return {'type': 'value_projection', 'children': [left, right]}

Directory Contents

Dirs: 1 × Files: 8

Name Size Perms Modified Actions
- drwxr-xr-x 2026-01-08 12:56:03
Edit Download
2.08 KB lrw-r--r-- 2021-11-19 19:30:06
Edit Download
381 B lrw-r--r-- 2022-03-16 18:48:08
Edit Download
4.03 KB lrw-r--r-- 2021-11-19 19:30:06
Edit Download
12.44 KB lrw-r--r-- 2022-03-16 18:48:08
Edit Download
8.37 KB lrw-r--r-- 2022-03-15 17:24:14
Edit Download
18.64 KB lrw-r--r-- 2022-06-17 17:57:42
Edit Download
10.58 KB lrw-r--r-- 2022-06-17 17:57:42
Edit Download
281 B lrw-r--r-- 2022-06-17 17:57:50
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).