jsonlogic-hs-0.1.0.0: test/community/scopes.json
[
"A proposal for handling scopes",
{
"description": "Map can add each number to index",
"rule": {
"map": [
{ "val": "numbers" },
{ "+": [{ "val": [[1], "index"] }, { "val": [] }]}
]
},
"data": { "numbers": [1,2,3] },
"result": [1,3,5]
},
{
"description": "Map can add each number to value from context",
"rule": {
"map": [
{ "val": "numbers" },
{ "+": [{ "val": [[2], "value"] }, { "val": [] }]}
]
},
"data": { "numbers": [1,2,3], "value": 10 },
"result": [11,12,13]
},
{
"description": "Filter can use parent context to filter",
"rule": {
"filter": [
{ "val": "people" },
{ "===": [{ "val": "department" }, { "val": [[2], "department"] }] }
]
},
"data": {
"department": "Engineering",
"people": [
{ "name": "Jay Ortiz", "department": "Engineering" },
{ "name": "Louisa Hall", "department": "Sales" },
{ "name": "Kyle Carlson", "department": "Sales" },
{ "name": "Grace Ortiz", "department": "Engineering" },
{ "name": "Isabelle Harrington", "department": "Marketing" },
{ "name": "Harold Moore", "department": "Sales" },
{ "name": "Clarence Schultz", "department": "Sales" },
{ "name": "Jesse Keller", "department": "Engineering" },
{ "name": "Phillip Holland", "department": "Marketing" },
{ "name": "Mason Sullivan", "department": "Engineering" }
]
},
"result": [
{ "name": "Jay Ortiz", "department": "Engineering" },
{ "name": "Grace Ortiz", "department": "Engineering" },
{ "name": "Jesse Keller", "department": "Engineering" },
{ "name": "Mason Sullivan", "department": "Engineering" }
]
},
"The specification below depends upon escaping from another proposal",
{
"description": "Access an escaped key from above",
"rule": {
"map": [
{ "val": "arr" },
{ "+": [{ "val": [[2], "", "", "/"] }, { "val": [[2], "../"] }]}
]
},
"data": { "arr": [1,2,3], "../": 10, "": { "": { "/": 7 }} },
"result": [17,17,17]
}
]