use std::sync::LazyLock; pub struct ConfigMeta { pub env: String, pub embed_color: u32, pub rustbot_logs: u64, pub developers: Vec } #[cfg(feature = "production")] pub static BINARY_PROPERTIES: LazyLock = LazyLock::new(ConfigMeta::new); #[cfg(not(feature = "production"))] pub static BINARY_PROPERTIES: LazyLock = LazyLock::new(|| ConfigMeta::new() .env(String::from("dev")) .embed_color(0xf1d63c) ); impl ConfigMeta { fn new() -> Self { Self { env: String::from("prod"), embed_color: 0xf1d63c, rustbot_logs: 1276874302314254448, developers: vec![ 190407856527376384 // toast.ts ] } } // Scalable functions below; #[cfg(not(feature = "production"))] fn env(mut self, env: String) -> Self { self.env = env; self } #[cfg(not(feature = "production"))] fn embed_color(mut self, color: u32) -> Self { self.embed_color = color; self } }