diff --git a/src/wasm/plain_list.rs b/src/wasm/plain_list.rs index a5609516..d8739f19 100644 --- a/src/wasm/plain_list.rs +++ b/src/wasm/plain_list.rs @@ -6,13 +6,17 @@ use super::macros::to_wasm; use super::to_wasm::ToWasm; use super::AdditionalProperties; use crate::compare::ElispFact; +use crate::types::GetAffiliatedKeywords; use crate::types::PlainList; +use crate::types::PlainListType; use crate::wasm::to_wasm::ToWasmStandardProperties; #[derive(Debug, Serialize, Deserialize)] pub struct WasmPlainList { #[serde(flatten)] pub(crate) additional_properties: AdditionalProperties, + #[serde(rename = "type")] + pub(crate) list_type: String, } to_wasm!( @@ -21,8 +25,12 @@ to_wasm!( original, wasm_context, { WasmAstNode::PlainList(original) }, - { "TODO".into() }, + { "plain-list".into() }, { + let additional_properties = original + .get_affiliated_keywords() + .to_wasm(wasm_context.clone())?; + let children = original .children .iter() @@ -36,7 +44,13 @@ to_wasm!( Ok(( children, WasmPlainList { - additional_properties: AdditionalProperties::default(), + additional_properties, + list_type: match original.list_type { + PlainListType::Unordered => "unordered", + PlainListType::Ordered => "ordered", + PlainListType::Descriptive => "descriptive", + } + .to_owned(), }, )) }