add MessageContent.Companion#serializationModule

This commit is contained in:
InsanusMokrassar committed 2022-03-20 11:52:29 +06:00
1 parent d3d5f7f2e6
commit 36f22579b2
2 files changed
+40 -1

No files matched your search

@@ -1,3 +1,39 @@
package dev.inmo.tgbotapi.types.message.content.abstracts
interface MessageContent: ResendableContent
import dev.inmo.tgbotapi.types.message.content.*
import dev.inmo.tgbotapi.types.message.content.media.*
import dev.inmo.tgbotapi.types.message.payments.InvoiceContent
import kotlinx.serialization.modules.*
interface MessageContent: ResendableContent {
companion object {
fun serializationModule(
additionalBuilder: PolymorphicModuleBuilder<MessageContent>.() -> Unit = {}
) = SerializersModule {
polymorphic(MessageContent::class) {
subclass(ContactContent::class)
subclass(VenueContent::class)
subclass(PollContent::class)
subclass(DiceContent::class)
subclass(TextContent::class)
subclass(LiveLocationContent::class)
subclass(StaticLocationContent::class)
subclass(PhotoContent::class)
subclass(VideoContent::class)
subclass(AudioContent::class)
subclass(DocumentContent::class)
subclass(VoiceContent::class)
subclass(VideoNoteContent::class)
subclass(AnimationContent::class)
subclass(StickerContent::class)
subclass(InvoiceContent::class)
additionalBuilder()
}
}
}
}