package jmespath

import 
JMESPath is the representation of a compiled JMES path query. A JMESPath is safe for concurrent use by multiple goroutines.
Compile parses a JMESPath expression and returns, if successful, a JMESPath object that can be used to match against data.
func ( string) (*JMESPath, error) {
	 := NewParser()
	,  := .Parse()
	if  != nil {
		return nil, 
	}
	 := &JMESPath{ast: , intr: newInterpreter()}
	return , nil
}
MustCompile is like Compile but panics if the expression cannot be parsed. It simplifies safe initialization of global variables holding compiled JMESPaths.
func ( string) *JMESPath {
	,  := Compile()
	if  != nil {
		panic(`jmespath: Compile(` + strconv.Quote() + `): ` + .Error())
	}
	return 
}
Search evaluates a JMESPath expression against input data and returns the result.
func ( *JMESPath) ( interface{}) (interface{}, error) {
	return .intr.Execute(.ast, )
}
Search evaluates a JMESPath expression against input data and returns the result.
func ( string,  interface{}) (interface{}, error) {
	 := newInterpreter()
	 := NewParser()
	,  := .Parse()
	if  != nil {
		return nil, 
	}
	return .Execute(, )