events: Make deserialize_relation public
This commit is contained in:
parent
2db208d6b9
commit
cf68a4676d
@ -36,6 +36,7 @@ pub use image::ImageMessageEventContent;
|
||||
pub use key_verification_request::KeyVerificationRequestEventContent;
|
||||
pub use location::{LocationInfo, LocationMessageEventContent};
|
||||
pub use notice::NoticeMessageEventContent;
|
||||
pub use relation_serde::deserialize_relation;
|
||||
#[cfg(feature = "unstable-sanitize")]
|
||||
use sanitize::{
|
||||
remove_plain_reply_fallback, sanitize_html, HtmlSanitizerMode, RemoveReplyFallback,
|
||||
|
@ -3,9 +3,24 @@ use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||
use super::{InReplyTo, Relation, Replacement, Thread};
|
||||
use crate::OwnedEventId;
|
||||
|
||||
pub(crate) fn deserialize_relation<'de, D, C>(
|
||||
deserializer: D,
|
||||
) -> Result<Option<Relation<C>>, D::Error>
|
||||
/// Deserialize an event's `relates_to` field.
|
||||
///
|
||||
/// Use it like this:
|
||||
/// ```
|
||||
/// # use serde::{Deserialize, Serialize};
|
||||
/// use ruma_common::events::room::message::{deserialize_relation, MessageType, Relation};
|
||||
///
|
||||
/// #[derive(Deserialize, Serialize)]
|
||||
/// struct MyEventContent {
|
||||
/// #[serde(
|
||||
/// flatten,
|
||||
/// skip_serializing_if = "Option::is_none",
|
||||
/// deserialize_with = "deserialize_relation"
|
||||
/// )]
|
||||
/// relates_to: Option<Relation<MessageType>>,
|
||||
/// }
|
||||
/// ```
|
||||
pub fn deserialize_relation<'de, D, C>(deserializer: D) -> Result<Option<Relation<C>>, D::Error>
|
||||
where
|
||||
D: Deserializer<'de>,
|
||||
C: Deserialize<'de>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user