Respresso’s flow lets you change the way your resources are converted. It is a data flow that you can change and extend with your processing logic.
How does it work?
A flow is a declarative description of a data flow. This is represented as a dependency graph where nodes represent some kind of transformation and the edges are data dependencies.
As you request to execute a node in a flow, the system automatically starts resolving all of its dependencies. Once the data is ready at the input, the target transformation is executed and the result is returned.
A transformation can be a simple data modification, your remote conversion or another flow. The data passed to a transformation can be piped to fuse multiple data into a single input.
What does it look like?
The flow is described as a simple XML file which is designed to be readable and modifiable by hand.
Its most simple form:
<flow> <nodes> <processor name="ios"/> ... <processor name="android"/> </nodes> <connections> <connection from="@input" to="ios"/> ... <connection from="ios" to="@output"/> </connections> </flow>