//! When something changes on the server, the server pushes a StateChange //! object to the client. use std::{borrow::Cow, collections::HashMap}; use serde::{Deserialize, Serialize}; use crate::{common::Id, endpoints::object::ObjectState, events::Event}; #[derive(Deserialize, Serialize, Clone, Debug)] #[serde(rename_all = "camelCase")] pub struct StateChange<'a> { #[serde(borrow)] changed: HashMap, HashMap, ObjectState<'a>>>, } impl<'a> Event for StateChange<'a> { const NAME: &'static str = "StateChange"; }