pub enum ConfigValue<'a> {
StrRef(&'a str),
Str(String),
Int(i64),
Float(f64),
Bool(bool),
Rand(RandValue),
}
Expand description
Config value, ConfigSource use this value to store config properties.
§Placeholder expression
Placeholder expression use normalized string representation of crate::ConfigKey
, with extra brackets.
For example: ${cfg.k1}
.
Placeholder expression is powerful in realworld application, it has following benifits:
§Placeholder can reduce duplicated configs, use one key config to affect multiple keys.
app.name
=cfg
app.version
=1.0.0
app.desc
=Application ${app.name}, version ${app.version}
§Placeholder can generate configs, we can use placeholder to generate random values.
app.id
=${random.u64}
app.instance
=${app.name}-${app.id}
Variants§
StrRef(&'a str)
String reference, supports placeholder expression.
Str(String)
String, supports placeholder expression.
Int(i64)
Integer.
Float(f64)
Float value.
Bool(bool)
Bool value.
Rand(RandValue)
Random value.
Trait Implementations§
Source§impl<'a> Debug for ConfigValue<'a>
impl<'a> Debug for ConfigValue<'a>
Source§impl<'a> From<&'a str> for ConfigValue<'a>
impl<'a> From<&'a str> for ConfigValue<'a>
Source§impl From<String> for ConfigValue<'_>
impl From<String> for ConfigValue<'_>
Source§impl From<bool> for ConfigValue<'_>
impl From<bool> for ConfigValue<'_>
Source§impl From<f32> for ConfigValue<'_>
impl From<f32> for ConfigValue<'_>
Source§impl From<f64> for ConfigValue<'_>
impl From<f64> for ConfigValue<'_>
Source§impl From<i128> for ConfigValue<'_>
impl From<i128> for ConfigValue<'_>
Source§impl From<i16> for ConfigValue<'_>
impl From<i16> for ConfigValue<'_>
Source§impl From<i32> for ConfigValue<'_>
impl From<i32> for ConfigValue<'_>
Source§impl From<i64> for ConfigValue<'_>
impl From<i64> for ConfigValue<'_>
Source§impl From<i8> for ConfigValue<'_>
impl From<i8> for ConfigValue<'_>
Source§impl From<isize> for ConfigValue<'_>
impl From<isize> for ConfigValue<'_>
Source§impl From<u128> for ConfigValue<'_>
impl From<u128> for ConfigValue<'_>
Source§impl From<u16> for ConfigValue<'_>
impl From<u16> for ConfigValue<'_>
Source§impl From<u32> for ConfigValue<'_>
impl From<u32> for ConfigValue<'_>
Source§impl From<u64> for ConfigValue<'_>
impl From<u64> for ConfigValue<'_>
Source§impl From<u8> for ConfigValue<'_>
impl From<u8> for ConfigValue<'_>
Auto Trait Implementations§
impl<'a> Freeze for ConfigValue<'a>
impl<'a> RefUnwindSafe for ConfigValue<'a>
impl<'a> Send for ConfigValue<'a>
impl<'a> Sync for ConfigValue<'a>
impl<'a> Unpin for ConfigValue<'a>
impl<'a> UnwindSafe for ConfigValue<'a>
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