DataSetBuilder

interface DataSetBuilder<in T : Any>

Inheritors

Properties

Link copied to clipboard
abstract val dataType: KType

Functions

Link copied to clipboard
abstract fun data(name: Name, data: Data<T>?)
Link copied to clipboard
fun <T : Any> DataSetBuilder<T>.data(name: String, value: Data<T>)
Link copied to clipboard
abstract fun meta(name: Name, meta: Meta)

Set meta for the given node

Link copied to clipboard
fun <T : Any> DataSetBuilder<T>.meta(mutableMeta: MutableMeta.() -> Unit)
fun <T : Any> DataSetBuilder<T>.meta(value: Meta)

Define meta in this DataSet

Link copied to clipboard
open fun node(name: Name, dataSet: DataSet<T>)

Set a current state of given dataSet into a branch name. Does not propagate updates

Link copied to clipboard
inline fun <T : Any> DataSetBuilder<T>.node(name: String, crossinline block: DataSetBuilder<T>.() -> Unit)
fun <T : Any> DataSetBuilder<T>.node(name: String, set: DataSet<T>)
inline fun <T : Any> DataSetBuilder<T>.node(name: Name, crossinline block: DataSetBuilder<T>.() -> Unit)
Link copied to clipboard

Update data with given node data and meta with node meta.

Link copied to clipboard
inline fun <T : Any> DataSetBuilder<T>.produce(name: String, meta: Meta = Meta.EMPTY, noinline producer: suspend () -> T)

Produce lazy Data and emit it into the DataSetBuilder

inline fun <T : Any> DataSetBuilder<T>.produce(name: Name, meta: Meta = Meta.EMPTY, noinline producer: suspend () -> T)
Link copied to clipboard
abstract fun remove(name: Name)

Remove all data items starting with name

Link copied to clipboard
fun <T : Any> DataSetBuilder<T>.set(value: NamedData<T>)
Link copied to clipboard
inline fun <T : Any> DataSetBuilder<T>.static(name: String, data: T, mutableMeta: MutableMeta.() -> Unit)
inline fun <T : Any> DataSetBuilder<T>.static(name: Name, data: T, meta: Meta = Meta.EMPTY)

inline fun <T : Any> DataSetBuilder<T>.static(name: String, data: T, meta: Meta = Meta.EMPTY)

Emit a static data with the fixed value