rdfa_wasm/
lib.rs

1#![cfg(target_arch = "wasm32")]
2mod utils;
3use graph_rdfa_processor::RdfaGraph;
4use lol_alloc::{AssumeSingleThreaded, FreeListAllocator};
5use wasm_bindgen::prelude::*;
6// SAFETY: This application is single threaded, so using AssumeSingleThreaded is allowed.
7#[global_allocator]
8static ALLOCATOR: AssumeSingleThreaded<FreeListAllocator> =
9    unsafe { AssumeSingleThreaded::new(FreeListAllocator::new()) };
10#[wasm_bindgen]
11pub fn html_to_rdfa(html: &str, base: &str, well_known_prefix: &str) -> String {
12    utils::set_panic_hook();
13    let wkp = {
14        let wkp = well_known_prefix.trim();
15        if wkp.is_empty() { None } else { Some(wkp) }
16    };
17    RdfaGraph::parse_str(html, base, wkp).unwrap()
18}