[jOOQ/jOOQ#9335] The Unit vs T specialisation isn't necessary in kotlin
This commit is contained in:
parent
7ef55aff8c
commit
91438c5122
@ -1,25 +1,15 @@
|
||||
package org.jooq.kotlin.coroutines
|
||||
|
||||
import kotlinx.coroutines.reactive.awaitFirst
|
||||
import kotlinx.coroutines.reactive.awaitFirstOrNull
|
||||
import kotlinx.coroutines.reactor.mono
|
||||
import org.jooq.*
|
||||
import org.jooq.impl.DSL.*
|
||||
import java.util.stream.Collector
|
||||
import org.jooq.Configuration
|
||||
import org.jooq.DSLContext
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Extensions to bridge between the reactive-streams and the coroutine world
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
suspend fun DSLContext.transactionCoroutine(transactional: suspend (Configuration) -> Unit) {
|
||||
transactionPublisher { c ->
|
||||
mono {
|
||||
transactional.invoke(c)
|
||||
}
|
||||
}.awaitFirst()
|
||||
}
|
||||
|
||||
suspend fun <T> DSLContext.transactionCoroutineResult(transactional: suspend (Configuration) -> T): T {
|
||||
suspend fun <T> DSLContext.transactionCoroutine(transactional: suspend (Configuration) -> T): T {
|
||||
return transactionPublisher { c ->
|
||||
mono {
|
||||
transactional.invoke(c)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user