@floip/expression-evaluator
v2.1.4
Published
## Introduction The purpose of the project is to enable useful interoperability between Flow-based platforms, and to incentivize the joining of future software tools into an interoperable ecosystem. We will accomplish this through a set of open specificat
Downloads
417
Keywords
Readme
Flow Interoperability Project (FLOIP) Expression Evaluator
Introduction
The purpose of the project is to enable useful interoperability between Flow-based platforms, and to incentivize the joining of future software tools into an interoperable ecosystem. We will accomplish this through a set of open specifications, and a set of open-source toolsets that reduce barriers to adoption. The initial focus is on tools for mobile/web engagement, although the most basic layer of the specification is general and can represent non-mobile business logic.
What are Expressions?
While a flow paradigm is useful in representing control logic in an easy to understand manner for non-technical users, there is a need to both refer to variables collected within other parts of a flow and transform them in basic ways.
Further reading at Flow Specification Gitbook: Expressions
Basic Expression Evaluator Usage
The expression evaluator expects two arguments:
expression
— a string containing a Flow Specification compatible expression within it.context
— an object whose values can be referenced by the provided expression.
import {EvaluatorFactory} from '@floip/expression-evaluator'
const expr = 'Hello @(first_word(contact.name))!'
const ctx = {
contact: {name: 'Marshawn Lynch'}
}
EvaluatorFactory.create()
.evaluate(expr, ctx) // 'Marshawn'