Fix Instant crashes

Uses Java's Instant instead since its more stable and other places
seemed to use Java's time APIs as well.

(cherry picked from commit 096f1da17cbdd39a4cace3aea0121228be30e576)
This commit is contained in:
Aaron
2025-08-16 06:19:02 -04:00
committed by Linnea Gräf
parent e3b4611da9
commit d4ad7c937a
3 changed files with 6 additions and 7 deletions

View File

@@ -2,7 +2,7 @@
package moe.nea.firmament.util.json
import kotlinx.datetime.Instant
import java.time.Instant
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
@@ -13,10 +13,10 @@ import kotlinx.serialization.encoding.Encoder
object InstantAsLongSerializer : KSerializer<Instant> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("InstantAsLongSerializer", PrimitiveKind.LONG)
override fun deserialize(decoder: Decoder): Instant {
return Instant.fromEpochMilliseconds(decoder.decodeLong())
return Instant.ofEpochMilli(decoder.decodeLong())
}
override fun serialize(encoder: Encoder, value: Instant) {
encoder.encodeLong(value.toEpochMilliseconds())
encoder.encodeLong(value.toEpochMilli())
}
}