1#![cfg(target_arch = "wasm32")]
2mod utils;
3use graph_rdfa_processor::RdfaGraph;
4use lol_alloc::{AssumeSingleThreaded, FreeListAllocator};
5use tortank::turtle::turtle_doc::TurtleDoc;
6use wasm_bindgen::prelude::*;
7#[global_allocator]
9static ALLOCATOR: AssumeSingleThreaded<FreeListAllocator> =
10 unsafe { AssumeSingleThreaded::new(FreeListAllocator::new()) };
11#[wasm_bindgen]
12pub fn html_to_rdfa(html: &str, base: &str, well_known_prefix: &str) -> String {
13 utils::set_panic_hook();
14 let wkp = {
15 let wkp = well_known_prefix.trim();
16 if wkp.is_empty() { None } else { Some(wkp) }
17 };
18 RdfaGraph::parse_str(html, base, wkp).unwrap()
19}
20
21#[wasm_bindgen]
22pub fn rdfa_to_turtle(rdfa_graph: &str) -> String {
23 utils::set_panic_hook();
24 let turtle_doc = TurtleDoc::try_from((rdfa_graph, None)).unwrap();
25 turtle_doc.as_turtle().unwrap()
26}