[PM-19628] Migrate ResultExtensions to core module (#4934)

This commit is contained in:
Patrick Honkonen
2025-03-31 13:38:45 -04:00
committed by GitHub
parent efec5cb4ca
commit b7948948f0
48 changed files with 93 additions and 99 deletions

View File

@@ -2,9 +2,9 @@
package com.bitwarden.authenticator.data.platform.datasource.network.core
import com.bitwarden.authenticator.data.platform.util.asFailure
import com.bitwarden.authenticator.data.platform.util.asSuccess
import com.bitwarden.core.annotation.OmitFromCoverage
import com.bitwarden.core.data.util.asFailure
import com.bitwarden.core.data.util.asSuccess
import okhttp3.Request
import okio.IOException
import okio.Timeout

View File

@@ -1,22 +0,0 @@
package com.bitwarden.authenticator.data.platform.util
/**
* Flat maps a successful [Result] with the given [transform] to another [Result], and leaves
* failures untouched.
*/
inline fun <T, R> Result<T>.flatMap(transform: (T) -> Result<R>): Result<R> =
this.exceptionOrNull()
?.asFailure()
?: transform(this.getOrThrow())
/**
* Returns the given receiver of type [T] as a "success" [Result].
*/
fun <T> T.asSuccess(): Result<T> =
Result.success(this)
/**
* Returns the given [Throwable] as a "failure" [Result].
*/
fun Throwable.asFailure(): Result<Nothing> =
Result.failure(this)

View File

@@ -3,7 +3,7 @@ package com.bitwarden.authenticator.data.platform.datasource.network.service
import com.bitwarden.authenticator.data.platform.base.BaseServiceTest
import com.bitwarden.authenticator.data.platform.datasource.network.api.ConfigApi
import com.bitwarden.authenticator.data.platform.datasource.network.model.ConfigResponseJson
import com.bitwarden.authenticator.data.platform.util.asSuccess
import com.bitwarden.core.data.util.asSuccess
import kotlinx.coroutines.test.runTest
import kotlinx.serialization.json.JsonPrimitive
import okhttp3.mockwebserver.MockResponse
@@ -43,7 +43,7 @@ private const val CONFIG_RESPONSE_JSON = """
"featureStates": {
"feature one": false
}
}
}
"""
private val CONFIG_RESPONSE = ConfigResponseJson(
type = "config",

View File

@@ -9,7 +9,7 @@ import com.bitwarden.authenticator.data.platform.datasource.network.model.Config
import com.bitwarden.authenticator.data.platform.datasource.network.model.ConfigResponseJson.ServerJson
import com.bitwarden.authenticator.data.platform.datasource.network.service.ConfigService
import com.bitwarden.authenticator.data.platform.manager.DispatcherManager
import com.bitwarden.authenticator.data.platform.util.asSuccess
import com.bitwarden.core.data.util.asSuccess
import io.mockk.coEvery
import io.mockk.mockk
import kotlinx.coroutines.test.runTest