use thiserror::Error;
pub type BackendError = crate::websocket::backend::BackendError;
#[derive(Debug, Error)]
pub enum Error {
#[error("Connection error: {0:?}")]
ConnectionError(BackendError),
#[error("Send error: {0:?}")]
SendError(BackendError),
#[error("Receive error: {0:?}")]
ReceiveError(BackendError),
#[error("Mutex lock error: {0}")]
LockError(String),
#[error("WebSocket creation failed")]
WebSocketCreationFailed,
#[error("Type cast failed: {0}")]
CastError(String),
#[error("Unsupported message type: {0}")]
UnsupportedMessageType(String),
}
pub type Result<T> = std::result::Result<T, Error>;