Documentation ¶
Index ¶
- Variables
- func OperatorAnd(left, right bool) bool
- func OperatorOr(left, right bool) bool
- type Executor
- func (e *Executor) DoAst(m map[string]any, ast *expression.AstNode, prefix, suffix string) (result bool, keys []string)
- func (e *Executor) DoExpr(m map[string]any, expr string, prefix, suffix string) (result bool, keys []string, err error)
- func (e *Executor) DoTerm(m map[string]any, term *expression.AstNode, prefix, suffix string) (result bool, keys []string)
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultFnMap = map[string]map[token.Token]conditionFn{ "==": { token.NUM: equal[float64], token.BOOL: equal[bool], token.STRING: equalStr, }, "!=": { token.NUM: unEqual[float64], token.BOOL: unEqual[bool], token.STRING: unEqualStr, }, ">=": { token.NUM: gte[float64], token.STRING: gte[string], }, "<=": { token.NUM: lte[float64], token.STRING: lte[string], }, ">": { token.NUM: gt[float64], token.STRING: lt[string], }, "<": { token.NUM: lt[float64], token.STRING: lt[string], }, "contains": { token.STRING: contains, }, "unContains": { token.STRING: unContains, }, "startsWith": { token.STRING: startsWith, }, "unStartsWith": { token.STRING: unStartsWith, }, "endsWith": { token.STRING: endsWith, }, "unEndsWith": { token.STRING: unEndsWith, }, "reg": { token.STRING: reg, }, "&": {}, "|": {}, }
View Source
var StdExecutor = New(nil, nil)
Functions ¶
func OperatorAnd ¶
func OperatorOr ¶
Types ¶
type Executor ¶
type Executor struct { FnMap map[string]map[token.Token]conditionFn // KeyMap 字段映射 // 存在映射 => key 转换为映射值 KeyMap map[string]string }
func (*Executor) DoAst ¶
func (e *Executor) DoAst(m map[string]any, ast *expression.AstNode, prefix, suffix string) (result bool, keys []string)
DoAst 执行 ast
Click to show internal directories.
Click to hide internal directories.