mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-06-03 00:15:15 +00:00
23 lines
754 B
Kotlin
23 lines
754 B
Kotlin
|
package dev.inmo.micro_utils.common
|
||
|
|
||
|
import korlibs.time.DateTime
|
||
|
import kotlinx.serialization.KSerializer
|
||
|
import kotlinx.serialization.Serializer
|
||
|
import kotlinx.serialization.builtins.serializer
|
||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||
|
import kotlinx.serialization.encoding.Decoder
|
||
|
import kotlinx.serialization.encoding.Encoder
|
||
|
|
||
|
@Serializer(DateTime::class)
|
||
|
object DateTimeSerializer : KSerializer<DateTime> {
|
||
|
override val descriptor: SerialDescriptor
|
||
|
get() = Double.serializer().descriptor
|
||
|
|
||
|
override fun deserialize(decoder: Decoder): DateTime {
|
||
|
return DateTime(decoder.decodeDouble())
|
||
|
}
|
||
|
|
||
|
override fun serialize(encoder: Encoder, value: DateTime) {
|
||
|
encoder.encodeDouble(value.unixMillis)
|
||
|
}
|
||
|
}
|