retryWithDelay

fun <T> Flow<T>.retryWithDelay(retries: Int = 3, initialDelay: Long = 1000, maxDelay: Long = 10000, factor: Double = 2.0, shouldRetry: (Throwable) -> Boolean = { true }): Flow<T>