summaryrefslogtreecommitdiff
path: root/formats/json/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt
blob: ebb49c35672cd0e752a4544b5b1278f97674a57e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package kotlinx.serialization.test

import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerializationStrategy
import kotlinx.serialization.json.*
import java.io.ByteArrayOutputStream

actual fun <T> Json.encodeViaStream(
    serializer: SerializationStrategy<T>,
    value: T
): String {
    val output = ByteArrayOutputStream()
    encodeToStream(serializer, value, output)
    return output.toString()
}

actual fun <T> Json.decodeViaStream(
    serializer: DeserializationStrategy<T>,
    input: String
): T = decodeFromStream(serializer, input.byteInputStream())