svelte_compiler/ast.rs
1use std::sync::Arc;
2
3use serde::{Deserialize, Serialize};
4
5pub use svelte_syntax::ast::{CssAst, CssRootType, Root};
6pub use svelte_syntax::ast::{common, legacy, modern};
7
8#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
9pub struct Document {
10 #[serde(flatten)]
11 pub root: Root,
12
13 #[serde(skip)]
14 pub(crate) source: Arc<str>,
15}
16
17impl Document {
18 pub fn source(&self) -> &str {
19 &self.source
20 }
21}