3
0
corteza/pkg/expr/expr.go

32 lines
616 B
Go

package expr
import (
"fmt"
"github.com/PaesslerAG/gval"
)
func Parser(ll ...gval.Language) gval.Language {
return gval.Full(append(AllFunctions(), ll...)...)
}
func AllFunctions() []gval.Language {
ff := make([]gval.Language, 0, 100)
//ff = append(ff, GenericFunctions()...)
ff = append(ff, StringFunctions()...)
ff = append(ff, NumericFunctions()...)
ff = append(ff, TimeFunctions()...)
return ff
}
// utility function for examples
func eval(e string, p interface{}) {
result, err := Parser().Evaluate(e, p)
if err != nil {
fmt.Printf("error: %v", err)
} else {
fmt.Printf("%v", result)
}
}