mirror of
https://github.com/OMGeeky/confique.git
synced 2026-01-08 04:27:03 +01:00
Add handling of nested configuration types via #[config(child)]
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
use std::net::IpAddr;
|
||||
use confique::{Config, Partial};
|
||||
|
||||
#[derive(Debug, Config)]
|
||||
struct Conf {
|
||||
#[config(child)]
|
||||
http: Http,
|
||||
|
||||
#[config(child)]
|
||||
cat: Cat,
|
||||
}
|
||||
|
||||
|
||||
#[derive(Debug, Config)]
|
||||
struct Http {
|
||||
#[config(default = 8080)]
|
||||
@@ -8,11 +18,14 @@ struct Http {
|
||||
|
||||
#[config(default = "127.0.0.1")]
|
||||
bind: IpAddr,
|
||||
}
|
||||
|
||||
#[derive(Debug, Config)]
|
||||
struct Cat {
|
||||
foo: Option<String>,
|
||||
}
|
||||
|
||||
|
||||
fn main() {
|
||||
println!("{:?}", Http::from_partial(<Http as Config>::Partial::default_values()));
|
||||
println!("{:#?}", Conf::from_partial(<Conf as Config>::Partial::default_values()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user