PlaguPoster/common/src/commonMain/kotlin/DateTimeSerializer.kt

16 lines
675 B
Kotlin
Raw Normal View History

2022-09-09 11:27:11 +00:00
package dev.inmo.plaguposter.common
2023-08-12 17:58:28 +00:00
import korlibs.time.DateTime
2022-09-09 12:01:50 +00:00
import kotlinx.serialization.KSerializer
2022-09-09 11:27:11 +00:00
import kotlinx.serialization.Serializer
2022-09-09 12:01:50 +00:00
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
2022-09-09 11:27:11 +00:00
2022-09-09 12:01:50 +00:00
object DateTimeSerializer : KSerializer<DateTime> {
override val descriptor: SerialDescriptor = Double.serializer().descriptor
override fun deserialize(decoder: Decoder): DateTime = DateTime(decoder.decodeDouble())
override fun serialize(encoder: Encoder, value: DateTime) = encoder.encodeDouble(value.unixMillis)
}