use serde::Deserialize; use serde::Serialize; use super::ast_node::WasmAstNode; use super::macros::to_wasm; use super::to_wasm::ToWasm; use crate::types::NodeProperty; use crate::util::elisp_fact::ElispFact; use crate::wasm::to_wasm::ToWasmStandardProperties; #[derive(Debug, Serialize, Deserialize)] pub struct WasmNodeProperty { pub(crate) key: String, pub(crate) value: Option, } to_wasm!( WasmNodeProperty, NodeProperty<'s>, original, wasm_context, { WasmAstNode::NodeProperty(original) }, { "node-property".into() }, { Ok(( Vec::new(), WasmNodeProperty { key: original.property_name.to_owned(), value: original.value.map(|s| s.to_owned()), }, )) } );