Skip to main content

Transforming data

Transformations are the snippets of the logic applied to a single events passing through the link between two ports. Transformations help to transform the structure and format of the data between components. The purpose of transformations is to reduce the complexity of accessing and integrating data that does not perfectly match the standardized inputs and outputs of the components. Use transformations to "glue" the components together. Avoid using transformations to implement application logic, because that will decrease the maintainability and readability of the schema.

How to apply transformation?#

To apply data transformation, select the wire between two components and open Settings dialog (press Spacebar or right-click and select Settings in the context menu). Then select transformation type (in the middle of the dialog window) that suites your needs.

https://cdn.sanity.io/images/n16unevp/production/89458610bb2fc2d00756a2e8a0c5fd323950f71d-2470x1380.png?w=1000&fit=max

You can chain multiple transformations on the same wire. Each next transformation in the chain will be applied to the output of the previous transformation. Click on a "+" button to add next transformation in the chain.

Query Transformations#

Query transformations provide general-purpose query language for JSON data format. You can extract and transform elements from a JSON document of any arbitrary structure.

JMESpath#

JMESPath is a query language for JSON. You can extract and transform elements from a JSON document. Learn more about JMESpath query language.

KelpQL#

KelpQL is a query language for JS Object. You can extract and transform elements from a JS document.

JSPath#

JSPath is another query language for JSON that enables you to find data within your JSON documents. Learn more about JSPath query language.

General Transformations#

  • Signal to data. Convert signal events to data events.
  • Skip data. Filter out all or specific data events from the stream.
  • Skip signals. Filter out all or specific signals events from the stream.
  • KelpQL filter events. Filter data events using KelpQL logical expressions.
  • JMESPath filter events. Filter data events using JMESPath logical expressions.
  • Log to Console. Log incoming events to the browser console.
  • JSON to String. Convert a JSON object into a String.
  • Parse JSON. Convert a String into a JSON.