Alex Wood
01/20/2022, 7:53 PM@OptIn(ExperimentalCoroutinesApi::class)
@PublishedApi
internal val sqlDispatcher = Dispatchers.IO.limitedParallelism(100)
suspend inline fun <T> suspendTransaction(
crossinline statement: suspend Transaction.() -> T
) = newSuspendedTransaction(sqlDispatcher) {
statement()
}
suspend inline fun <T> suspendTransaction(
transaction: Transaction,
crossinline statement: suspend Transaction.() -> T
) = transaction.suspendedTransaction(sqlDispatcher) {
statement()
}