mirror of
				https://github.com/taigrr/yq
				synced 2025-01-18 04:53:17 -08:00 
			
		
		
		
	added EvaluateNodes and EvaluateCandidateNodes to yqlib
This commit is contained in:
		
							parent
							
								
									5fc26e9453
								
							
						
					
					
						commit
						85629af59c
					
				| @ -166,6 +166,24 @@ func NodeToString(node *CandidateNode) string { | ||||
| 	return fmt.Sprintf(`D%v, P%v, (%v)::%v`, node.Document, node.Path, tag, buf.String()) | ||||
| } | ||||
| 
 | ||||
| // EvaluateNodes takes an expression and one or more yaml nodes, returning a list of matching candidate nodes | ||||
| func EvaluateNodes(expression string, nodes ...*yaml.Node) (*list.List, error) { | ||||
| 	inputCandidates := list.New() | ||||
| 	for _, node := range nodes { | ||||
| 		inputCandidates.PushBack(&CandidateNode{Node: node}) | ||||
| 	} | ||||
| 	return EvaluateCandidateNodes(expression, inputCandidates) | ||||
| } | ||||
| 
 | ||||
| // EvaluateCandidateNodes takes an expression and list of candidate nodes, returning a list of matching candidate nodes | ||||
| func EvaluateCandidateNodes(expression string, inputCandidates *list.List) (*list.List, error) { | ||||
| 	node, err := treeCreator.ParsePath(expression) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return treeNavigator.GetMatchingNodes(inputCandidates, node) | ||||
| } | ||||
| 
 | ||||
| func KindString(kind yaml.Kind) string { | ||||
| 	switch kind { | ||||
| 	case yaml.ScalarNode: | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user