Equals now only compares scalars

This commit is contained in:
Mike Farah
2021-02-11 10:58:40 +11:00
parent 3c466dc66e
commit f92a42e4f8
2 changed files with 11 additions and 1 deletions
+3 -1
View File
@@ -1,5 +1,7 @@
package yqlib
import "gopkg.in/yaml.v3"
func equalsOperator(d *dataTreeNavigator, context Context, expressionNode *ExpressionNode) (Context, error) {
log.Debugf("-- equalsOperation")
return crossFunction(d, context, expressionNode, isEquals)
@@ -13,7 +15,7 @@ func isEquals(d *dataTreeNavigator, context Context, lhs *CandidateNode, rhs *Ca
if lhsNode.Tag == "!!null" {
value = (rhsNode.Tag == "!!null")
} else {
} else if lhsNode.Kind == yaml.ScalarNode && rhsNode.Kind == yaml.ScalarNode {
value = matchKey(lhsNode.Value, rhsNode.Value)
}
log.Debugf("%v == %v ? %v", NodeToString(lhs), NodeToString(rhs), value)