Skip to content

Commit

Permalink
Replace deserialization helper functions with the required types (#1734)
Browse files Browse the repository at this point in the history
  • Loading branch information
nickelc authored and arqunis committed Mar 15, 2022
1 parent 9866a85 commit 938936e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 66 deletions.
25 changes: 8 additions & 17 deletions src/model/interactions/application_command.rs
Expand Up @@ -32,16 +32,7 @@ use crate::model::id::{
use crate::model::interactions::InteractionType;
use crate::model::prelude::User;
#[cfg(feature = "unstable_discord_api")]
use crate::model::utils::{
deserialize_attachments_map,
deserialize_channels_map,
deserialize_messages_map,
deserialize_options,
deserialize_options_with_resolved,
deserialize_partial_members_map,
deserialize_roles_map,
deserialize_users,
};
use crate::model::utils::deserialize_options_with_resolved;

/// An interaction when a user invokes a slash command.
#[derive(Clone, Debug, Serialize)]
Expand Down Expand Up @@ -578,42 +569,42 @@ impl<'de> Deserialize<'de> for ApplicationCommandInteractionDataResolved {

let members = map
.remove("members")
.map(deserialize_partial_members_map)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();

let users = map
.remove("users")
.map(deserialize_users)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();

let roles = map
.remove("roles")
.map(deserialize_roles_map)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();

let channels = map
.remove("channels")
.map(deserialize_channels_map)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();

let messages = map
.remove("messages")
.map(deserialize_messages_map)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();

let attachments = map
.remove("attachments")
.map(deserialize_attachments_map)
.map(HashMap::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();
Expand Down Expand Up @@ -681,7 +672,7 @@ impl<'de> Deserialize<'de> for ApplicationCommandInteractionDataOption {

let options = map
.remove("options")
.map(deserialize_options)
.map(Vec::deserialize)
.transpose()
.map_err(DeError::custom)?
.unwrap_or_default();
Expand Down
49 changes: 0 additions & 49 deletions src/model/utils.rs
Expand Up @@ -72,55 +72,6 @@ pub fn deserialize_members<'de, D: Deserializer<'de>>(
deserializer.deserialize_seq(SequenceToMapVisitor::new(|member: &Member| member.user.id))
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_partial_members_map<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<UserId, PartialMember>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_users<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<UserId, User>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_roles_map<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<RoleId, Role>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_channels_map<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<ChannelId, PartialChannel>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_messages_map<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<MessageId, Message>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_attachments_map<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<HashMap<AttachmentId, Attachment>, D::Error> {
HashMap::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_options<'de, D: Deserializer<'de>>(
deserializer: D,
) -> StdResult<Vec<ApplicationCommandInteractionDataOption>, D::Error> {
Vec::deserialize(deserializer)
}

#[cfg(feature = "unstable_discord_api")]
pub fn deserialize_options_with_resolved<'de, D: Deserializer<'de>>(
deserializer: D,
Expand Down

0 comments on commit 938936e

Please sign in to comment.