use serde::Deserialize; use serde::Serialize; use super::ast_node::WasmAstNode; use super::macros::to_wasm; use super::to_wasm::ToWasm; use crate::types::InlineBabelCall; use crate::util::elisp_fact::ElispFact; use crate::wasm::to_wasm::ToWasmStandardProperties; #[derive(Debug, Serialize, Deserialize)] pub struct WasmInlineBabelCall { pub(crate) call: String, #[serde(rename = "inside-header")] pub(crate) inside_header: Option, pub(crate) arguments: Option, #[serde(rename = "end-header")] pub(crate) end_header: Option, pub(crate) value: String, } to_wasm!( WasmInlineBabelCall, InlineBabelCall<'s>, original, wasm_context, { WasmAstNode::InlineBabelCall(original) }, { "inline-babel-call".into() }, { Ok(( Vec::new(), WasmInlineBabelCall { call: original.call.to_owned(), inside_header: original.inside_header.map(|s| s.to_owned()), arguments: original.arguments.map(|s| s.to_owned()), end_header: original.end_header.map(|s| s.to_owned()), value: original.value.to_owned(), }, )) } );