From d2f240ff0ca0d27f417f837e706c781a98c31311 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Wed, 28 Aug 2024 19:04:24 +0200 Subject: Refactor source layout Introduce compat source sets and move all kotlin sources to the main directory [no changelog] --- .../nea/firmament/util/json/BlockPosSerializer.kt | 25 ----------------- .../firmament/util/json/DashlessUUIDSerializer.kt | 29 -------------------- .../firmament/util/json/InstantAsLongSerializer.kt | 22 --------------- .../util/json/SingletonSerializableList.kt | 31 ---------------------- 4 files changed, 107 deletions(-) delete mode 100644 src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt delete mode 100644 src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt delete mode 100644 src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt delete mode 100644 src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt (limited to 'src/main/kotlin/moe/nea/firmament/util/json') diff --git a/src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt b/src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt deleted file mode 100644 index 144b0a0..0000000 --- a/src/main/kotlin/moe/nea/firmament/util/json/BlockPosSerializer.kt +++ /dev/null @@ -1,25 +0,0 @@ -package moe.nea.firmament.util.json - -import kotlinx.serialization.KSerializer -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder -import kotlinx.serialization.serializer -import net.minecraft.util.math.BlockPos - -object BlockPosSerializer : KSerializer { - val delegate = serializer>() - - override val descriptor: SerialDescriptor - get() = SerialDescriptor("BlockPos", delegate.descriptor) - - override fun deserialize(decoder: Decoder): BlockPos { - val list = decoder.decodeSerializableValue(delegate) - require(list.size == 3) - return BlockPos(list[0], list[1], list[2]) - } - - override fun serialize(encoder: Encoder, value: BlockPos) { - encoder.encodeSerializableValue(delegate, listOf(value.x, value.y, value.z)) - } -} diff --git a/src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt b/src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt deleted file mode 100644 index acb1dc8..0000000 --- a/src/main/kotlin/moe/nea/firmament/util/json/DashlessUUIDSerializer.kt +++ /dev/null @@ -1,29 +0,0 @@ - - -package moe.nea.firmament.util.json - -import java.util.UUID -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 -import moe.nea.firmament.util.parseDashlessUUID - -object DashlessUUIDSerializer : KSerializer { - override val descriptor: SerialDescriptor = - PrimitiveSerialDescriptor("DashlessUUIDSerializer", PrimitiveKind.STRING) - - override fun deserialize(decoder: Decoder): UUID { - val str = decoder.decodeString() - if ("-" in str) { - return UUID.fromString(str) - } - return parseDashlessUUID(str) - } - - override fun serialize(encoder: Encoder, value: UUID) { - encoder.encodeString(value.toString().replace("-", "")) - } -} diff --git a/src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt b/src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt deleted file mode 100644 index ad738dc..0000000 --- a/src/main/kotlin/moe/nea/firmament/util/json/InstantAsLongSerializer.kt +++ /dev/null @@ -1,22 +0,0 @@ - - -package moe.nea.firmament.util.json - -import kotlinx.datetime.Instant -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 InstantAsLongSerializer : KSerializer { - override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("InstantAsLongSerializer", PrimitiveKind.LONG) - override fun deserialize(decoder: Decoder): Instant { - return Instant.fromEpochMilliseconds(decoder.decodeLong()) - } - - override fun serialize(encoder: Encoder, value: Instant) { - encoder.encodeLong(value.toEpochMilliseconds()) - } -} diff --git a/src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt b/src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt deleted file mode 100644 index aa543d6..0000000 --- a/src/main/kotlin/moe/nea/firmament/util/json/SingletonSerializableList.kt +++ /dev/null @@ -1,31 +0,0 @@ - -package moe.nea.firmament.util.json - -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.ListSerializer -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonDecoder -import kotlinx.serialization.json.JsonElement - -class SingletonSerializableList(val child: KSerializer) : KSerializer> { - override val descriptor: SerialDescriptor - get() = JsonElement.serializer().descriptor - - override fun deserialize(decoder: Decoder): List { - decoder as JsonDecoder - val list = JsonElement.serializer().deserialize(decoder) - if (list is JsonArray) { - return list.map { - decoder.json.decodeFromJsonElement(child, it) - } - } - return listOf(decoder.json.decodeFromJsonElement(child, list)) - } - - override fun serialize(encoder: Encoder, value: List) { - ListSerializer(child).serialize(encoder, value) - } -} -- cgit