You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Synchronous transforms/functions only**: Custom transforms and functions must now be synchronous. They should return values directly rather than Promises.
16
+
-**Removed transforms**: The transform/pipe operator (`|`) has been completely removed. Use functions instead.
17
+
-**Removed array filtering**: Relative filter expressions (e.g., `array[.property == value]`) have been removed. Bracket notation for array/object access (e.g., `array[0]`, `object["key"]`) still works.
18
+
-**Removed transform methods**: `addTransform()`, `addTransforms()`, and `getTransform()` have been removed.
17
19
18
20
### Changed
19
21
20
22
- Simplified codebase by removing Promise/PromiseSync abstraction layer
21
23
- All evaluation is now synchronous, improving performance and simplifying error handling
22
24
- Errors are now thrown directly rather than being rejected Promises
25
+
- Removed pipe operator (`|`) from grammar
26
+
- Removed filter bracket syntax for relative filtering
23
27
24
28
### Migration Guide
25
29
26
30
- Replace `await jexl.eval(expr)` with `jexl.eval(expr)` (remove await)
27
31
- Replace `jexl.evalSync(expr)` with `jexl.eval(expr)` (remove Sync suffix)
28
-
- Update custom transforms/functions to be synchronous
32
+
- Replace transforms with functions: change `value|transform(arg)` to `transform(value, arg)`
33
+
- Remove uses of relative filtering syntax `array[.prop == value]` (note: direct indexing like `array[0]` still works)
29
34
- Replace `.catch()` error handling with `try/catch` blocks
Copy file name to clipboardExpand all lines: README.md
+49-44Lines changed: 49 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,16 @@
2
2
3
3
A fork of the jexl lang for jbrowse
4
4
5
+
## What's New in v3.0
6
+
7
+
Version 3.0 is a major simplification of Jexl with breaking changes:
8
+
9
+
-**Synchronous only** - All evaluation is synchronous. No async/await needed.
10
+
-**No transforms** - The pipe operator (`|`) has been removed. Use functions instead.
11
+
-**No filter expressions** - Relative filter syntax like `array[.property == value]` has been removed. Regular bracket notation for indexing (`array[0]`, `object["key"]`) still works.
12
+
13
+
See [CHANGELOG.md](CHANGELOG.md) for migration guide.
0 commit comments