Struct irx_config::config::ConfigBuilder
source · pub struct ConfigBuilder { /* private fields */ }
Expand description
The builder for Config
structure.
Implementations§
source§impl ConfigBuilder
impl ConfigBuilder
sourcepub fn append_parser<P>(self, parser: P) -> Selfwhere
P: Parse + 'static,
pub fn append_parser<P>(self, parser: P) -> Selfwhere
P: Parse + 'static,
Append a parser to Config
. First appended parser will have highest priority during (re)load merge, the last
one will have lowest priority.
Example
use irx_config::parsers::{env, json};
use irx_config::ConfigBuilder;
let config = ConfigBuilder::default()
.append_parser(
json::ParserBuilder::default()
.default_path("config.json")
.build()?,
)
.append_parser(
env::ParserBuilder::default()
.default_prefix("APP_")
.build()?,
)
.load()?;
sourcepub fn sealed_suffix<S>(self, suffix: S) -> Self
pub fn sealed_suffix<S>(self, suffix: S) -> Self
Set suffix for keys to mark them as a secret value which will be obfuscated during display/debugging output. If not set then all values will be displayed as is.
Example
use irx_config::parsers::env;
use irx_config::ConfigBuilder;
let config = ConfigBuilder::default()
.append_parser(
env::ParserBuilder::default()
.default_prefix("APP_")
.build()?,
)
.sealed_suffix("_sealed_")
.load()?;
sourcepub fn keys_delimiter<D>(self, delim: D) -> Self
pub fn keys_delimiter<D>(self, delim: D) -> Self
Set default key level delimiter. Default is DEFAULT_KEYS_SEPARATOR
.
Example
use clap::app_from_crate;
use irx_config::parsers::cmd;
use irx_config::ConfigBuilder;
let app = app_from_crate!();
let config = ConfigBuilder::default()
.append_parser(cmd::ParserBuilder::new(app).build()?)
.keys_delimiter("/")
.load()?;
sourcepub fn merge_case(self, case: MergeCase) -> Self
pub fn merge_case(self, case: MergeCase) -> Self
Set merge case mode for a keys (see MergeCase
). Default is MergeCase::Auto
.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ConfigBuilder
impl !Send for ConfigBuilder
impl !Sync for ConfigBuilder
impl Unpin for ConfigBuilder
impl !UnwindSafe for ConfigBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more