1use super::*;
2
3#[derive(PartialEq, Debug, Clone)]
5pub enum Fragment<'src> {
6 Text { token: Token<'src> },
8 Interpolation { expression: Expression<'src> },
10}
11
12impl<'src> Serialize for Fragment<'src> {
13 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
14 where
15 S: Serializer,
16 {
17 match self {
18 Self::Text { token } => serializer.serialize_str(token.lexeme()),
19 Self::Interpolation { expression } => {
20 let mut seq = serializer.serialize_seq(None)?;
21 seq.serialize_element(expression)?;
22 seq.end()
23 }
24 }
25 }
26}