diff --git a/src/types/entities/mod.rs b/src/types/entities/mod.rs index bc8273f..aa52ab9 100644 --- a/src/types/entities/mod.rs +++ b/src/types/entities/mod.rs @@ -23,6 +23,7 @@ pub use voice_state::*; pub use webhook::*; use crate::gateway::Updateable; +use std::sync::{Arc, RwLock}; mod application; mod attachment; @@ -50,4 +51,23 @@ mod webhook; pub(crate) trait Composite { fn watch_whole(self) -> Self; + fn option_observe_fn(value: Option>>) -> Option>> { + // Perform your logic here... + value + } + + fn option_vec_observe_fn(value: Option>>>) -> Option>>> { + // Perform your logic here... + value + } + + fn value_observe_fn(value: Arc>) -> Arc> { + // Perform your logic here... + value + } + + fn vec_observe_fn(value: Vec>>) -> Vec>> { + // Perform your logic here... + value + } }