use thiserror::Error; #[derive(Error, Debug)] pub enum NdError { #[error("connection failed: {0}")] Connect(String), #[error("protocol error: {0}")] Protocol(String), #[error("authentication failed: {0}")] Auth(String), #[error("session denied: {0}")] Denied(String), #[error("crypto error: {0}")] Crypto(String), #[error("websocket closed")] Closed, #[error(transparent)] Json(#[from] serde_json::Error), #[error(transparent)] Other(#[from] anyhow::Error), } pub type Result = std::result::Result;