use serde::Deserialize;
use serde::Serialize;

use super::ast_node::WasmAstNode;
use super::macros::to_wasm;
use super::to_wasm::ToWasm;
use super::AdditionalProperties;
use crate::compare::ElispFact;
use crate::types::LineBreak;
use crate::wasm::to_wasm::ToWasmStandardProperties;

#[derive(Debug, Serialize, Deserialize)]
pub struct WasmLineBreak {
    #[serde(flatten)]
    pub(crate) additional_properties: AdditionalProperties,
}

to_wasm!(
    WasmLineBreak,
    LineBreak<'s>,
    original,
    wasm_context,
    { WasmAstNode::LineBreak(original) },
    { "TODO".into() },
    {
        Ok((
            Vec::new(),
            WasmLineBreak {
                additional_properties: AdditionalProperties::default(),
            },
        ))
    }
);