From ad7626147d2498f2970b0ca484a0d82d3dd8096c Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Sat, 18 Nov 2023 20:02:50 +0100 Subject: [PATCH] Add MessageCapable trait implementation for WsMessage --- src/gateway/wasm/mod.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/gateway/wasm/mod.rs b/src/gateway/wasm/mod.rs index cbb0a7d..aaab48f 100644 --- a/src/gateway/wasm/mod.rs +++ b/src/gateway/wasm/mod.rs @@ -3,3 +3,28 @@ pub mod heartbeat; use super::*; pub use gateway::*; pub use heartbeat::*; +use ws_stream_wasm::WsMessage; + +impl crate::gateway::MessageCapable for WsMessage { + fn as_string(&self) -> Option { + match self { + WsMessage::Text(text) => Some(text.clone()), + _ => None, + } + } + + fn as_bytes(&self) -> Option> { + match self { + WsMessage::Binary(bytes) => Some(bytes.clone()), + _ => None, + } + } + + fn is_empty(&self) -> bool { + match self { + WsMessage::Text(text) => text.is_empty(), + WsMessage::Binary(bytes) => bytes.is_empty(), + _ => false, + } + } +}