crate::ix!();
#[derive(AiJsonTemplateWithJustification,AiJsonTemplate,SaveLoad,Debug, Clone, PartialEq, Eq,Serialize, Deserialize)]
pub enum StringSkeletonNode {
Dispatch {
name: String,
#[serde(default)]
#[justify=false]
ordering: Option<SubBranchOrdering>,
#[serde(default)]
children: HashMap<String, DispatchChildSpec>,
},
LeafHolder {
name: String,
#[serde(default)]
#[justify=false]
ordering: Option<SubBranchOrdering>,
#[justify=false]
#[serde(deserialize_with = "fuzzy_u8")]
n_leaves: u8,
#[justify=false]
capstone: bool,
},
Aggregate {
name: String,
#[serde(default)]
#[justify=false]
ordering: Option<SubBranchOrdering>,
#[serde(default)]
children: HashMap<String, AggregateChildSpec>,
},
}
impl Default for StringSkeletonNode {
fn default() -> Self {
StringSkeletonNode::Dispatch { name: "default".to_string(), ordering: None, children: HashMap::default() }
}
}