use thiserror::Error;
#[derive(Error, Debug)]
pub enum RealtimeError {
#[error("WebSocket error: {0}")]
WebSocketError(#[from] tokio_tungstenite::tungstenite::Error),
#[error("URL parse error: {0}")]
UrlParseError(#[from] url::ParseError),
#[error("JSON serialization error: {0}")]
SerializationError(#[from] serde_json::Error),
#[error("Subscription error: {0}")]
SubscriptionError(String),
#[error("Channel error: {0}")]
ChannelError(String),
#[error("Connection error: {0}")]
ConnectionError(String),
}
impl RealtimeError {
#[allow(dead_code)] pub fn new(message: String) -> Self {
Self::ChannelError(message)
}
}