v1.16.1
Expr is a Go-centric expression language designed to deliver dynamic configurations with unparalleled accuracy,
safety, and speed.
program, err := expr.Compile(`now() - created_at < duration("24h")`)
output, err := expr.Run(program, env)
In this release:
- Fixed recursive operator overloading bug (#548, #554)
- Fixed AST printing of
?.[
operator (ffaec9e) - Fixed string literal slicing error (#543)
- Compilation performance improvements (95084fb)
- Improved functions call performance (ed89647)
- Refactored
groupBy()
andsortBy()
builtins (#562) - Added operator overloading with
expr.Function()
(#408) - Added
concat()
builtin (#565) - Added
reverse()
builtin (#553) - Added
program.Locations()
method (e53cefe) - Added optional array access
array?.[42]
(#550) - Added compiler optimization for jump opcodes (#545)
- Added compiler optimization for boolean operations with
all
,any
,one
,none
functions (#555)
Expr Editor
The Expr Editor is an embeddable code editor written in JavaScript with
full support of Expr language.
Expr Pro
Expr Pro is a set of extensions for Expr for advanced use cases. It includes
expressions explanation, performance profiling, and more.