tuwunel_core/matrix/event/
content.rs1use serde::Deserialize;
2use serde_json::value::Value as JsonValue;
3
4use super::Event;
5use crate::{Result, err};
6
7#[inline]
8#[must_use]
9pub(super) fn as_value<E: Event>(event: &E) -> JsonValue {
10 get(event).expect("Failed to represent Event content as JsonValue")
11}
12
13#[inline]
14pub(super) fn get<T, E>(event: &E) -> Result<T>
15where
16 T: for<'de> Deserialize<'de>,
17 E: Event,
18{
19 serde_json::from_str(event.content().get())
20 .map_err(|e| err!(Request(BadJson("Failed to deserialize content into type: {e}"))))
21}