markdown_btree_core/
lib.rs1pub mod engine;
2
3use engine::MarkdownEngine;
4use wasm_bindgen::prelude::*;
5
6#[wasm_bindgen]
9pub struct MarkdownDB {
10 inner: MarkdownEngine,
11}
12
13#[wasm_bindgen]
14impl MarkdownDB {
15 #[wasm_bindgen(constructor)]
17 pub fn new(content: &str) -> MarkdownDB {
18 MarkdownDB {
19 inner: MarkdownEngine::new(content),
20 }
21 }
22
23 pub fn ls(&self, path: &str, page: usize, page_size: usize) -> JsValue {
26 let result = self.inner.ls(path, page, page_size);
27 serde_wasm_bindgen::to_value(&result).unwrap_or(JsValue::NULL)
28 }
29
30 pub fn get_title(&self, path: &str) -> Option<String> {
32 self.inner.get_title(path)
33 }
34
35 pub fn read(&self, path: &str) -> Option<String> {
37 self.inner.read(path)
38 }
39
40 pub fn read_full(&self, path: &str) -> Option<String> {
42 self.inner.read_full(path)
43 }
44
45 pub fn get_reference(&self, ref_id: &str) -> Option<String> {
47 self.inner.get_reference(ref_id)
48 }
49
50 pub fn search(&self, query: &str) -> JsValue {
52 let result = self.inner.search(query);
53 serde_wasm_bindgen::to_value(&result).unwrap_or(JsValue::NULL)
54 }
55}