Versions in this module Expand all Collapse all v0 v0.0.2 Jan 16, 2024 v0.0.1 Nov 13, 2023 Changes in this version + var DefaultCacheSize = 250 + var DefaultHelperFunctions map[string]govaluate.ExpressionFunction + var ErrInvalidDslFunction = errors.New("invalid DSL function signature") + var ErrParsingArg = errors.New("error parsing argument value") + var FunctionNames []string + var PrintDebugCallback func(args ...interface{}) error + var RegexStore = &mapsutil.SyncLockMap[string, *regexp.Regexp] + func AddFunction(function dslFunction) error + func AddMultiSignatureHelperFunction(key string, signatureparts []string, cacheable bool, ...) error + func EvalExpr(expr string, vars map[string]interface{}) (interface{}, error) + func GetFunctionNames(heperFunctions map[string]govaluate.ExpressionFunction) []string + func GetPrintableDslFunctionSignatures(noColor bool) string + func GetPublicIP() string + func HelperFunctions() map[string]govaluate.ExpressionFunction + func MustAddFunction(function dslFunction) + func NewWithMultipleSignatures(name string, signatures []string, cacheable bool, ...) dslFunction + func NewWithPositionalArgs(name string, numberOfArgs int, cacheable bool, ...) dslFunction + func NewWithSingleSignature(name, signature string, cacheable bool, logic govaluate.ExpressionFunction) dslFunction + func RandSeq(base string, n int) string + func Regex(regxp string) (*regexp.Regexp, error) + func TrimAll(s, cutset string) string + type Engine struct + ExpressionStore map[string]*govaluate.EvaluableExpression + HelperFunctions map[string]govaluate.ExpressionFunction + func NewEngine() (*Engine, error) + func (e *Engine) EvalExpr(expr string, vars map[string]interface{}) (interface{}, error) + func (e *Engine) EvalExprFromCache(expr string, vars map[string]interface{}) (interface{}, error)