evalUnion evaluates UnionNode
(input []reflect.Value, node *UnionNode)
| 291 | |
| 292 | // evalUnion evaluates UnionNode |
| 293 | func (j *JSONPath) evalUnion(input []reflect.Value, node *UnionNode) ([]reflect.Value, error) { |
| 294 | result := []reflect.Value{} |
| 295 | for _, listNode := range node.Nodes { |
| 296 | temp, err := j.evalList(input, listNode) |
| 297 | if err != nil { |
| 298 | return input, err |
| 299 | } |
| 300 | result = append(result, temp...) |
| 301 | } |
| 302 | return result, nil |
| 303 | } |
| 304 | |
| 305 | func (j *JSONPath) findFieldInValue(value *reflect.Value, node *FieldNode) (reflect.Value, error) { |
| 306 | t := value.Type() |