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 key_verification_request::KeyVerificationRequestEventContent;
|
||||||
pub use location::{LocationInfo, LocationMessageEventContent};
|
pub use location::{LocationInfo, LocationMessageEventContent};
|
||||||
pub use notice::NoticeMessageEventContent;
|
pub use notice::NoticeMessageEventContent;
|
||||||
|
pub use relation_serde::deserialize_relation;
|
||||||
#[cfg(feature = "unstable-sanitize")]
|
#[cfg(feature = "unstable-sanitize")]
|
||||||
use sanitize::{
|
use sanitize::{
|
||||||
remove_plain_reply_fallback, sanitize_html, HtmlSanitizerMode, RemoveReplyFallback,
|
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 super::{InReplyTo, Relation, Replacement, Thread};
|
||||||
use crate::OwnedEventId;
|
use crate::OwnedEventId;
|
||||||
|
|
||||||
pub(crate) fn deserialize_relation<'de, D, C>(
|
/// Deserialize an event's `relates_to` field.
|
||||||
deserializer: D,
|
///
|
||||||
) -> Result<Option<Relation<C>>, D::Error>
|
/// 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
|
where
|
||||||
D: Deserializer<'de>,
|
D: Deserializer<'de>,
|
||||||
C: Deserialize<'de>,
|
C: Deserialize<'de>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user