1use thiserror::Error;
4use wasm_bindgen::prelude::*;
5
6#[derive(Error, Debug)]
8pub enum WasmError {
9 #[error("Parse error: {0}")]
10 ParseError(String),
11
12 #[error("Query error: {0}")]
13 QueryError(String),
14
15 #[error("Store error: {0}")]
16 StoreError(String),
17
18 #[error("Validation error: {0}")]
19 ValidationError(String),
20
21 #[error("Serialization error: {0}")]
22 SerializationError(String),
23
24 #[error("Not implemented: {0}")]
25 NotImplemented(String),
26}
27
28impl From<WasmError> for JsValue {
29 fn from(error: WasmError) -> Self {
30 JsValue::from_str(&error.to_string())
31 }
32}
33
34pub type WasmResult<T> = Result<T, WasmError>;