better_config_loader/
lib.rs

1macro_rules! config_feature {
2    ($feature:literal, $mod:ident, $trait:ident) => {
3        #[cfg(feature = $feature)]
4        mod $mod;
5        #[cfg(feature = $feature)]
6        pub use $mod::$trait;
7    };
8}
9
10config_feature!("yml", yml, YmlConfig);
11config_feature!("json", json, JsonConfig);
12config_feature!("toml", toml, TomlConfig);
13config_feature!("env", env, EnvConfig);
14config_feature!("ini", ini, IniConfig);