From 0d2d8cd897e94bd94e0b3ae7c6ce9aa580a44a0a Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Wed, 26 Aug 2026 23:47:59 -0400 Subject: Add a_tension_span --- 2026/games_submissions/rpc2dot0/src/message.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 2026/games_submissions/rpc2dot0/src/message.rs (limited to '2026/games_submissions/rpc2dot0/src/message.rs') diff --git a/2026/games_submissions/rpc2dot0/src/message.rs b/2026/games_submissions/rpc2dot0/src/message.rs new file mode 100644 index 0000000..d960b67 --- /dev/null +++ b/2026/games_submissions/rpc2dot0/src/message.rs @@ -0,0 +1,26 @@ +use serde::Serialize; +use std::fmt::Debug; + +#[derive(Serialize, Debug)] +pub struct Message<'a> { + pub op: &'a str, + #[serde(skip_serializing_if = "Option::is_none")] + pub verb: Option<&'a str>, + #[serde(skip_serializing_if = "Option::is_none")] + pub win: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub score: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub video_url: Option, +} + +impl<'a> Message<'a> { + pub fn post(window: &web_sys::Window, msg: &MSG) + where + MSG: Serialize + Debug, + { + log::info!("eatyourgreens:: post message: {:?}", msg); + let js_value = serde_wasm_bindgen::to_value(msg).unwrap(); + let _ = window.post_message(&js_value, "*"); + } +} -- cgit v1.3.1