Skip to content

Instantly share code, notes, and snippets.

@centralhardware
Created May 22, 2024 18:44
Show Gist options
  • Save centralhardware/44863fdeedbda0da802252fdf4416ce3 to your computer and use it in GitHub Desktop.
Save centralhardware/44863fdeedbda0da802252fdf4416ce3 to your computer and use it in GitHub Desktop.
package me.centralhardware.znatoki.telegram.statistic.eav.json
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import me.centralhardware.znatoki.telegram.statistic.eav.types.*
object TypeAdapter: KSerializer<Type>{
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("type", PrimitiveKind.STRING)
override fun deserialize(decoder: Decoder): Type = decoder.decodeString().toType()
override fun serialize(encoder: Encoder, value: Type) {
encoder.encodeString(value.name())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment