UNPKG

jsonpath-faster

Version:

Query JavaScript objects with JSONPath expressions. Compiles and caches JSONpath to JS

448 lines (446 loc) 10.3 kB
module.exports = [ { path: "$.*", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "wildcard", value: "*" }, scope: "child", operation: "member", }, ], }, { path: "$..*", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "wildcard", value: "*" }, scope: "descendant", operation: "member", }, ], }, { path: "$.store", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, ], }, { path: "$.store.bicycle", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "bicycle" }, scope: "child", operation: "member", }, ], }, { path: '$.store.bicycle["color"]', ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "bicycle" }, scope: "child", operation: "member", }, { expression: { type: "string_literal", value: "color" }, scope: "child", operation: "subscript", }, ], }, { path: "$.store.*", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "wildcard", value: "*" }, scope: "child", operation: "member", }, ], }, { path: "$.store[*]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "wildcard", value: "*" }, scope: "child", operation: "subscript", }, ], }, { path: "$.store.book[1]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "book" }, scope: "child", operation: "member", }, { expression: { type: "numeric_literal", value: 1 }, scope: "child", operation: "subscript", }, ], }, { path: "$.store.book.1", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "book" }, scope: "child", operation: "member", }, { expression: { type: "numeric_literal", value: 1 }, scope: "child", operation: "member", }, ], }, { path: "$.store.book[*].author", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "book" }, scope: "child", operation: "member", }, { expression: { type: "wildcard", value: "*" }, scope: "child", operation: "subscript", }, { expression: { type: "identifier", value: "author" }, scope: "child", operation: "member", }, ], }, { path: "$..author", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "author" }, scope: "descendant", operation: "member", }, ], }, { path: "$..[1]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "numeric_literal", value: 1 }, scope: "descendant", operation: "subscript", }, ], }, { path: "$.store..price", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "store" }, scope: "child", operation: "member", }, { expression: { type: "identifier", value: "price" }, scope: "descendant", operation: "member", }, ], }, { path: "$..book[2]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "numeric_literal", value: 2 }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[0,1]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "union", value: [ { expression: { type: "numeric_literal", value: 0 } }, { expression: { type: "numeric_literal", value: 1 } }, ], }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[-1:]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "slice", value: "-1:" }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[:2]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "slice", value: ":2" }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[(@.length-1)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "script_expression", value: "(@.length-1)" }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[?(@.isbn)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "filter_expression", value: "?(@.isbn)" }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[?(@.price<10)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "filter_expression", value: "?(@.price<10)" }, scope: "child", operation: "subscript", }, ], }, { path: "$..book[?(@.price==8.95)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "filter_expression", value: "?(@.price==8.95)" }, scope: "child", operation: "subscript", }, ], }, { path: '$..book[?(@.price<30 && @.category=="fiction")]', ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "identifier", value: "book" }, scope: "descendant", operation: "member", }, { expression: { type: "filter_expression", value: '?(@.price<30 && @.category=="fiction")', }, scope: "child", operation: "subscript", }, ], }, { path: "$..[(@.length-1)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "script_expression", value: "(@.length-1)" }, scope: "descendant", operation: "subscript", }, ], }, { path: "$..1", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "numeric_literal", value: 1 }, scope: "descendant", operation: "member", }, ], }, { path: "$..[?(@isbn)]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "filter_expression", value: "?(@isbn)" }, scope: "descendant", operation: "subscript", }, ], }, { path: "$..[::-1]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "slice", value: "::-1" }, scope: "descendant", operation: "subscript", }, ], }, { path: '$..["foo"]', ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "string_literal", value: "foo" }, scope: "descendant", operation: "subscript", }, ], }, { path: "$..[0,1]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "union", value: [ { expression: { type: "numeric_literal", value: 0 } }, { expression: { type: "numeric_literal", value: 1 } }, ], }, scope: "descendant", operation: "subscript", }, ], }, { path: "$..[*]", ast: [ { expression: { type: "root", value: "$" } }, { expression: { type: "wildcard", value: "*" }, scope: "descendant", operation: "subscript", }, ], }, ];