Core AST and serializers for jsonata-ui
npm install jsonata-ui-core
The core library includes a serializer to turning JSONata ASTs back into strings.
import {serializer} from "jsonata-ui-core";
import jsonata from "jsonata"
const input = `a.b.c = "foo"`;
const ast = jsonata(input).ast();
const output = serializer(ast);
console.log("There and back again", input, output);
This library serializes ASTs, and aims to match versions numbers with jsonata-js. This is because the ASTs returned by jsonata vary significantly by version.
jsonata | Jsonata-ui-core |
---|---|
1.7.x | 1.7.x |
<1.6.x | Not supported |
- Some operators not yet implemented
- Complex
thunk
functions:λ($f) { λ($x) { $x($x) }( λ($g) { $f( (λ($a) {$g($g)($a)}))})}(λ($f) { λ($n) { $n < 2 ? 1 : $n * $f($n - 1) } })(6)
- Regex:
$matcher := /[a-z]*an[a-z]*/i
- Partial function application
( $first5 := $substring(?, 0, 5); $first5("Hello, World") )
- Transform operator:
| Account.Order.Product | {'Price': Price * 1.2} |
- Conditional without else:
Account ? null
vsAccount ? null : true
- Merged back into main
jsonata-js
package
Sponsored by SaaSquatch. Loyalty, point and referral programs for forward-looking companies.