Versions in this module Expand all Collapse all v1 v1.3.0 Sep 27, 2022 v1.2.0 Jun 24, 2022 v1.1.2 Mar 15, 2022 Changes in this version type OperatorSymbol + const CONTAINS_IN + const ENDSWITH_IN + const STARTSWITH_IN v1.1.1 Mar 4, 2022 v1.1.0 Mar 3, 2022 Changes in this version + var Builtins = map[string]ExpressionFunction + func MarshalJSON() + func Random(n int) bool type EvaluableExpression + func NewEvaluableExpressionFromAST(ast *EvaluationTree) (expr *EvaluableExpression, err error) + func NewEvaluableExpressionFromASTWithFunctions(ast *EvaluationTree, functions map[string]ExpressionFunction) (expr *EvaluableExpression, err error) + func NewEvaluableExpressionFromJSON(ast []byte) (expr *EvaluableExpression, err error) + type EvaluationParameter struct + Name string + Value interface{} + type EvaluationTree struct + func (t *EvaluationTree) MarshalJSON() (data []byte, err error) + func (t *EvaluationTree) String() string + func (t *EvaluationTree) UnmarshalJSON(data []byte) error + type Function struct + Args []string + Name string + Returns []interface{} type OperatorSymbol + func Symbol(symbol string) (op OperatorSymbol, err error) + type Reference struct + Name string + Nullable bool + References []Reference + Type string + func References(name string, x interface{}) (ref Reference) v1.0.2 Dec 22, 2021 Changes in this version + var DUMMY_PARAMETERS = MapParameters(map[string]interface{}{}) + type EvaluableExpression struct + ChecksTypes bool + QueryDateFormat string + func NewEvaluableExpression(expression string) (*EvaluableExpression, error) + func NewEvaluableExpressionFromTokens(tokens []ExpressionToken) (*EvaluableExpression, error) + func NewEvaluableExpressionWithFunctions(expression string, functions map[string]ExpressionFunction) (*EvaluableExpression, error) + func (expr EvaluableExpression) Eval(parameters Parameters) (interface{}, error) + func (expr EvaluableExpression) Evaluate(parameters map[string]interface{}) (interface{}, error) + func (expr EvaluableExpression) String() string + func (expr EvaluableExpression) ToSQLQuery() (string, error) + func (expr EvaluableExpression) Tokens() []ExpressionToken + func (expr EvaluableExpression) Vars() []string + type ExpressionFunction func(arguments ...interface{}) (interface{}, error) + type ExpressionToken struct + Kind TokenKind + Value interface{} + type MapParameters map[string]interface + func (p MapParameters) Get(name string) (interface{}, error) + type OperatorSymbol int + const ACCESS + const AND + const BITWISE_AND + const BITWISE_LSHIFT + const BITWISE_NOT + const BITWISE_OR + const BITWISE_RSHIFT + const BITWISE_XOR + const COALESCE + const DIVIDE + const EQ + const EXPONENT + const FUNCTIONAL + const GT + const GTE + const IN + const INVERT + const LITERAL + const LT + const LTE + const MINUS + const MODULUS + const MULTIPLY + const NEGATE + const NEQ + const NOOP + const NREQ + const OR + const PLUS + const REQ + const SEPARATE + const TERNARY_FALSE + const TERNARY_TRUE + const VALUE + func (sym OperatorSymbol) IsModifierType(candidate []OperatorSymbol) bool + func (sym OperatorSymbol) String() string + type Parameters interface + Get func(name string) (interface{}, error) + type TokenKind int + const ACCESSOR + const BOOLEAN + const CLAUSE + const CLAUSE_CLOSE + const COMPARATOR + const FUNCTION + const LOGICALOP + const MODIFIER + const NUMERIC + const PATTERN + const PREFIX + const SEPARATOR + const STRING + const TERNARY + const TIME + const UNKNOWN + const VARIABLE + func (kind TokenKind) String() string