Skip to content

Commit 0fff191

Browse files
authored
🐛[Bug] [Extension] Fix KotlinX serialization problem (#733)
1 parent 84e4ab7 commit 0fff191

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

buildSrc/src/main/kotlin/Constants.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ object Fuel {
6363

6464
// Core dependencies
6565
object Kotlin {
66-
const val version = "1.3.61"
66+
const val version = "1.3.70"
6767
const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib:$version"
6868
const val plugin = "kotlin"
6969
const val androidPlugin = "kotlin-android"
@@ -139,7 +139,7 @@ object KotlinX {
139139
}
140140

141141
object Serialization {
142-
const val version = "0.14.0"
142+
const val version = "0.20.0"
143143
const val dependency = "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$version"
144144
const val plugin = "kotlinx-serialization"
145145
}

fuel-kotlinx-serialization/src/main/kotlin/com/github/kittinunf/fuel/serialization/FuelSerialization.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,50 +7,51 @@ import com.github.kittinunf.fuel.core.Response
77
import com.github.kittinunf.fuel.core.ResponseDeserializable
88
import com.github.kittinunf.fuel.core.response
99
import com.github.kittinunf.result.Result
10-
import kotlinx.io.InputStream
11-
import kotlinx.io.Reader
1210
import kotlinx.serialization.DeserializationStrategy
1311
import kotlinx.serialization.ImplicitReflectionSerializer
1412
import kotlinx.serialization.json.Json
13+
import kotlinx.serialization.json.JsonConfiguration
1514
import kotlinx.serialization.serializer
15+
import java.io.InputStream
16+
import java.io.Reader
1617

1718
inline fun <reified T : Any> Request.responseObject(
1819
loader: DeserializationStrategy<T>,
19-
json: Json = Json.plain,
20+
json: Json = Json(JsonConfiguration.Stable),
2021
noinline deserializer: (Request, Response, Result<T, FuelError>) -> Unit
2122
) = response(kotlinxDeserializerOf(loader, json), deserializer)
2223

2324
@ImplicitReflectionSerializer
2425
inline fun <reified T : Any> Request.responseObject(
25-
json: Json = Json.plain,
26+
json: Json = Json(JsonConfiguration.Stable),
2627
noinline deserializer: (Request, Response, Result<T, FuelError>) -> Unit
2728
) = responseObject(T::class.serializer(), json, deserializer)
2829

2930
inline fun <reified T : Any> Request.responseObject(
3031
deserializer: ResponseHandler<T>,
3132
loader: DeserializationStrategy<T>,
32-
json: Json = Json.plain
33+
json: Json = Json(JsonConfiguration.Stable)
3334
) = response(kotlinxDeserializerOf(loader, json), deserializer)
3435

3536
@ImplicitReflectionSerializer
3637
inline fun <reified T : Any> Request.responseObject(
3738
deserializer: ResponseHandler<T>,
38-
json: Json = Json.plain
39+
json: Json = Json(JsonConfiguration.Stable)
3940
) = responseObject(deserializer, T::class.serializer(), json)
4041

4142
inline fun <reified T : Any> Request.responseObject(
4243
loader: DeserializationStrategy<T>,
43-
json: Json = Json.plain
44+
json: Json = Json(JsonConfiguration.Stable)
4445
) = response(kotlinxDeserializerOf(loader, json))
4546

4647
@ImplicitReflectionSerializer
4748
inline fun <reified T : Any> Request.responseObject(
48-
json: Json = Json.plain
49+
json: Json = Json(JsonConfiguration.Stable)
4950
) = responseObject(T::class.serializer(), json)
5051

5152
inline fun <reified T : Any> kotlinxDeserializerOf(
5253
loader: DeserializationStrategy<T>,
53-
json: Json = Json.plain
54+
json: Json = Json(JsonConfiguration.Stable)
5455
) = object : ResponseDeserializable<T> {
5556
override fun deserialize(content: String): T? = json.parse(loader, content)
5657
override fun deserialize(reader: Reader): T? = deserialize(reader.readText())
@@ -65,5 +66,5 @@ inline fun <reified T : Any> kotlinxDeserializerOf(
6566

6667
@ImplicitReflectionSerializer
6768
inline fun <reified T : Any> kotlinxDeserializerOf(
68-
json: Json = Json.plain
69-
) = kotlinxDeserializerOf(T::class.serializer(), json)
69+
json: Json = Json(JsonConfiguration.Stable)
70+
) = kotlinxDeserializerOf(T::class.serializer(), json)

fuel-kotlinx-serialization/src/test/kotlin/com/github/kittinunf/fuel/FuelKotlinxSerializationTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.github.kittinunf.fuel.test.MockHttpTestCase
1010
import com.github.kittinunf.result.Result
1111
import kotlinx.serialization.ImplicitReflectionSerializer
1212
import kotlinx.serialization.Serializable
13-
import kotlinx.serialization.list
13+
import kotlinx.serialization.builtins.list
1414
import org.hamcrest.CoreMatchers.equalTo
1515
import org.hamcrest.CoreMatchers.instanceOf
1616
import org.hamcrest.CoreMatchers.isA

0 commit comments

Comments
 (0)