Action

interface Action<in T : Any, out R : Any>

A simple data transformation on a data node. Actions should avoid doing actual dependency evaluation in execute.

Types

Companion
Link copied to clipboard
common
object Companion

Functions

execute
Link copied to clipboard
common
abstract suspend fun execute(dataSet: DataSet<T>, meta: Meta = Meta.EMPTY, scope: CoroutineScope? = null): DataSet<R>

Transform the data in the node, producing a new node. By default it is assumed that all calculations are lazy so not actual computation is started at this moment.

Inheritors

CachingAction
Link copied to clipboard

Extensions

then
Link copied to clipboard
common
infix fun <T : Any, I : Any, R : Any> Action<T, I>.then(action: Action<I, R>): Action<T, R>

Action composition. The result is terminal if one of its parts is terminal