withDebounce

fun <T : Any> withDebounce(delayDuration: Duration, scope: CoroutineScope, destinationFunction: suspend (T) -> Unit): (T) -> Unit

Return

destinationFunction wrapped with param value tracking for debouncing

Parameters

delayDuration

debounce period as Duration

scope

CoroutineScope for async task processing

destinationFunction

suspend function to debounce