1# Module kotlinx-coroutines-reactive 2 3Utilities for [Reactive Streams](https://www.reactive-streams.org). 4 5Coroutine builders: 6 7| **Name** | **Result** | **Scope** | **Description** 8| --------------- | ----------------------------- | ---------------- | --------------- 9| [kotlinx.coroutines.reactive.publish] | `Publisher` | [ProducerScope] | Cold reactive publisher that starts the coroutine on subscribe 10 11Integration with [Flow]: 12 13| **Name** | **Result** | **Description** 14| --------------- | -------------- | --------------- 15| [Publisher.asFlow] | `Flow` | Converts the given publisher to a flow 16| [Flow.asPublisher] | `Publisher` | Converts the given flow to a TCK-compliant publisher 17 18If these adapters are used along with `kotlinx-coroutines-reactor` in the classpath, then Reactor's `Context` is properly 19propagated as coroutine context element (`ReactorContext`) and vice versa. 20 21Suspending extension functions and suspending iteration: 22 23| **Name** | **Description** 24| -------- | --------------- 25| [Publisher.awaitFirst][org.reactivestreams.Publisher.awaitFirst] | Returns the first value from the given publisher 26| [Publisher.awaitFirstOrDefault][org.reactivestreams.Publisher.awaitFirstOrDefault] | Returns the first value from the given publisher or default 27| [Publisher.awaitFirstOrElse][org.reactivestreams.Publisher.awaitFirstOrElse] | Returns the first value from the given publisher or default from a function 28| [Publisher.awaitFirstOrNull][org.reactivestreams.Publisher.awaitFirstOrNull] | Returns the first value from the given publisher or null 29| [Publisher.awaitLast][org.reactivestreams.Publisher.awaitFirst] | Returns the last value from the given publisher 30| [Publisher.awaitSingle][org.reactivestreams.Publisher.awaitSingle] | Returns the single value from the given publisher 31 32<!--- MODULE kotlinx-coroutines-core --> 33<!--- INDEX kotlinx.coroutines --> 34<!--- INDEX kotlinx.coroutines.flow --> 35[Flow]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html 36<!--- INDEX kotlinx.coroutines.channels --> 37[ProducerScope]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/-producer-scope/index.html 38<!--- MODULE kotlinx-coroutines-reactive --> 39<!--- INDEX kotlinx.coroutines.reactive --> 40[kotlinx.coroutines.reactive.publish]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/publish.html 41[Publisher.asFlow]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/as-flow.html 42[Flow.asPublisher]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/kotlinx.coroutines.flow.-flow/as-publisher.html 43[org.reactivestreams.Publisher.awaitFirst]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/await-first.html 44[org.reactivestreams.Publisher.awaitFirstOrDefault]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/await-first-or-default.html 45[org.reactivestreams.Publisher.awaitFirstOrElse]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/await-first-or-else.html 46[org.reactivestreams.Publisher.awaitFirstOrNull]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/await-first-or-null.html 47[org.reactivestreams.Publisher.awaitSingle]: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-reactive/kotlinx.coroutines.reactive/org.reactivestreams.-publisher/await-single.html 48<!--- END --> 49 50# Package kotlinx.coroutines.reactive 51 52Utilities for [Reactive Streams](https://www.reactive-streams.org). 53