mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-06-26 11:38:09 +00:00
25 lines
851 B
Kotlin
25 lines
851 B
Kotlin
|
package dev.inmo.tgbotapi.types
|
||
|
|
||
|
import kotlinx.serialization.KSerializer
|
||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||
|
import kotlinx.serialization.encoding.Decoder
|
||
|
import kotlinx.serialization.encoding.Encoder
|
||
|
import kotlinx.serialization.json.*
|
||
|
|
||
|
object MessageIdSerializer : KSerializer<MessageIdentifier> {
|
||
|
override val descriptor: SerialDescriptor = JsonObject.serializer().descriptor
|
||
|
|
||
|
override fun deserialize(decoder: Decoder): MessageIdentifier = JsonObject.serializer().deserialize(decoder)[messageIdField]!!.jsonPrimitive.long
|
||
|
|
||
|
override fun serialize(encoder: Encoder, value: MessageIdentifier) {
|
||
|
JsonObject.serializer().serialize(
|
||
|
encoder,
|
||
|
JsonObject(
|
||
|
mapOf(
|
||
|
messageIdField to JsonPrimitive(value)
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
}
|
||
|
}
|