Filter

A component to filter the incoming data based on an arbitrary JSONata expression.

How it works

The filter will pass through the incoming data if it matches the JSONata condition specified in the configuration. You can use any valid JSONata expression.

Here are some examples that are possible:

  • true

  • false

  • $not(false)

  • $not(true)

  • 20 > 5

  • body.foo is true if body.foo is defined and not false

Requirements

Environment variables

By default, no environment variable is necessary to operate the component.

Triggers

This component has no trigger functions. This means it will not be selectable as the first component in an integration flow.

Actions

Simple JSONata filter

This action has two parameters and a checkbox.

Filter condition

A JSONata expression passed in through the configuration. The expression will be evaluated to a value of true or false.

true

A new message with an empty body will be passed forward along with all data that passed the condition.

false

A message will be logged to the console, and the message will not be sent forward to the next component.

Assertion checkbox

This checkbox adds Assertion functionality. Instead of doing nothing, the component will throw an error when the condition is not met.

Metadata to response

Adding passthrough from a previous step to message body as elasticioMeta variable, if enabled.

Additional notes

The JSONata filter expression can be a valid expression; however, it can cause an error to be thrown if it is invalid based on the context.

For example; $number(hello) > five where hello: "world". This JSONata expression is valid but an error will be thrown as hello is NaN.