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,nonefunctions (#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.