@balena/jellyfish-jellyscript
v7.11.5
Published
Jellyscript library for Jellyfish
Downloads
3,063
Readme
Installation
Install @balena/jellyfish-jellyscript
by running:
npm install --save @balena/jellyfish-jellyscript
Usage
Jellyscript looks for the keyword $$formula
in your schema and evaluates the expression it finds there.
The full object data being evaluated is provided to the script execution scope as contract
and the current field being evaluated is provided as input
.
A $$formula
field must be an expression, and aliases and variables are not supported.
Jellyscript supports all the functions provided by FormulaJS
Below is an example how to use this library:
import { Jellyscript } from '@balena/jellyfish-jellyscript';
const parser = new Jellyscript();
const schema = {
type: 'object',
properties: {
number: {
type: 'string',
$$formula: 'SUM(contract.input, 10)',
},
lucky: {
type: 'boolean',
$$formula: 'contract.number === 13 ? true: false',
},
input: {
type: 'number',
},
},
};
const data = {
input: 3,
};
const result = parser.evaluateObject(schema, data);
console.log(result); // --> { lucky: true, number: 13, input: 3, }