dhive-core 0.1.0

D-HIVE Trust Protocol — Rust core: BM25 search, LCS similarity, canonicalHash, pack format, curation scoring
Documentation
//! WASM bindings — 浏览器端调用入口
//!
//! 在 wasm32 target 上编译时使用 wasm-bindgen 导出函数。
//! 在 native target 上此模块为空。

#[cfg(target_arch = "wasm32")]
mod imp {
    use wasm_bindgen::prelude::*;
    use crate::search;
    use crate::similarity;
    use crate::curation;

    #[wasm_bindgen]
    pub fn tokenize(text: &str) -> Box<[JsValue]> {
        search::tokenize(text)
            .into_iter()
            .map(|s| JsValue::from_str(&s))
            .collect::<Vec<_>>()
            .into_boxed_slice()
    }

    #[wasm_bindgen]
    pub fn lcs_similarity(a: &str, b: &str) -> f64 {
        similarity::lcs_similarity(a, b)
    }

    #[wasm_bindgen]
    pub fn canonical_hash(content: &str) -> String {
        similarity::canonical_hash(content)
    }

    #[wasm_bindgen]
    pub fn assess_text_quality(content: &str) -> f64 {
        curation::assess_text_quality(content)
    }
}

#[cfg(target_arch = "wasm32")]
pub use imp::*;