use crate::*;
#[derive(Clone, PartialEq)]
pub(crate) struct WsMessage {
pub(crate) data: String,
pub(crate) time: String,
}
#[derive(Clone, Deserialize)]
pub(crate) struct WsServerMessage {
pub(crate) data: String,
pub(crate) time: f64,
}
#[derive(Clone, Copy, Data)]
pub(crate) struct UseWebSocket {
#[get(type(copy))]
pub(crate) url: Signal<String>,
#[get(type(copy))]
pub(crate) connected: Signal<bool>,
#[get(type(copy))]
pub(crate) connecting: Signal<bool>,
#[get(type(copy))]
pub(crate) message_input: Signal<String>,
#[get(type(copy))]
pub(crate) messages: Signal<Vec<WsMessage>>,
#[get(type(copy))]
pub(crate) error: Signal<String>,
#[get(type(copy))]
pub(crate) ping_handle: Signal<Option<IntervalHandle>>,
}