37 lines
841 B
Rust
37 lines
841 B
Rust
use serde::Serialize;
|
|
|
|
use super::macros::to_wasm;
|
|
use super::standard_properties::WasmStandardProperties;
|
|
use super::to_wasm::ToWasm;
|
|
use crate::types::Citation;
|
|
use crate::wasm::to_wasm::ToWasmStandardProperties;
|
|
use crate::wasm::WasmAstNode;
|
|
|
|
#[derive(Debug, Serialize)]
|
|
#[serde(tag = "ast_node")]
|
|
#[serde(rename = "org-data")]
|
|
pub struct WasmCitation<'s, 'p> {
|
|
standard_properties: WasmStandardProperties,
|
|
children: Vec<WasmAstNode<'s, 'p>>,
|
|
}
|
|
|
|
to_wasm!(
|
|
WasmCitation<'s, 'p>,
|
|
Citation<'s>,
|
|
original,
|
|
wasm_context,
|
|
standard_properties,
|
|
{
|
|
Ok(WasmCitation {
|
|
standard_properties,
|
|
children: Vec::new(),
|
|
})
|
|
}
|
|
);
|
|
|
|
impl<'s, 'p> Into<WasmAstNode<'s, 'p>> for WasmCitation<'s, 'p> {
|
|
fn into(self) -> WasmAstNode<'s, 'p> {
|
|
WasmAstNode::Citation(self)
|
|
}
|
|
}
|