rsip/headers/typed/
in_reply_to.rs1#[doc(hidden)]
2pub use super::tokenizers::TokenListTokenizer as Tokenizer;
3
4use rsip_derives::TypedHeader;
5use std::convert::TryFrom;
6
7#[derive(TypedHeader, Eq, PartialEq, Clone, Debug)]
9pub struct InReplyTo(pub Vec<String>);
10
11impl<'a> TryFrom<Tokenizer<'a>> for InReplyTo {
12 type Error = crate::Error;
13
14 fn try_from(tokenizer: Tokenizer) -> Result<Self, Self::Error> {
15 Ok(Self(
16 tokenizer
17 .tokens
18 .iter()
19 .map(|s| s.to_string())
20 .collect::<Vec<String>>(),
21 ))
22 }
23}
24
25impl std::fmt::Display for InReplyTo {
26 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
27 write!(f, "{}", self.0.join(", "))
28 }
29}