potentially first version of SmartKeyRWLocker

This commit is contained in:
2025-03-23 11:16:45 +06:00
parent 4c9e435df8
commit 761070b9b7
7 changed files with 182 additions and 28 deletions

View File

@@ -19,7 +19,7 @@ class RollbackContext<T> internal constructor (
*
* @param rollback Will be called if
*/
suspend fun <T> TransactionsDSL.rollbackableOperation(
suspend fun <T> TransactionsDSL.rollableBackOperation(
rollback: suspend RollbackContext<T>.() -> Unit,
action: suspend () -> T
): T {
@@ -34,7 +34,7 @@ suspend fun <T> TransactionsDSL.rollbackableOperation(
}
/**
* Starts transaction with opportunity to add actions [rollbackableOperation]. How to use:
* Starts transaction with opportunity to add actions [rollableBackOperation]. How to use:
*
* ```kotlin
* doSuspendTransaction {

View File

@@ -1,5 +1,5 @@
import dev.inmo.micro_utils.transactions.doSuspendTransaction
import dev.inmo.micro_utils.transactions.rollbackableOperation
import dev.inmo.micro_utils.transactions.rollableBackOperation
import kotlinx.coroutines.test.runTest
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -19,7 +19,7 @@ class TransactionsDSLTests {
val actionResult = doSuspendTransaction {
dataCollections.forEachIndexed { i, _ ->
val resultData = rollbackableOperation({
val resultData = rollableBackOperation({
dataCollections[i] = actionResult.copy(second = true)
}) {
val result = dataCollections[i]
@@ -56,7 +56,7 @@ class TransactionsDSLTests {
val actionResult = doSuspendTransaction {
dataCollections.forEachIndexed { i, _ ->
val resultData = rollbackableOperation({
val resultData = rollableBackOperation({
assertTrue(error === this.error)
dataCollections[i] = actionResult.copy(second = true)
}) {