[
{
"description": "Walk matching simple node",
"ipld": "basic test",
"selector": {
".": {}
},
"expect_visit": [
{
"path": "",
"node": {
"string": "basic test"
},
"matched": true
}
]
},
{
"description": "Matching on map",
"ipld": {
"foo": true,
"other": {}
},
"selector": {
".": {}
},
"expect_visit": [
{
"path": "",
"node": {
"map": null
},
"matched": true
}
]
},
{
"description": "Traverse selecting fields",
"ipld": {
"bar": false,
"foo": true,
"some_other": {}
},
"selector": {
"f": {
"f>": {
"foo": {
".": {}
},
"bar": {
".": {}
}
}
}
},
"expect_visit": [
{
"path": "",
"node": {
"map": null
},
"matched": false
},
{
"path": "foo",
"node": {
"bool": true
},
"matched": true
},
{
"path": "bar",
"node": {
"bool": false
},
"matched": true
}
]
},
{
"description": "Traverse fields recursively",
"ipld": {
"nested": {
"n": 8
},
"foo": true,
"bar": 5
},
"selector": {
"f": {
"f>": {
"foo": {
".": {}
},
"nested": {
"f": {
"f>": {
"n": {
".": {}
}
}
}
}
}
}
},
"expect_visit": [
{
"path": "",
"node": {
"map": null
},
"matched": false
},
{
"path": "foo",
"node": {
"bool": true
},
"matched": true
},
{
"path": "nested",
"node": {
"map": null
},
"matched": false
},
{
"path": "nested/n",
"node": {
"integer": 8
},
"matched": true
}
]
},
{
"description": "Explore index basic",
"ipld": [
"0",
"1",
"2"
],
"selector": {
"i": {
"i": 1,
">": {
".": {}
}
}
},
"expect_visit": [
{
"path": "",
"node": {
"list": null
},
"matched": false
},
{
"path": "1",
"node": {
"string": "1"
},
"matched": true
}
]
},
{
"description": "Explore range",
"ipld": [
0,
null,
"s",
{}
],
"selector": {
"r": {
"^": 1,
"$": 3,
">": {
".": {}
}
}
},
"expect_visit": [
{
"path": "",
"node": {
"list": null
},
"matched": false
},
{
"path": "1",
"node": {
"null": null
},
"matched": true
},
{
"path": "2",
"node": {
"string": "s"
},
"matched": true
}
]
},
{
"description": "Explore range",
"ipld": [
{
"one": [
{
"two": [
3
]
}
]
}
],
"selector": {
"R": {
"l": {
"depth": 4
},
":>": {
"a": {
">": {
"@": {}
}
}
}
}
},
"expect_visit": [
{
"path": "",
"node": {
"list": null
},
"matched": false
},
{
"path": "0",
"node": {
"map": null
},
"matched": false
},
{
"path": "0/one",
"node": {
"list": null
},
"matched": false
},
{
"path": "0/one/0",
"node": {
"map": null
},
"matched": false
}
]
}
]