use crate::{import::*, WsErr};
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum WsEvent {
Open,
Error,
Closing,
Closed(CloseEvent),
WsErr(WsErr),
}
impl WsEvent {
pub fn is_open(&self) -> bool {
matches!(self, Self::Open)
}
pub fn is_err(&self) -> bool {
matches!(self, Self::Error)
}
pub fn is_closing(&self) -> bool {
matches!(self, Self::Closing)
}
pub fn is_closed(&self) -> bool {
matches!(self, Self::Closed(_))
}
pub fn is_ws_err(&self) -> bool {
matches!(self, Self::WsErr(_))
}
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CloseEvent {
pub code: u16,
pub reason: String,
pub was_clean: bool,
}
impl From<JsCloseEvt> for CloseEvent {
fn from(js_evt: JsCloseEvt) -> Self {
Self {
code: js_evt.code(),
reason: js_evt.reason(),
was_clean: js_evt.was_clean(),
}
}
}