use crate::ast::span_range::SpanRange;
#[derive(Debug, Clone)]
pub enum Node {
Element(Element),
Text(Text),
I11n(Interpolation),
}
#[derive(Debug, Clone)]
pub struct Element {
pub name: String,
pub attrs: Vec<Attr>,
pub children: Vec<Node>,
pub span: SpanRange,
}
#[derive(Debug, Clone)]
pub struct Attr {
pub name: String,
pub value: String,
pub span: SpanRange,
}
#[derive(Debug, Clone)]
pub struct Text {
pub value: String,
pub span: SpanRange,
}
#[derive(Debug, Clone)]
pub struct Interpolation {
pub expr_src: String,
pub span: SpanRange,
}