26 lines
501 B
Go
26 lines
501 B
Go
|
package reads
|
||
|
|
||
|
import (
|
||
|
"github.com/influxdata/influxql"
|
||
|
)
|
||
|
|
||
|
// TODO(sgc): build expression evaluator that does not use influxql AST
|
||
|
|
||
|
type expression interface {
|
||
|
EvalBool(v Valuer) bool
|
||
|
}
|
||
|
|
||
|
type astExpr struct {
|
||
|
expr influxql.Expr
|
||
|
}
|
||
|
|
||
|
func (e *astExpr) EvalBool(v Valuer) bool {
|
||
|
return EvalExprBool(e.expr, v)
|
||
|
}
|
||
|
|
||
|
// Valuer is the interface that wraps the Value() method.
|
||
|
type Valuer interface {
|
||
|
// Value returns the value and existence flag for a given key.
|
||
|
Value(key string) (interface{}, bool)
|
||
|
}
|