Package-level declarations
Types
Link copied to clipboard
Defines the mode of delegation between stores. This interface determines how and when the delegate store's state is projected to the principal store.
Link copied to clipboard
class StoreDelegate<S : MVIState, I : MVIIntent, A : MVIAction>(delegate: Store<S, I, A>, mode: DelegationMode = DelegationMode.Default) : ReadOnlyProperty<Any?, Flow<S>>
An object that provides access to the state of the delegate store. Can be used with the pro.respawn.flowmvi.plugins.delegate.delegate Store dsl to obtain the state projection:
Functions
Link copied to clipboard
fun <S : MVIState, I : MVIIntent, A : MVIAction, CS : MVIState, CI : MVIIntent, CA : MVIAction> StoreBuilder<S, I, A>.delegate(store: Store<CS, CI, CA>, mode: DelegationMode = DelegationMode.Default, name: String? = store.name?.let { "${it}DelegatePlugin" }, start: Boolean = true, blocking: Boolean = false, consume: ChildConsume<S, I, A, CA>? = null): StoreDelegate<CS, CI, CA>
Create a new StoreDelegate and install it as a storeDelegatePlugin.
Link copied to clipboard
fun <S : MVIState, I : MVIIntent, A : MVIAction, CS : MVIState, CI : MVIIntent, CA : MVIAction> storeDelegatePlugin(delegate: StoreDelegate<CS, CI, CA>, name: String? = delegate.name, start: Boolean = true, blocking: Boolean = false, consume: ChildConsume<S, I, A, CA>? = null): StorePlugin<S, I, A>
Creates a new plugin that will: