Generic ast (#1829)

Remove dependency on yaml.Node for internal AST representation. Yaml decoder is now just another decoder.
This commit is contained in:
Mike Farah
2023-10-18 12:11:53 +11:00
committed by GitHub
parent 7430419413
commit 13d1bbb45f
171 changed files with 6402 additions and 2421 deletions
+6 -6
View File
@@ -45,7 +45,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `{a: {b: cat}}`,
expression: `.a.b | path | .[-1]`,
expected: []string{
"D0, P[a b -1], (!!str)::b\n",
"D0, P[a b 1], (!!str)::b\n",
},
},
{
@@ -61,7 +61,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `{a: [cat, dog]}`,
expression: `.a.[] | select(. == "dog") | path | .[-1]`,
expected: []string{
"D0, P[a 1 -1], (!!int)::1\n",
"D0, P[a 1 1], (!!int)::1\n",
},
},
{
@@ -78,7 +78,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `{a: {b: cat}}`,
expression: `setpath(["a", "b"]; "things")`,
expected: []string{
"D0, P[], (doc)::{a: {b: things}}\n",
"D0, P[], (!!map)::{a: {b: things}}\n",
},
},
{
@@ -102,7 +102,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `a: [cat, frog]`,
expression: `setpath(["a", 0]; "things")`,
expected: []string{
"D0, P[], (doc)::a: [things, frog]\n",
"D0, P[], (!!map)::a: [things, frog]\n",
},
},
{
@@ -118,7 +118,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `{a: {b: cat, c: dog, d: frog}}`,
expression: `delpaths([["a", "c"], ["a", "d"]])`,
expected: []string{
"D0, P[], (doc)::{a: {b: cat}}\n",
"D0, P[], (!!map)::{a: {b: cat}}\n",
},
},
{
@@ -126,7 +126,7 @@ var pathOperatorScenarios = []expressionScenario{
document: `a: [cat, frog]`,
expression: `delpaths([["a", 0]])`,
expected: []string{
"D0, P[], (doc)::a: [frog]\n",
"D0, P[], (!!map)::a: [frog]\n",
},
},
{