Versions in this module Expand all Collapse all v1 v1.0.0 Apr 20, 2023 Changes in this version + var ErrEmptyExpression = errors.New("empty expression") + var ErrInvalidExpression = errors.New("invalid expression") + var ErrInvalidRule = fmt.Errorf("invalid rule") + var ErrMismatchedParentheses = errors.New("mismatched parentheses") + var ErrMissingDataInContext = fmt.Errorf("missing data in context") + func NewVariable[T ordered](name string) variableFunc[T] + type Attribute interface + type AttributeDescriptor func(value bool) Attribute + func NewAttribute(name string) AttributeDescriptor + type Rule interface + Evaluate func(ctx RuleContext) (bool, error) + Name func() string + func MustParse(name, expr string) Rule + func Parse(name, expr string) (Rule, error) + type RuleContext interface + MergeWith func(ctx RuleContext) RuleContext + func NewContext(elems ...RuleElement) RuleContext + type RuleElement interface + type RuleOverride interface + Name func() string + type RuleSet interface + AddOverride func(override RuleOverride) + AddRule func(rule Rule) + Evaluate func(ctx RuleContext) (bool, error) + func NewRuleSet(rules ...Rule) RuleSet + type Variable interface