Package-level declarations

Types

Link copied to clipboard
abstract class AbstractAction<in T : Any, R : Any>(val outputType: KType) : Action<T, R>

An action that caches results on-demand and recalculates them on source push

Link copied to clipboard
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.

Link copied to clipboard
data class ActionEnv(val name: Name, val meta: Meta, val actionMeta: Meta)

Action environment includes data name, data meta and action configuration meta

Link copied to clipboard
class JoinGroup<T : Any, R : Any>(var name: String, set: DataSet<T>, outputType: KType)
Link copied to clipboard
class MapActionBuilder<T, R>(var name: Name, var meta: MutableMeta, val actionMeta: Meta, outputType: KType)

Action environment

Link copied to clipboard
class ReduceGroupBuilder<T : Any, R : Any>(val actionMeta: Meta, outputType: KType)
Link copied to clipboard
class SplitBuilder<T : Any, R : Any>(val name: Name, val meta: Meta)

Functions

Link copied to clipboard
operator fun <T : Any, R : Any> Action<T, R>.invoke(dataSet: DataSet<T>, meta: Meta = Meta.EMPTY): DataSet<R>
Link copied to clipboard
inline fun <T : Any, R : Any> Action.Companion.map(noinline builder: MapActionBuilder<T, R>.() -> Unit): Action<T, R>

A one-to-one mapping action

Link copied to clipboard
inline fun <T : Any, R : Any> Action.Companion.reduce(noinline builder: ReduceGroupBuilder<T, R>.() -> Unit): Action<T, R>

A one-to-one mapping action

Link copied to clipboard
inline fun <T : Any, R : Any> Action.Companion.split(noinline builder: SplitBuilder<T, R>.() -> Unit): Action<T, R>

Action that splits each incoming element into a number of fragments defined in builder

Link copied to clipboard
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