pub mod engine;
use engine::MarkdownEngine;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub struct MarkdownDB {
inner: MarkdownEngine,
}
#[wasm_bindgen]
impl MarkdownDB {
#[wasm_bindgen(constructor)]
pub fn new(content: &str) -> MarkdownDB {
MarkdownDB {
inner: MarkdownEngine::new(content),
}
}
pub fn ls(&self, path: &str, page: usize, page_size: usize) -> JsValue {
let result = self.inner.ls(path, page, page_size);
serde_wasm_bindgen::to_value(&result).unwrap_or(JsValue::NULL)
}
pub fn get_title(&self, path: &str) -> Option<String> {
self.inner.get_title(path)
}
pub fn read(&self, path: &str) -> Option<String> {
self.inner.read(path)
}
pub fn read_full(&self, path: &str) -> Option<String> {
self.inner.read_full(path)
}
pub fn get_reference(&self, ref_id: &str) -> Option<String> {
self.inner.get_reference(ref_id)
}
pub fn search(&self, query: &str) -> JsValue {
let result = self.inner.search(query);
serde_wasm_bindgen::to_value(&result).unwrap_or(JsValue::NULL)
}
}