diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 5932c50..ebfd443 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ # List of dependencies of the project [versions] -ktor = "2.3.8" # https://github.com/ktorio/ktor/releases arrow = "1.2.1" # https://github.com/arrow-kt/arrow/releases prepared = "1.0.0-rc.2" # https://gitlab.com/opensavvy/prepared/-/releases +ktor = "2.3.11" # https://github.com/ktorio/ktor/releases kotlinx-coroutines = "1.8.0" # https://github.com/Kotlin/kotlinx.coroutines/releases [plugins] -- 2.51.2 From a27494a4a5124fed9af18aead56af78b6204d300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 12 Jun 2024 20:21:17 +0200 Subject: [PATCH 2/4] upgrade: Arrow 1.2.4 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ebfd443..a530769 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ # List of dependencies of the project [versions] -arrow = "1.2.1" # https://github.com/arrow-kt/arrow/releases prepared = "1.0.0-rc.2" # https://gitlab.com/opensavvy/prepared/-/releases ktor = "2.3.11" # https://github.com/ktorio/ktor/releases +arrow = "1.2.4" # https://github.com/arrow-kt/arrow/releases kotlinx-coroutines = "1.8.0" # https://github.com/Kotlin/kotlinx.coroutines/releases [plugins] -- 2.51.2 From 510895429dda0c175854bb5c6c1424b111f38d7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 12 Jun 2024 20:21:30 +0200 Subject: [PATCH 3/4] upgrade: Prepared 1.2.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a530769..1ce4055 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ # List of dependencies of the project [versions] -prepared = "1.0.0-rc.2" # https://gitlab.com/opensavvy/prepared/-/releases ktor = "2.3.11" # https://github.com/ktorio/ktor/releases arrow = "1.2.4" # https://github.com/arrow-kt/arrow/releases +prepared = "1.2.0" # https://gitlab.com/opensavvy/prepared/-/releases kotlinx-coroutines = "1.8.0" # https://github.com/Kotlin/kotlinx.coroutines/releases [plugins] -- 2.51.2 From ae806d0e94a29f097beb4c1d400d3297cd960a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivan=20=E2=80=9CCLOVIS=E2=80=9D=20Canet?= Date: Wed, 12 Jun 2024 20:38:58 +0200 Subject: [PATCH 4/4] feat(client-arrow): Create the SpineResponse.body() function --- client-arrow/build.gradle.kts | 2 ++ client-arrow/src/commonMain/kotlin/Marker.kt | 3 --- client-arrow/src/commonMain/kotlin/SpineResponse.kt | 10 ++++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) delete mode 100644 client-arrow/src/commonMain/kotlin/Marker.kt create mode 100644 client-arrow/src/commonMain/kotlin/SpineResponse.kt diff --git a/client-arrow/build.gradle.kts b/client-arrow/build.gradle.kts index 529a622..7e13e22 100644 --- a/client-arrow/build.gradle.kts +++ b/client-arrow/build.gradle.kts @@ -16,6 +16,8 @@ kotlin { sourceSets.commonMain.dependencies { api(projects.client) + api(libs.arrow.core) + api(libs.kotlinx.coroutines) } sourceSets.commonTest.dependencies { diff --git a/client-arrow/src/commonMain/kotlin/Marker.kt b/client-arrow/src/commonMain/kotlin/Marker.kt deleted file mode 100644 index 46cea1d..0000000 --- a/client-arrow/src/commonMain/kotlin/Marker.kt +++ /dev/null @@ -1,3 +0,0 @@ -package opensavvy.spine.client.arrow - -private typealias Marker = Nothing diff --git a/client-arrow/src/commonMain/kotlin/SpineResponse.kt b/client-arrow/src/commonMain/kotlin/SpineResponse.kt new file mode 100644 index 0000000..1da4335 --- /dev/null +++ b/client-arrow/src/commonMain/kotlin/SpineResponse.kt @@ -0,0 +1,10 @@ +package opensavvy.spine.client.arrow + +import arrow.core.raise.Raise +import io.ktor.client.statement.* +import opensavvy.spine.client.SpineResponse +import opensavvy.spine.client.bodyOrNull + +// TODO in Kotlin 2.2: replace the 'raise' parameter by a context parameter +suspend inline fun SpineResponse.body(raiseIn: Raise): Out = + bodyOrNull() ?: raiseIn.raise(httpResponse)