pub struct StructDef {
pub name: String,
pub generics: Vec<String>,
pub fields: Vec<FieldDef>,
pub tuple_fields: Vec<RustType>,
pub source_file: PathBuf,
pub docs: Option<String>,
pub rename_all: Option<RenameRule>,
}Expand description
All user-defined struct types found in the scanned source files. Needed for generating corresponding TypeScript interfaces.
Fields§
§name: StringStruct name
generics: Vec<String>Generic type parameter names (e.g. ["T"], ["A", "B"])
fields: Vec<FieldDef>Named fields with their types
tuple_fields: Vec<RustType>Unnamed fields for tuple structs (e.g. struct UserId(String))
source_file: PathBufSource file this struct was defined in
docs: Option<String>Doc comment extracted from /// lines
rename_all: Option<RenameRule>Container-level #[serde(rename_all = "...")]
Trait Implementations§
Source§impl<'de> Deserialize<'de> for StructDef
impl<'de> Deserialize<'de> for StructDef
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for StructDef
impl RefUnwindSafe for StructDef
impl Send for StructDef
impl Sync for StructDef
impl Unpin for StructDef
impl UnsafeUnpin for StructDef
impl UnwindSafe for StructDef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more