Coverage Summary for Class: ByteArrayAsBase64Serializer (dev.suresh.serde)

Class Class, % Method, % Branch, % Line, % Instruction, %
ByteArrayAsBase64Serializer 0% (0/1) 0% (0/4) 0% (0/4) 0% (0/26)


 package dev.suresh.serde
 
 import kotlin.io.encoding.Base64
 import kotlinx.serialization.KSerializer
 import kotlinx.serialization.descriptors.*
 import kotlinx.serialization.encoding.*
 
 /**
  * A [Base64] serializer. Use with
  *
  * ```kotlin
  * @Serializable(with = ByteArrayAsBase64Serializer::class)
  * ```
  */
 object ByteArrayAsBase64Serializer : KSerializer<ByteArray> {
 
   private val base64 = Base64.Default
 
   override val descriptor: SerialDescriptor
     get() = PrimitiveSerialDescriptor("ByteArrayAsBase64Serializer", PrimitiveKind.STRING)
 
   override fun deserialize(decoder: Decoder) = base64.decode(decoder.decodeString())
 
   override fun serialize(encoder: Encoder, value: ByteArray) =
       encoder.encodeString(base64.encode(value))
 }