web_image/
error.rs

1use image::ImageError;
2use thiserror::Error;
3use wasm_bindgen::JsValue;
4
5#[derive(Error, Debug)]
6pub enum WebImageError {
7    #[error("failed to convert web image to dynamic image: container is not large enough")]
8    ConversionError,
9    #[error("Failed to create web image")]
10    ImageError(#[from] ImageError),
11    #[error("A DOM error occurred")]
12    DomError,
13    #[error("A JS error occurred")]
14    JsError { inner: JsValue },
15}
16
17impl From<WebImageError> for JsValue {
18    fn from(value: WebImageError) -> Self {
19        JsValue::from_str(value.to_string().as_str())
20    }
21}
22
23impl From<JsValue> for WebImageError {
24    fn from(value: JsValue) -> Self {
25        WebImageError::JsError { inner: value }
26    }
27}