summaryrefslogtreecommitdiff
path: root/formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt
diff options
context:
space:
mode:
Diffstat (limited to 'formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt')
-rw-r--r--formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt20
1 files changed, 20 insertions, 0 deletions
diff --git a/formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt b/formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt
new file mode 100644
index 00000000..9220bbd3
--- /dev/null
+++ b/formats/json-tests/jvmTest/src/kotlinx/serialization/test/JsonHelpers.kt
@@ -0,0 +1,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(Charsets.UTF_8.name())
+}
+
+actual fun <T> Json.decodeViaStream(
+ serializer: DeserializationStrategy<T>,
+ input: String
+): T = decodeFromStream(serializer, input.byteInputStream())