(ctx context.Context, gParser *gval.Parser, hasWildcard bool, key gval.Evaluable)
| 58 | } |
| 59 | |
| 60 | func parseJSONObjectElement(ctx context.Context, gParser *gval.Parser, hasWildcard bool, key gval.Evaluable) (jsonObject, error) { |
| 61 | if hasWildcard { |
| 62 | p := newParser(gParser) |
| 63 | switch gParser.Scan() { |
| 64 | case '$': |
| 65 | case '@': |
| 66 | p.appendPlainSelector(currentElementSelector()) |
| 67 | default: |
| 68 | return nil, p.Expected("JSONPath key and value") |
| 69 | } |
| 70 | |
| 71 | if err := p.parsePath(ctx); err != nil { |
| 72 | return nil, err |
| 73 | } |
| 74 | return keyValueMatcher{key, p.path.visitMatchs}, nil |
| 75 | } |
| 76 | value, err := gParser.ParseExpression(ctx) |
| 77 | if err != nil { |
| 78 | return nil, err |
| 79 | } |
| 80 | return keyValuePair{key, value}, nil |
| 81 | } |
| 82 | |
| 83 | func (kv keyValuePair) visitElements(c context.Context, v interface{}, visit keyValueVisitor) error { |
| 84 | value, err := kv.value(c, v) |
no test coverage detected
searching dependent graphs…