Skip to main content

oak_typescript/ast/
root_node.rs

1use crate::ast::Statement;
2use core::range::Range;
3#[cfg(feature = "serde")]
4use serde::{Deserialize, Serialize};
5
6/// TypeScript AST 根节点
7#[derive(Debug, Clone)]
8#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
9pub struct TypeScriptRoot {
10    pub statements: Vec<Statement>,
11    #[cfg_attr(feature = "serde", serde(with = "oak_core::serde_range"))]
12    pub span: Range<usize>,
13}
14
15impl TypeScriptRoot {
16    pub fn new(span: Range<usize>) -> Self {
17        Self { statements: vec![], span }
18    }
19}