2023-12-24 05:39:57 +00:00
|
|
|
#![no_main]
|
2023-12-24 06:35:21 +00:00
|
|
|
|
|
|
|
use organic::parser::parse_with_settings;
|
|
|
|
use organic::settings::GlobalSettings;
|
|
|
|
use wasm::ParseResult;
|
2023-12-24 05:59:41 +00:00
|
|
|
use wasm_bindgen::prelude::wasm_bindgen;
|
2023-12-24 05:39:57 +00:00
|
|
|
|
2023-12-24 06:35:21 +00:00
|
|
|
mod wasm;
|
|
|
|
|
2023-12-24 05:59:41 +00:00
|
|
|
#[wasm_bindgen]
|
2023-12-24 06:35:21 +00:00
|
|
|
pub fn parse_org(org_contents: &str) -> wasm_bindgen::JsValue {
|
|
|
|
let global_settings = GlobalSettings::default();
|
|
|
|
let rust_parsed = parse_with_settings(org_contents, &global_settings)
|
2023-12-24 18:18:06 +00:00
|
|
|
.map(|document| ParseResult::Success((org_contents, document).into()))
|
2023-12-24 06:35:21 +00:00
|
|
|
.unwrap_or_else(|err| ParseResult::Error(format!("{:?}", err)));
|
|
|
|
serde_wasm_bindgen::to_value(&rust_parsed).unwrap()
|
2023-12-24 05:39:57 +00:00
|
|
|
}
|