All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.flow.terminal.Count.kt Maven / Gradle / Ivy

@file:JvmMultifileClass
@file:JvmName("FlowKt")

package kotlinx.coroutines.flow

import kotlin.jvm.*

/**
 * Returns the number of elements in this flow.
 */
public suspend fun  Flow.count(): Int  {
    var i = 0
    collect {
        ++i
    }

    return i
}

/**
 * Returns the number of elements matching the given predicate.
 */
public suspend fun  Flow.count(predicate: suspend (T) -> Boolean): Int {
    var i = 0
    collect { value ->
        if (predicate(value)) {
            ++i
        }
    }

    return i
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy