![JAR search and dependency download from the Maven repository](/logo.png)
commonMain.com.harmony.kotlin.data.mapper.CBORObjectToByteArray.kt Maven / Gradle / Ivy
package com.harmony.kotlin.data.mapper
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.KSerializer
import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.cbor.Cbor
@ExperimentalSerializationApi
class CBORObjectToByteArray(private val cbor: Cbor, private val serializer: KSerializer) : Mapper {
override fun map(from: T): ByteArray = cbor.encodeToByteArray(serializer, from)
}
@ExperimentalSerializationApi
class CBORListObjectToByteArray(private val cbor: Cbor, private val serializer: KSerializer) : Mapper, ByteArray> {
override fun map(from: List): ByteArray {
val ls = ListSerializer(serializer)
return cbor.encodeToByteArray(ls, from)
}
}
@ExperimentalSerializationApi
class CBORByteArrayToObject(private val cbor: Cbor, private val serializer: KSerializer) : Mapper {
override fun map(from: ByteArray): T = cbor.decodeFromByteArray(serializer, from)
}
@ExperimentalSerializationApi
class CBORByteArrayToListObject(private val cbor: Cbor, private val serializer: KSerializer) : Mapper> {
override fun map(from: ByteArray): List {
val ls = ListSerializer(serializer)
return cbor.decodeFromByteArray(ls, from)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy