1pub mod common;2pub mod declarations;3pub mod expressions;4pub mod jsx;5pub mod literals;6pub mod operators;7pub mod patterns;8pub mod scope;9pub mod statements;10pub mod visitor;1112use serde::{Deserialize, Serialize};1314use crate::common::{BaseNode, Comment};15use crate::statements::{Directive, Statement};1617/// The root type returned by @babel/parser18#[derive(Debug, Clone, Serialize, Deserialize)]19pub struct File {20 #[serde(flatten)]21 pub base: BaseNode,22 pub program: Program,23 #[serde(default)]24 pub comments: Vec<Comment>,25 #[serde(default)]26 pub errors: Vec<serde_json::Value>,27}2829#[derive(Debug, Clone, Serialize, Deserialize)]30pub struct Program {31 #[serde(flatten)]32 pub base: BaseNode,33 pub body: Vec<Statement>,34 #[serde(default)]35 pub directives: Vec<Directive>,36 #[serde(rename = "sourceType")]37 pub source_type: SourceType,38 #[serde(default)]39 pub interpreter: Option<InterpreterDirective>,40 #[serde(41 rename = "sourceFile",42 default,43 skip_serializing_if = "Option::is_none"44 )]45 pub source_file: Option<String>,46}4748#[derive(Debug, Clone, Serialize, Deserialize)]49#[serde(rename_all = "lowercase")]50pub enum SourceType {51 Module,52 Script,53}5455#[derive(Debug, Clone, Serialize, Deserialize)]56pub struct InterpreterDirective {57 #[serde(flatten)]58 pub base: BaseNode,59 pub value: String,60}
Findings
✓ No findings reported for this file.