A Python-based JEXL parser and evaluator.
NOTE: This library handles the JEXL from TomFrost's JEXL library. It does NOT handle the similarly-named Apache Commons JEXL language.
- JavaScript-style implicit type conversions aren't supported, but may be added in the future. Instead, Python type semantics are used.
- Property access is only supported for mapping objects currently.
- Several odd edge-cases in JEXL are ignored because they are unintuitive,
difficult to implement, or a bad pattern:
- Implicitly using the first element in an array when chaining identifiers
is not supported. In JEXL, if
foo.baris a list, the expressionfoo.bar.bazis equivalent tofoo.bar[0].baz. - Conditional expressions (AKA ternary expressions) cannot have a missing
consequent, i.e.
"foo" ?: 4is invalid.
- Implicitly using the first element in an array when chaining identifiers
is not supported. In JEXL, if
Licensed under the MIT License. See LICENSE for details.