compositePlugin

fun <S : MVIState, I : MVIIntent, A : MVIAction> compositePlugin(plugins: List<StorePlugin<S, I, A>>, name: String? = null): StorePlugin<S, I, A>

A plugin that delegates to plugins in the iteration order.

This can be used to make several plugins appear as a single one for consumers, for example, when a plugin requires another plugin to be installed.

This is an implementation of the "Composite" pattern and the "Chain or Responsibility" pattern.

The plugins list must support random element access in order to be performant


fun <S : MVIState, I : MVIIntent, A : MVIAction> compositePlugin(first: StorePlugin<S, I, A>, vararg other: StorePlugin<S, I, A>, name: String? = null): StorePlugin<S, I, A>

A plugin that delegates to first and other in the declaration order.

This can be used to make several plugins appear as a single one for consumers, for example, when a plugin requires another plugin to be installed.

This is an implementation of the "Composite" pattern and the "Chain or Responsibility" pattern.