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
+13 -13
View File
@@ -171,7 +171,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: 3\nb: 4",
expression: `.a *= .b`,
expected: []string{
"D0, P[], (doc)::a: 12\nb: 4\n",
"D0, P[], (!!map)::a: 12\nb: 4\n",
},
},
{
@@ -435,7 +435,7 @@ var multiplyOperatorScenarios = []expressionScenario{
environmentVariables: map[string]string{"originalPath": ".myArray", "otherPath": ".newArray", "idPath": ".a"},
expression: mergeExpression,
expected: []string{
"D0, P[], (doc)::{myArray: [{a: apple, b: appleB2}, {a: kiwi, b: kiwiB}, {a: banana, b: bananaB, c: bananaC}, {a: dingo, c: dingoC}], something: else}\n",
"D0, P[], (!!map)::{myArray: [{a: apple, b: appleB2}, {a: kiwi, b: kiwiB}, {a: banana, b: bananaB, c: bananaC}, {a: dingo, c: dingoC}], something: else}\n",
},
},
{
@@ -484,7 +484,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse 2\nb: !goat 3",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: !horse 6\nb: !goat 3\n",
"D0, P[], (!!map)::a: !horse 6\nb: !goat 3\n",
},
},
{
@@ -493,7 +493,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse 2.5\nb: !goat 3.5",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: !horse 8.75\nb: !goat 3.5\n",
"D0, P[], (!!map)::a: !horse 8.75\nb: !goat 3.5\n",
},
},
{
@@ -502,7 +502,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: 2\nb: !goat 3.5",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: !!float 7\nb: !goat 3.5\n",
"D0, P[], (!!map)::a: !!float 7\nb: !goat 3.5\n",
},
},
{
@@ -511,7 +511,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse [1,2]\nb: !goat [3]",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: !horse [3]\nb: !goat [3]\n",
"D0, P[], (!!map)::a: !horse [3]\nb: !goat [3]\n",
},
},
{
@@ -520,7 +520,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse {cat: meow}\nb: !goat {dog: woof}",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: !horse {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
"D0, P[], (!!map)::a: !horse {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
},
},
{
@@ -529,7 +529,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse {cat: meow}\nb: !goat {dog: woof}",
expression: ".a *=c .b",
expected: []string{
"D0, P[], (doc)::a: !goat {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
"D0, P[], (!!map)::a: !goat {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
},
},
{
@@ -539,7 +539,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse {cat: meow}\nb: !goat {dog: woof}",
expression: ".a =c .a *c .b",
expected: []string{
"D0, P[], (doc)::a: !goat {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
"D0, P[], (!!map)::a: !goat {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
},
},
{
@@ -549,7 +549,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: !horse {cat: meow}\nb: !goat {dog: woof}",
expression: ".a *= .b",
expected: []string{
"D0, P[], (doc)::a: !horse {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
"D0, P[], (!!map)::a: !horse {cat: meow, dog: woof}\nb: !goat {dog: woof}\n",
},
},
{
@@ -558,7 +558,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: {cat: !horse meow}\nb: {cat: 5}",
expression: ".a = .a * .b",
expected: []string{
"D0, P[], (doc)::a: {cat: !horse 5}\nb: {cat: 5}\n",
"D0, P[], (!!map)::a: {cat: !horse 5}\nb: {cat: 5}\n",
},
},
{
@@ -567,7 +567,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: {a: original}\n",
expression: `.a *=n load("../../examples/thing.yml")`,
expected: []string{
"D0, P[], (doc)::a: {a: original, b: cool.}\n",
"D0, P[], (!!map)::a: {a: original, b: cool.}\n",
},
},
{
@@ -576,7 +576,7 @@ var multiplyOperatorScenarios = []expressionScenario{
document: "a: {a: original}\n",
expression: `.a *= load("../../examples/thing.yml")`,
expected: []string{
"D0, P[], (doc)::a: {a: apple is included, b: cool.}\n",
"D0, P[], (!!map)::a: {a: apple is included, b: cool.}\n",
},
},
{