File tree Expand file tree Collapse file tree 5 files changed +69
-1
lines changed
surf-api-bukkit/surf-api-bukkit-api/api
surf-api-core/surf-api-core-api
src/main/kotlin/dev/slne/surf/surfapi/core/api/serializer/java/uuid
surf-api-velocity/surf-api-velocity-api/api Expand file tree Collapse file tree 5 files changed +69
-1
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
77javaVersion =21
88mcVersion =1.21.10
99group =dev.slne.surf
10- version =1.21.10-2.41 .0
10+ version =1.21.10-2.42 .0
1111relocationPrefix =dev.slne.surf.surfapi.libs
1212snapshot =false
Original file line number Diff line number Diff line change @@ -13505,6 +13505,17 @@ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDS
1350513505 public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
1350613506}
1350713507
13508+ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer : kotlinx/serialization/KSerializer {
13509+ public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer;
13510+ public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
13511+ public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/util/UUID;
13512+ public final fun fromString (Ljava/lang/String;)Ljava/util/UUID;
13513+ public final fun fromUUID (Ljava/util/UUID;)Ljava/lang/String;
13514+ public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
13515+ public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
13516+ public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
13517+ }
13518+
1350813519public final class dev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec {
1350913520 public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec;
1351013521 public final fun getCODEC ()Lcom/mojang/serialization/Codec;
Original file line number Diff line number Diff line change @@ -8132,6 +8132,17 @@ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDS
81328132 public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
81338133}
81348134
8135+ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer : kotlinx/serialization/KSerializer {
8136+ public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer;
8137+ public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
8138+ public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/util/UUID;
8139+ public final fun fromString (Ljava/lang/String;)Ljava/util/UUID;
8140+ public final fun fromUUID (Ljava/util/UUID;)Ljava/lang/String;
8141+ public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
8142+ public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
8143+ public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
8144+ }
8145+
81358146public final class dev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec {
81368147 public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec;
81378148 public final fun getCODEC ()Ldev/slne/surf/surfapi/libs/mojang/serialization/Codec;
Original file line number Diff line number Diff line change 1+ package dev.slne.surf.surfapi.core.api.serializer.java.uuid
2+
3+ import kotlinx.serialization.KSerializer
4+ import kotlinx.serialization.Serializable
5+ import kotlinx.serialization.descriptors.PrimitiveKind
6+ import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
7+ import kotlinx.serialization.encoding.Decoder
8+ import kotlinx.serialization.encoding.Encoder
9+ import java.util.*
10+
11+ typealias SerializableStringUUID = @Serializable(with = JavaUUIDStringSerializer ::class ) UUID
12+
13+ object JavaUUIDStringSerializer : KSerializer<UUID> {
14+ override val descriptor = PrimitiveSerialDescriptor (" surfapi.StringUuid" , PrimitiveKind .STRING )
15+
16+ override fun serialize (encoder : Encoder , value : UUID ) {
17+ encoder.encodeString(value.toString())
18+ }
19+
20+ override fun deserialize (decoder : Decoder ): UUID {
21+ return fromString(decoder.decodeString())
22+ }
23+
24+ fun fromUUID (value : UUID ): String {
25+ return value.toString().replace(" -" , " " )
26+ }
27+
28+ fun fromString (input : String ): UUID {
29+ return UUID .fromString(
30+ input.replaceFirst(
31+ " (\\ w{8})(\\ w{4})(\\ w{4})(\\ w{4})(\\ w{12})" .toRegex(), " $1-$2-$3-$4-$5"
32+ )
33+ )
34+ }
35+ }
Original file line number Diff line number Diff line change @@ -11438,6 +11438,17 @@ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDS
1143811438 public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
1143911439}
1144011440
11441+ public final class dev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer : kotlinx/serialization/KSerializer {
11442+ public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/java/uuid/JavaUUIDStringSerializer;
11443+ public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
11444+ public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/util/UUID;
11445+ public final fun fromString (Ljava/lang/String;)Ljava/util/UUID;
11446+ public final fun fromUUID (Ljava/util/UUID;)Ljava/lang/String;
11447+ public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
11448+ public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
11449+ public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/UUID;)V
11450+ }
11451+
1144111452public final class dev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec {
1144211453 public static final field INSTANCE Ldev/slne/surf/surfapi/core/api/serializer/kotlin/KotlinDurationCodec;
1144311454 public final fun getCODEC ()Lcom/mojang/serialization/Codec;
You can’t perform that action at this time.
0 commit comments