use crate::ns::*; use serde::{Serialize, Deserialize}; use std::rc::Rc; #[derive(Clone, Serialize, Deserialize)] pub struct JetDoc { pub location: Location, pub main_body: Option<(String, Location)>, pub tags: Vec<(JetDocTag, Location)>, } #[derive(Clone, Serialize, Deserialize)] pub enum JetDocTag { Default(String), Deprecated { message: Option, }, Event { name: String, description: String, }, EventType(Rc), Example(String), Image { path: String, }, Internal(String), Param { name: String, description: String, }, Private, Return(String), See { reference: Rc, display_text: Option, }, Throws { class_reference: Rc, description: Option, }, } /// A JetDoc reference consisting of an optional base and /// an optional instance property fragment (`#x`). #[derive(Clone, Serialize, Deserialize)] pub struct JetDocReference { /// Base expression. pub base: Option>, /// Instance property fragment following the hash character. pub instance_property: Option, }