Reorder parameters of JSON parsing method (#8321)

This commit is contained in:
stevenyomi 2022-10-29 10:44:31 +08:00 committed by GitHub
parent 64c0d9506d
commit 073e9f94ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -122,12 +122,12 @@ fun OkHttpClient.newCachelessCallWithProgress(request: Request, listener: Progre
} }
inline fun <reified T> Response.parseAs(): T { inline fun <reified T> Response.parseAs(): T {
return internalParseAs(this, typeOf<T>()) return internalParseAs(typeOf<T>(), this)
} }
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
@OptIn(ExperimentalSerializationApi::class) @OptIn(ExperimentalSerializationApi::class)
fun <T> internalParseAs(response: Response, type: KType): T { fun <T> internalParseAs(type: KType, response: Response): T {
val deserializer = serializer(type) as KSerializer<T> val deserializer = serializer(type) as KSerializer<T>
return response.body.source().use { return response.body.source().use {
Injekt.get<Json>().decodeFromBufferedSource(deserializer, it) Injekt.get<Json>().decodeFromBufferedSource(deserializer, it)