use gents_derives::TS;
use super::Workbook;
#[derive(Debug, Clone, TS)]
#[ts(file_name = "enum_variant_info.ts", rename_all = "camelCase")]
pub struct EnumVariantInfo {
pub id: String,
pub label: String,
}
#[derive(Debug, Clone, TS)]
#[ts(file_name = "enum_set_info.ts", rename_all = "camelCase")]
pub struct EnumSetInfo {
pub id: String,
pub name: String,
pub variants: Vec<EnumVariantInfo>,
}
impl Workbook {
pub fn get_enum_sets(&self) -> Vec<EnumSetInfo> {
self.controller
.status
.enum_set_manager
.all()
.into_iter()
.map(|s| EnumSetInfo {
id: s.id.clone(),
name: s.name.clone(),
variants: s
.variants
.iter()
.map(|v| EnumVariantInfo {
id: v.id.clone(),
label: v.label.clone(),
})
.collect(),
})
.collect()
}
}