unifast_bindings_wasm/
lib.rs1use unifast_core::api::compile;
2use unifast_core::api::options::CompileOptions;
3use unifast_core::api::result::Output;
4use wasm_bindgen::prelude::*;
5
6#[wasm_bindgen]
7#[must_use]
8pub fn compile_to_html(input: &str) -> String {
9 let opts = CompileOptions::default();
10 let result = compile::compile(input, &opts);
11 match result.output {
12 Output::Html(html) => html,
13 _ => String::new(),
14 }
15}
16
17#[wasm_bindgen]
18pub fn compile_with_options(input: &str, options_json: &str) -> Result<String, JsValue> {
19 let opts = CompileOptions::from_json(options_json)
20 .map_err(|e| JsValue::from_str(&format!("invalid options JSON: {e}")))?;
21 let result = compile::compile(input, &opts);
22 Ok(result.to_json_string())
23}