j_webgl/
error.rs

1/// Generic error type for WebGL operations
2#[derive(thiserror::Error, Debug)]
3pub enum Error {
4    #[error("FromJsValue: {0}")]
5    FromJsValue(String),
6    /*
7    #[error(transparent)]
8    SerdeWasmBindgenError(#[from] serde_wasm_bindgen::Error),
9    */
10
11    #[error("Unsupported operation: {0}")]
12    UnsupportedOperation(String),
13}
14
15impl From<wasm_bindgen::JsValue> for Error {
16    fn from(value: wasm_bindgen::JsValue) -> Self {
17        Error::FromJsValue(value.as_string().unwrap_or_default())
18    }
19}
20
21impl From<Error> for wasm_bindgen::JsValue {
22    fn from(error: Error) -> Self {
23        wasm_bindgen::JsValue::from_str(&error.to_string())
24    }
25}
26
27/// Result type alias using Error
28pub type Result<T> = std::result::Result<T, Error>;