diff --git a/extensions/async-extensions/src/commonMain/kotlin/app/cash/sqldelight/async/coroutines/QueryExtensions.kt b/extensions/async-extensions/src/commonMain/kotlin/app/cash/sqldelight/async/coroutines/QueryExtensions.kt index 17bb4ea359b..52808bc141a 100644 --- a/extensions/async-extensions/src/commonMain/kotlin/app/cash/sqldelight/async/coroutines/QueryExtensions.kt +++ b/extensions/async-extensions/src/commonMain/kotlin/app/cash/sqldelight/async/coroutines/QueryExtensions.kt @@ -1,19 +1,19 @@ package app.cash.sqldelight.async.coroutines -import app.cash.sqldelight.Query +import app.cash.sqldelight.ExecutableQuery -suspend fun Query.awaitAsList(): List = execute { cursor -> +suspend fun ExecutableQuery.awaitAsList(): List = execute { cursor -> val result = mutableListOf() while (cursor.next()) result.add(mapper(cursor)) result }.await() -suspend fun Query.awaitAsOne(): T { +suspend fun ExecutableQuery.awaitAsOne(): T { return awaitAsOneOrNull() ?: throw NullPointerException("ResultSet returned null for $this") } -suspend fun Query.awaitAsOneOrNull(): T? = execute { cursor -> +suspend fun ExecutableQuery.awaitAsOneOrNull(): T? = execute { cursor -> if (!cursor.next()) return@execute null val value = mapper(cursor) check(!cursor.next()) { "ResultSet returned more than 1 row for $this" }