debounceIntentsDecorator
fun <S : MVIState, I : MVIIntent, A : MVIAction> debounceIntentsDecorator(timeout: Duration, name: String? = "DebounceIntents"): PluginDecorator<S, I, A>
Debounces incoming intents, mirroring the semantics of kotlinx.coroutines.flow.debounce.
Only the latest intent emitted after a period of inactivity (defined by timeout) is forwarded downstream. Intents arriving within the timeout window cancel the pending delivery and schedule a new one. A non-positive timeout forwards the intent immediately, matching flow's behavior.
fun <S : MVIState, I : MVIIntent, A : MVIAction> debounceIntentsDecorator(name: String? = "DebounceIntents", timeoutSelector: suspend PipelineContext<S, I, A>.(I) -> Duration): PluginDecorator<S, I, A>
Debounces incoming intents using a dynamic timeout selector, mirroring kotlinx.coroutines.flow.debounce.
The selector is invoked per intent; each positive duration delays forwarding until no newer intents arrive. Non-positive durations deliver immediately. Pending deliveries are cancelled when a new intent arrives.