1
use std::sync::PoisonError;
2

            
3
use finance::error::FinanceError;
4
use thiserror::Error;
5
use wasmtime::Error as WASMError;
6

            
7
#[derive(Debug, Error)]
8
pub enum HookError {
9
    #[error("WASM")]
10
    WASM(#[from] WASMError),
11
    #[error("WASM memory")]
12
    WASMMem,
13
    #[error("Mutex problem")]
14
    Lock,
15
    #[error("Can't build resulting type")]
16
    Finance(#[from] FinanceError),
17
}
18

            
19
impl<T> From<PoisonError<T>> for HookError {
20
    fn from(err: PoisonError<T>) -> Self {
21
        log::error!("Mutex lock error: {err}");
22
        Self::Lock
23
    }
24
}