Fixed delete full path

This commit is contained in:
Mike Farah
2020-12-22 11:45:51 +11:00
parent d2d0c2c111
commit f305e8fa12
6 changed files with 119 additions and 50 deletions
+13
View File
@@ -2,6 +2,7 @@ package yqlib
import (
"container/list"
"fmt"
"gopkg.in/yaml.v3"
)
@@ -33,3 +34,15 @@ func nodeToMap(candidate *CandidateNode) *list.List {
elMap.PushBack(candidate)
return elMap
}
func createTraversalTree(path []interface{}) *PathTreeNode {
if len(path) == 0 {
return &PathTreeNode{Operation: &Operation{OperationType: SelfReference}}
} else if len(path) == 1 {
return &PathTreeNode{Operation: &Operation{OperationType: TraversePath, Value: path[0], StringValue: fmt.Sprintf("%v", path[0])}}
}
return &PathTreeNode{
Operation: &Operation{OperationType: ShortPipe},
Lhs: createTraversalTree(path[0:1]),
Rhs: createTraversalTree(path[1:])}
}