substrate_data/schema/description/
variant_doc.rs1use super::FieldDoc;
4use super::definition_doc::non_empty;
5use super::definitions::Definitions;
6use crate::schema::Variant;
7
8#[derive(Debug, Clone, PartialEq, crate::Schema)]
10pub struct VariantDoc {
11 pub name: String,
13 pub doc: Option<String>,
15 pub fields: Option<Vec<FieldDoc>>,
17}
18
19impl VariantDoc {
20 pub(super) fn of(v: &Variant, tagged: bool, defs: &mut Definitions) -> VariantDoc {
22 VariantDoc {
23 name: v.name.to_owned(),
24 doc: non_empty(v.doc),
25 fields: tagged.then(|| FieldDoc::all(&v.fields, defs)),
26 }
27 }
28}