From 06a21ba9e1e18dfa5cd91ecc24b820f47d11b7e4 Mon Sep 17 00:00:00 2001 From: Sprite <SpriteOvO@gmail.com> Date: Thu, 16 Dec 2021 00:28:52 +0800 Subject: [PATCH] Skip the `language` field of `MessageEntityKind::Pre` if it is `None` --- src/types/message_entity.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/types/message_entity.rs b/src/types/message_entity.rs index 1f4873c8..55facb77 100644 --- a/src/types/message_entity.rs +++ b/src/types/message_entity.rs @@ -44,6 +44,7 @@ impl MessageEntity { } } +#[serde_with_macros::skip_serializing_none] #[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] #[serde(tag = "type")] @@ -104,4 +105,20 @@ mod tests { .unwrap() ); } + + #[test] + fn pre_with_none_language() { + use serde_json::to_string; + + assert_eq!( + to_string(&MessageEntity { + kind: MessageEntityKind::Pre { language: None }, + offset: 1, + length: 2, + }) + .unwrap() + .find("language"), + None + ); + } }