/* src/server/injector/rust/src/ast.rs */

#[derive(Debug)]
pub(crate) enum AstNode {
	Text(String),
	Slot { path: String, mode: SlotMode },
	Attr { path: String, attr_name: String },
	StyleProp { path: String, css_property: String },
	If { path: String, then_nodes: Vec<AstNode>, else_nodes: Vec<AstNode> },
	Each { path: String, body_nodes: Vec<AstNode> },
	Match { path: String, branches: Vec<(String, Vec<AstNode>)> },
}

#[derive(Debug)]
pub(crate) enum SlotMode {
	Text,
	Html,
}
