nile_library/
lib.rs

1use serde_wasm_bindgen;
2use wasm_bindgen::prelude::*;
3
4mod commands;
5mod parser;
6pub mod validate;
7
8#[wasm_bindgen]
9pub fn validate_base(js_config: JsValue, base: String) -> JsValue {
10    let config: validate::LanguageConfig = serde_wasm_bindgen::from_value(js_config).unwrap();
11    let response = validate::validate_base(&config, &base);
12    serde_wasm_bindgen::to_value(&response).unwrap()
13}
14
15#[wasm_bindgen]
16pub fn validate_translation(
17    js_config: JsValue,
18    base: String,
19    case: String,
20    translation: String,
21) -> JsValue {
22    let config: validate::LanguageConfig = serde_wasm_bindgen::from_value(js_config).unwrap();
23    let response = validate::validate_translation(&config, &base, &case, &translation);
24    serde_wasm_bindgen::to_value(&response).unwrap()
25}
26
27#[wasm_bindgen]
28pub fn init() {
29    std::panic::set_hook(Box::new(console_error_panic_hook::hook));
30}