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 ...)
open suspend fun notifyStateUpdate(state: UIState, event: UIEvent): Unit |
abstract suspend fun getState(): UIState |
|
abstract suspend fun publishEvent(event: UIEvent): Unit |
|
abstract suspend fun publishState(state: UIState, pushStateUpdate: Boolean = true): Unit |
|
open suspend fun sendEvent(event: UIEvent): Unitopen suspend fun sendEvent(event: () -> UIEvent): Unit |
|
open suspend fun setState(state: UIState): Unitopen suspend fun setState(state: () -> UIState): Unit |
suspend fun <T : UIState> StatePublisher.getStateOrNull(): T? |
|
suspend fun <T : UIState> StatePublisher.onState(code: (T) -> Unit): Unit |