collectWhile

inline suspend fun <T> Flow<T>.collectWhile(crossinline predicate: suspend (value: T) -> Boolean)