2022-09-09 11:27:11 +00:00
|
|
|
package dev.inmo.plaguposter.common
|
|
|
|
|
|
|
|
import com.soywiz.klock.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
|
|
|
|
|
|
|
@Serializer(DateTime::class)
|
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)
|
|
|
|
}
|