Remove unnecessary reification from Kotlin R2DBC extensions.

This allows calling the extensions from generic code that has erased types.

Original pull request #1496
This commit is contained in:
Oleg Oshmyan
2023-04-15 16:19:04 +03:00
committed by Jens Schauder
parent c4ce7089ed
commit c4741dece2
2 changed files with 7 additions and 5 deletions

View File

@@ -21,6 +21,7 @@ import kotlinx.coroutines.reactive.awaitSingle
* Extensions for [ReactiveInsertOperation].
*
* @author Mark Paluch
* @author Oleg Oshmyan
* @since 1.1
*/
@@ -33,5 +34,5 @@ inline fun <reified T : Any> ReactiveInsertOperation.insert(): ReactiveInsertOpe
/**
* Coroutines variant of [ReactiveInsertOperation.TerminatingInsert.using].
*/
suspend inline fun <reified T : Any> ReactiveInsertOperation.TerminatingInsert<T>.usingAndAwait(o: T): T =
suspend fun <T : Any> ReactiveInsertOperation.TerminatingInsert<T>.usingAndAwait(o: T): T =
using(o).awaitSingle()

View File

@@ -24,6 +24,7 @@ import kotlinx.coroutines.reactive.awaitSingle
* Extensions for [ReactiveSelectOperation].
*
* @author Mark Paluch
* @author Oleg Oshmyan
* @since 1.1
*/
@@ -42,25 +43,25 @@ inline fun <reified T : Any> ReactiveSelectOperation.SelectWithProjection<*>.asT
/**
* Non-nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.one].
*/
suspend inline fun <reified T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitOne(): T =
suspend fun <T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitOne(): T =
one().awaitSingle()
/**
* Nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.one].
*/
suspend inline fun <reified T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitOneOrNull(): T? =
suspend fun <T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitOneOrNull(): T? =
one().awaitFirstOrNull()
/**
* Non-nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.first].
*/
suspend inline fun <reified T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitFirst(): T =
suspend fun <T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitFirst(): T =
first().awaitSingle()
/**
* Nullable Coroutines variant of [ReactiveSelectOperation.TerminatingSelect.first].
*/
suspend inline fun <reified T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitFirstOrNull(): T? =
suspend fun <T : Any> ReactiveSelectOperation.TerminatingSelect<T>.awaitFirstOrNull(): T? =
first().awaitFirstOrNull()
/**