config.rs 432 B

1234567891011121314151617181920
  1. use super::{Draft, IVerge};
  2. use once_cell::sync::OnceCell;
  3. pub struct Config {
  4. verge_config: Draft<IVerge>,
  5. }
  6. impl Config {
  7. pub fn global() -> &'static Config {
  8. static CONFIG: OnceCell<Config> = OnceCell::new();
  9. CONFIG.get_or_init(|| Config {
  10. verge_config: Draft::from(IVerge::new()),
  11. })
  12. }
  13. pub fn verge() -> Draft<IVerge> {
  14. Self::global().verge_config.clone()
  15. }
  16. }