gesha_rust_types/
type_header.rs

1use 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}