gesha_rust_types/
type_header.rs1use crate::{DeriveAttribute, DocComments, SerdeAttribute};
2
3#[derive(Clone, Debug, PartialEq)]
4pub struct TypeHeader {
5 pub name: String,
6 pub derive_attrs: Vec<DeriveAttribute>,
7 pub serde_attrs: Vec<SerdeAttribute>,
8 pub doc_comments: Option<DocComments>,
9 _hide_default_constructor: bool,
10}
11
12impl TypeHeader {
13 pub fn new<A: Into<String>>(
14 name: A,
15 doc_comments: Option<DocComments>,
16 serde_attrs: Vec<SerdeAttribute>,
17 ) -> Self {
18 Self {
19 name: name.into(),
20 derive_attrs: DeriveAttribute::all(),
21 serde_attrs,
22 doc_comments,
23 _hide_default_constructor: true,
24 }
25 }
26}