uniflow-core / io.uniflow.core.flow / DataPublisher

DataPublisher

interface DataPublisher : StatePublisher, EventPublisher

Component that handle State & Event

notifyStateUpdate - help notify a data update via event, instead of publishing a state useful when need to notify part data update (like lists ...)

Functions

notifyStateUpdate

open suspend fun notifyStateUpdate(state: UIState, event: UIEvent): Unit

Inherited Functions

getState

abstract suspend fun getState(): UIState

publishEvent

abstract suspend fun publishEvent(event: UIEvent): Unit

publishState

abstract suspend fun publishState(state: UIState, pushStateUpdate: Boolean = true): Unit

sendEvent

open suspend fun sendEvent(event: UIEvent): Unit
open suspend fun sendEvent(event: () -> UIEvent): Unit

setState

open suspend fun setState(state: UIState): Unit
open suspend fun setState(state: () -> UIState): Unit

Extension Functions

getStateOrNull

suspend fun <T : UIState> StatePublisher.getStateOrNull(): T?

onState

suspend fun <T : UIState> StatePublisher.onState(code: (T) -> Unit): Unit