asFlow

fun <T> () -> T.asFlow(): Flow<T>(source)

Creates a cold flow that produces a single value from the given functional type.


fun <T> suspend () -> T.asFlow(): Flow<T>(source)

Creates a cold flow that produces a single value from the given functional type.

Example of usage:

suspend fun remoteCall(): R = ...
fun remoteCallFlow(): Flow<R> = ::remoteCall.asFlow()

fun <T> Iterable<T>.asFlow(): Flow<T>(source)

Creates a cold flow that produces values from the given iterable.


fun <T> Iterator<T>.asFlow(): Flow<T>(source)

Creates a cold flow that produces values from the given iterator.


fun <T> Sequence<T>.asFlow(): Flow<T>(source)

Creates a cold flow that produces values from the given sequence.


fun <T> Array<T>.asFlow(): Flow<T>(source)

Creates a cold flow that produces values from the given array. The flow being cold means that the array components are read every time a terminal operator is applied to the resulting flow.


Creates a cold flow that produces values from the array. The flow being cold means that the array components are read every time a terminal operator is applied to the resulting flow.


Creates a flow that produces values from the range.


Deprecated (with error)

'BroadcastChannel' is obsolete and all corresponding operators are deprecated in the favour of StateFlow and SharedFlow

Represents the given broadcast channel as a hot flow. Every flow collector will trigger a new broadcast channel subscription.

Cancellation semantics

  1. Flow consumer is cancelled when the original channel is cancelled.

  2. Flow consumer completes normally when the original channel completes (~is closed) normally.

  3. If the flow consumer fails with an exception, subscription is cancelled.