package de.timklge.karooheadwind import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow fun Flow.throttle(timeout: Long): Flow = flow { var lastEmissionTime = 0L collect { value -> val currentTime = System.currentTimeMillis() if (currentTime - lastEmissionTime >= timeout) { emit(value) lastEmissionTime = currentTime } } }