From 313068543f058b737a658a025849a77a305973d0 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 21 Feb 2019 14:21:33 +0800 Subject: [PATCH] fix warnings --- .../bot/Ktor/KtorRequestsExecutor.kt | 4 +- .../requests/abstracts/InputFile.kt | 4 +- .../requests/chat/modify/SetChatPhoto.kt | 4 +- .../TelegramBotAPI/types/ChatIdentifier.kt | 10 ++--- .../InlineQueryResultSerializer.kt | 44 +++++++++---------- .../types/ParseMode/ParseMode.kt | 8 ++-- .../TelegramBotAPI/types/TelegramDate.kt | 8 ++-- .../TelegramBotAPI/types/actions/BotAction.kt | 8 ++-- .../types/payments/abstracts/Currencied.kt | 8 ++-- .../TelegramBotAPI/utils/JSON.kt | 10 +++-- 10 files changed, 55 insertions(+), 53 deletions(-) diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt index 8b8eebf996..15ae5c6537 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/bot/Ktor/KtorRequestsExecutor.kt @@ -16,7 +16,7 @@ import io.ktor.client.engine.okhttp.OkHttp import io.ktor.util.cio.toByteArray import kotlinx.coroutines.delay import kotlinx.io.charsets.Charset -import kotlinx.serialization.json.JSON +import kotlinx.serialization.json.Json class KtorRequestsExecutor( token: String, @@ -25,7 +25,7 @@ class KtorRequestsExecutor( callsFactories: List = emptyList(), excludeDefaultFactories: Boolean = false, private val requestsLimiter: RequestLimiter = EmptyLimiter, - private val jsonFormatter: JSON = JSON.nonstrict + private val jsonFormatter: Json = Json.nonstrict ) : BaseRequestsExecutor(token, hostUrl) { constructor( token: String, diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt index fcc7c627ba..869e1663e2 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/abstracts/InputFile.kt @@ -23,8 +23,8 @@ fun String.toInputFile(): InputFile = FileId(this) @Serializer(FileId::class) object FileIdSerializer : KSerializer { - override fun serialize(output: Encoder, obj: FileId) = output.encodeString(obj.fileId) - override fun deserialize(input: Decoder): FileId = FileId(input.decodeString()) + override fun serialize(encoder: Encoder, obj: FileId) = encoder.encodeString(obj.fileId) + override fun deserialize(decoder: Decoder): FileId = FileId(decoder.decodeString()) } // TODO:: add checks for files size diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt index 78d766f62e..184b344255 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/requests/chat/modify/SetChatPhoto.kt @@ -4,10 +4,10 @@ import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.types.ChatRequ import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartRequest import com.github.insanusmokrassar.TelegramBotAPI.types.* +import com.github.insanusmokrassar.TelegramBotAPI.utils.toJson import kotlinx.serialization.* import kotlinx.serialization.internal.BooleanSerializer import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonTreeMapper @Serializable data class SetChatPhoto ( @@ -19,5 +19,5 @@ data class SetChatPhoto ( override fun method(): String = "setChatPhoto" override fun resultSerializer(): KSerializer = BooleanSerializer override val mediaMap: Map = mapOf(photoField to photo) - override val paramsJson: JsonObject = JsonTreeMapper().writeTree(this, serializer()).jsonObject + override val paramsJson: JsonObject = this.toJson(serializer()) } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatIdentifier.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatIdentifier.kt index 127e9964d7..959cc61e02 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatIdentifier.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ChatIdentifier.kt @@ -32,8 +32,8 @@ fun String.asUsername(): Username = Username(this) @Serializer(ChatIdentifier::class) internal class ChatIdentifierSerializer: KSerializer { - override fun deserialize(input: Decoder): ChatIdentifier { - val id = input.decodeString() + override fun deserialize(decoder: Decoder): ChatIdentifier { + val id = decoder.decodeString() return id.toLongOrNull() ?.let { ChatId(it) } ?: if (!id.startsWith("@")) { @@ -43,10 +43,10 @@ internal class ChatIdentifierSerializer: KSerializer { } } - override fun serialize(output: Encoder, obj: ChatIdentifier) { + override fun serialize(encoder: Encoder, obj: ChatIdentifier) { when (obj) { - is ChatId -> output.encodeString(obj.chatId.toString()) - is Username -> output.encodeString(obj.username) + is ChatId -> encoder.encodeString(obj.chatId.toString()) + is Username -> encoder.encodeString(obj.username) } } } \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt index 1ac85e94b6..62296d41e5 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/InlineQueries/InlineQueryResult/serializers/InlineQueryResultSerializer.kt @@ -8,32 +8,32 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException @Serializer(InlineQueryResult::class) object InlineQueryResultSerializer : KSerializer { - override fun serialize(output: Encoder, obj: InlineQueryResult) { + override fun serialize(encoder: Encoder, obj: InlineQueryResult) { when(obj) { - is InlineQueryResultArticle -> InlineQueryResultArticle.serializer().serialize(output, obj) - is InlineQueryResultAudioCachedImpl -> InlineQueryResultAudioCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultAudioImpl -> InlineQueryResultAudioImpl.serializer().serialize(output, obj) - is InlineQueryResultContact -> InlineQueryResultContact.serializer().serialize(output, obj) - is InlineQueryResultDocumentCachedImpl -> InlineQueryResultDocumentCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultDocumentImpl -> InlineQueryResultDocumentImpl.serializer().serialize(output, obj) - is InlineQueryResultGame -> InlineQueryResultGame.serializer().serialize(output, obj) - is InlineQueryResultGifCachedImpl -> InlineQueryResultGifCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultGifImpl -> InlineQueryResultGifImpl.serializer().serialize(output, obj) - is InlineQueryResultLocation -> InlineQueryResultLocation.serializer().serialize(output, obj) - is InlineQueryResultMpeg4GifCachedImpl -> InlineQueryResultMpeg4GifCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultMpeg4GifImpl -> InlineQueryResultMpeg4GifImpl.serializer().serialize(output, obj) - is InlineQueryResultPhotoCachedImpl -> InlineQueryResultPhotoCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultPhotoImpl -> InlineQueryResultPhotoImpl.serializer().serialize(output, obj) - is InlineQueryResultStickerCached -> InlineQueryResultStickerCached.serializer().serialize(output, obj) - is InlineQueryResultVenue -> InlineQueryResultVenue.serializer().serialize(output, obj) - is InlineQueryResultVideoCachedImpl -> InlineQueryResultVideoCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultVideoImpl -> InlineQueryResultVideoImpl.serializer().serialize(output, obj) - is InlineQueryResultVoiceCachedImpl -> InlineQueryResultVoiceCachedImpl.serializer().serialize(output, obj) - is InlineQueryResultVoiceImpl -> InlineQueryResultVoiceImpl.serializer().serialize(output, obj) + is InlineQueryResultArticle -> InlineQueryResultArticle.serializer().serialize(encoder, obj) + is InlineQueryResultAudioCachedImpl -> InlineQueryResultAudioCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultAudioImpl -> InlineQueryResultAudioImpl.serializer().serialize(encoder, obj) + is InlineQueryResultContact -> InlineQueryResultContact.serializer().serialize(encoder, obj) + is InlineQueryResultDocumentCachedImpl -> InlineQueryResultDocumentCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultDocumentImpl -> InlineQueryResultDocumentImpl.serializer().serialize(encoder, obj) + is InlineQueryResultGame -> InlineQueryResultGame.serializer().serialize(encoder, obj) + is InlineQueryResultGifCachedImpl -> InlineQueryResultGifCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultGifImpl -> InlineQueryResultGifImpl.serializer().serialize(encoder, obj) + is InlineQueryResultLocation -> InlineQueryResultLocation.serializer().serialize(encoder, obj) + is InlineQueryResultMpeg4GifCachedImpl -> InlineQueryResultMpeg4GifCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultMpeg4GifImpl -> InlineQueryResultMpeg4GifImpl.serializer().serialize(encoder, obj) + is InlineQueryResultPhotoCachedImpl -> InlineQueryResultPhotoCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultPhotoImpl -> InlineQueryResultPhotoImpl.serializer().serialize(encoder, obj) + is InlineQueryResultStickerCached -> InlineQueryResultStickerCached.serializer().serialize(encoder, obj) + is InlineQueryResultVenue -> InlineQueryResultVenue.serializer().serialize(encoder, obj) + is InlineQueryResultVideoCachedImpl -> InlineQueryResultVideoCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultVideoImpl -> InlineQueryResultVideoImpl.serializer().serialize(encoder, obj) + is InlineQueryResultVoiceCachedImpl -> InlineQueryResultVoiceCachedImpl.serializer().serialize(encoder, obj) + is InlineQueryResultVoiceImpl -> InlineQueryResultVoiceImpl.serializer().serialize(encoder, obj) } } - override fun deserialize(input: Decoder): InlineQueryResult { + override fun deserialize(decoder: Decoder): InlineQueryResult { throw NotImplementedException() } } \ No newline at end of file diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ParseMode/ParseMode.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ParseMode/ParseMode.kt index 6df7fd1aa5..94a1357a41 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ParseMode/ParseMode.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/ParseMode/ParseMode.kt @@ -25,8 +25,8 @@ object HTMLParseMode : ParseMode() { @Serializer(ParseMode::class) internal class ParseModeSerializerObject: KSerializer { - override fun deserialize(input: Decoder): ParseMode { - val mode = input.decodeString() + override fun deserialize(decoder: Decoder): ParseMode { + val mode = decoder.decodeString() return when (mode) { MarkdownParseMode.parseModeName -> MarkdownParseMode HTMLParseMode.parseModeName -> HTMLParseMode @@ -34,7 +34,7 @@ internal class ParseModeSerializerObject: KSerializer { } } - override fun serialize(output: Encoder, obj: ParseMode) { - output.encodeString(obj.parseModeName) + override fun serialize(encoder: Encoder, obj: ParseMode) { + encoder.encodeString(obj.parseModeName) } } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/TelegramDate.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/TelegramDate.kt index 5f6bb99c93..b83ec0ace6 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/TelegramDate.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/TelegramDate.kt @@ -22,15 +22,15 @@ fun DateTime.toTelegramDate(): TelegramDate = TelegramDate(this) @Serializer(TelegramDate::class) internal class TelegramDateSerializer: KSerializer { - override fun serialize(output: Encoder, obj: TelegramDate) { - output.encodeLong( + override fun serialize(encoder: Encoder, obj: TelegramDate) { + encoder.encodeLong( TimeUnit.MILLISECONDS.toSeconds(obj.asDate.millis) ) } - override fun deserialize(input: Decoder): TelegramDate { + override fun deserialize(decoder: Decoder): TelegramDate { return TelegramDate( - input.decodeLong() + decoder.decodeLong() ) } } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/actions/BotAction.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/actions/BotAction.kt index 1b5ad39641..4dde4ccf52 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/actions/BotAction.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/actions/BotAction.kt @@ -20,12 +20,12 @@ sealed class BotAction { @Serializer(BotAction::class) class BotActionSerializer: KSerializer { - override fun serialize(output: Encoder, obj: BotAction) { - output.encodeString(obj.actionName) + override fun serialize(encoder: Encoder, obj: BotAction) { + encoder.encodeString(obj.actionName) } - override fun deserialize(input: Decoder): BotAction { - val actionName = input.decodeString() + override fun deserialize(decoder: Decoder): BotAction { + val actionName = decoder.decodeString() return actions.firstOrNull { it.actionName == actionName } ?: throw IllegalStateException("Unknown action type: $actionName") } } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/abstracts/Currencied.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/abstracts/Currencied.kt index b0184bda99..15c523d6ad 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/abstracts/Currencied.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/payments/abstracts/Currencied.kt @@ -9,12 +9,12 @@ interface Currencied { @Serializer(Currency::class) object CurrencySerializer : KSerializer { - override fun serialize(output: Encoder, obj: Currency) { - output.encodeString(obj.currencyCode) + override fun serialize(encoder: Encoder, obj: Currency) { + encoder.encodeString(obj.currencyCode) } - override fun deserialize(input: Decoder): Currency { - return input.decodeString().let { + override fun deserialize(decoder: Decoder): Currency { + return decoder.decodeString().let { Currency.getInstance(it) } } diff --git a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/JSON.kt b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/JSON.kt index 792b70cf2a..45bc692189 100644 --- a/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/JSON.kt +++ b/src/main/kotlin/com/github/insanusmokrassar/TelegramBotAPI/utils/JSON.kt @@ -4,13 +4,15 @@ import kotlinx.serialization.* import kotlinx.serialization.json.* @ImplicitReflectionSerializer -inline fun T.toJsonWithoutNulls(): JsonObject = toJson(serializerByValue(this)).withoutNulls() +inline fun T.toJsonWithoutNulls(): JsonObject = Json.nonstrict.toJson( + this +).jsonObject.withoutNulls() inline fun T.toJsonWithoutNulls(serializer: KSerializer): JsonObject = toJson(serializer).withoutNulls() -inline fun T.toJson(serializer: KSerializer): JsonObject = JsonTreeMapper().writeTree( - this, - serializer +inline fun T.toJson(serializer: KSerializer): JsonObject = Json.nonstrict.toJson( + serializer, + this ).jsonObject fun JsonArray.withoutNulls(): JsonArray {