reducePlugin

inline fun <S : MVIState, I : MVIIntent, A : MVIAction> reducePlugin(consume: Boolean = true, name: String = ReducePluginName, crossinline reduce: Reduce<S, I, A>): StorePlugin<S, I, A>

Create a new plugin that simply invokes StorePlugin.onIntent, processes it and does not change the intent.

To change the intent, either create your own plugin or use PipelineContext to manage the store.

Name is hardcoded because usually multiple reducers are not used.

Provide your own name if you want to have multiple reducers.

Events will be consumed (not passed along the chain of plugins) if consume is true (true by default).