MCPcopy
hub / github.com/kubernetes/client-go / walk

Method walk

util/jsonpath/jsonpath.go:139–168  ·  view source on GitHub ↗

walk visits tree rooted at the given node in DFS order

(value []reflect.Value, node Node)

Source from the content-addressed store, hash-verified

137
138// walk visits tree rooted at the given node in DFS order
139func (j *JSONPath) walk(value []reflect.Value, node Node) ([]reflect.Value, error) {
140 switch node := node.(type) {
141 case *ListNode:
142 return j.evalList(value, node)
143 case *TextNode:
144 return []reflect.Value{reflect.ValueOf(node.Text)}, nil
145 case *FieldNode:
146 return j.evalField(value, node)
147 case *ArrayNode:
148 return j.evalArray(value, node)
149 case *FilterNode:
150 return j.evalFilter(value, node)
151 case *IntNode:
152 return j.evalInt(value, node)
153 case *BoolNode:
154 return j.evalBool(value, node)
155 case *FloatNode:
156 return j.evalFloat(value, node)
157 case *WildcardNode:
158 return j.evalWildcard(value, node)
159 case *RecursiveNode:
160 return j.evalRecursive(value, node)
161 case *UnionNode:
162 return j.evalUnion(value, node)
163 case *IdentifierNode:
164 return j.evalIdentifier(value, node)
165 default:
166 return value, fmt.Errorf("unexpected Node %v", node)
167 }
168}
169
170// evalInt evaluates IntNode
171func (j *JSONPath) evalInt(input []reflect.Value, node *IntNode) ([]reflect.Value, error) {

Callers 2

FindResultsMethod · 0.95
evalListMethod · 0.95

Calls 12

evalListMethod · 0.95
evalFieldMethod · 0.95
evalArrayMethod · 0.95
evalFilterMethod · 0.95
evalIntMethod · 0.95
evalBoolMethod · 0.95
evalFloatMethod · 0.95
evalWildcardMethod · 0.95
evalRecursiveMethod · 0.95
evalUnionMethod · 0.95
evalIdentifierMethod · 0.95
ErrorfMethod · 0.65

Tested by

no test coverage detected