1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-01 23:45:25 +00:00
tgbotapi/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/Request.kt

14 lines
530 B
Kotlin
Raw Normal View History

2018-12-26 08:07:24 +00:00
package com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts
2019-01-17 02:43:51 +00:00
import com.github.insanusmokrassar.TelegramBotAPI.utils.toJsonWithoutNulls
2018-12-26 08:07:24 +00:00
import kotlinx.serialization.*
import kotlinx.serialization.json.JsonObject
@Serializable(RequestSerializer::class)
2018-12-26 08:07:24 +00:00
interface Request<T: Any> {
fun method(): String
fun resultDeserializer(): DeserializationStrategy<T>
fun json(): JsonObject = toJsonWithoutNulls(RequestSerializer)
2018-12-26 08:07:24 +00:00
}
object RequestSerializer : KSerializer<Request<*>> by ContextSerializer(Request::class)