| 84 | } |
| 85 | |
| 86 | func (p *Parser) Parse(jsonpath string) (statements.JsonpathStatement, error) { |
| 87 | p.scanner.Init(jsonpath) |
| 88 | defer p.scanner.Cleanup() |
| 89 | |
| 90 | query, tokens, done := p.scan() |
| 91 | if !done { |
| 92 | return statements.JsonpathStatement{}, errors.AssertionFailedf("invalid jsonpath query: %s", jsonpath) |
| 93 | } |
| 94 | |
| 95 | stmt, err := p.parse(query, tokens) |
| 96 | if err != nil { |
| 97 | return statements.JsonpathStatement{}, err |
| 98 | } |
| 99 | return stmt, nil |
| 100 | } |
| 101 | |
| 102 | // Parse parses a jsonpath string and returns a jsonpath.Jsonpath object. |
| 103 | func Parse(path string) (statements.JsonpathStatement, error) { |