use serde::Deserialize; use serde::Serialize; use super::ast_node::WasmAstNode; use super::macros::to_wasm; use super::to_wasm::ToWasm; use crate::util::elisp_fact::ElispFact; use crate::types::OrgMacro; use crate::wasm::to_wasm::ToWasmStandardProperties; #[derive(Debug, Serialize, Deserialize)] pub struct WasmOrgMacro { pub(crate) key: String, pub(crate) value: String, pub(crate) args: Vec, } to_wasm!( WasmOrgMacro, OrgMacro<'s>, original, wasm_context, { WasmAstNode::OrgMacro(original) }, { "macro".into() }, { Ok(( Vec::new(), WasmOrgMacro { key: original.key.to_lowercase(), value: original.value.to_owned(), args: original.get_args().map(|s| s.into_owned()).collect(), }, )) } );