16 lines
787 B
Kotlin
16 lines
787 B
Kotlin
package at.mocode.model.serializer
|
|
|
|
import kotlinx.datetime.LocalDateTime
|
|
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
|
|
|
|
object KotlinLocalDateTimeSerializer : KSerializer<LocalDateTime> {
|
|
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("LocalDateTime", PrimitiveKind.STRING)
|
|
override fun serialize(encoder: Encoder, value: LocalDateTime) = encoder.encodeString(value.toString())
|
|
override fun deserialize(decoder: Decoder): LocalDateTime = LocalDateTime.parse(decoder.decodeString())
|
|
}
|