use gloo_utils::format::JsValueSerdeExt; use wasm_bindgen::JsValue; use crate::parser::parse_with_settings; use crate::settings::GlobalSettings; use crate::wasm::ParseResult; use crate::wasm::ToWasm; use crate::wasm::ToWasmContext; pub fn parse_org(org_contents: &str) -> wasm_bindgen::JsValue { let rust_parsed = match parse_with_settings(org_contents, &GlobalSettings::default()) { Ok(document) => document, Err(err) => { return JsValue::from_serde(&ParseResult::Error(format!("{:?}", err))).unwrap(); } }; let to_wasm_context = ToWasmContext::new(org_contents); let wasm_document = match rust_parsed.to_wasm(to_wasm_context) { Ok(document) => document, Err(err) => { return JsValue::from_serde(&ParseResult::Error(format!("{:?}", err))).unwrap(); } }; JsValue::from_serde(&ParseResult::Success(wasm_document)).unwrap() }