diff options
Diffstat (limited to 'src/emotes.rs')
| -rw-r--r-- | src/emotes.rs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/emotes.rs b/src/emotes.rs index 53fd5ad..b1beb9d 100644 --- a/src/emotes.rs +++ b/src/emotes.rs @@ -1,3 +1,5 @@ +use std::sync::Arc; + use reqwest::Error; use serde::{Deserialize, Serialize}; @@ -33,11 +35,10 @@ pub trait RetrieveEmoteAPI<T> { async fn get_global_emotes(&self) -> Result<Vec<T>, Error>; } -pub trait RetrieveEmoteWS<T, F> -where - F: Fn(String, Option<String>, T), -{ - fn on_emote_create(&mut self, func: F); - fn on_emote_update(&mut self, func: F); - fn on_emote_delete(&mut self, func: F); +pub type RetrieveEmoteHandler<T> = Arc<dyn Fn(String, Option<String>, T) + Send + Sync>; + +pub trait RetrieveEmoteWS<T> { + fn on_emote_create(&mut self, func: impl Fn(String, Option<String>, T) + Send + Sync + 'static); + fn on_emote_update(&mut self, func: impl Fn(String, Option<String>, T) + Send + Sync + 'static); + fn on_emote_delete(&mut self, func: impl Fn(String, Option<String>, T) + Send + Sync + 'static); } |
