pub struct Config {
pub cache: Value,
/* private fields */
}Expand description
A prioritized configuration repository. It maintains a set of configuration sources, fetches values to populate those, and provides them according to the source’s priority.
Fields
cache: ValueRoot of the cached configuration.
Implementations
sourceimpl Config
impl Config
sourcepub fn builder() -> ConfigBuilder<DefaultState>
pub fn builder() -> ConfigBuilder<DefaultState>
Creates new ConfigBuilder instance
sourcepub fn merge<T>(&mut self, source: T) -> Result<&mut Self, ConfigError> where
T: 'static,
T: Source + Send + Sync,
👎 Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
pub fn merge<T>(&mut self, source: T) -> Result<&mut Self, ConfigError> where
T: 'static,
T: Source + Send + Sync,
please use ‘ConfigBuilder’ instead
Merge in a configuration property source.
sourcepub fn with_merged<T>(self, source: T) -> Result<Self, ConfigError> where
T: 'static,
T: Source + Send + Sync,
👎 Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
pub fn with_merged<T>(self, source: T) -> Result<Self, ConfigError> where
T: 'static,
T: Source + Send + Sync,
please use ‘ConfigBuilder’ instead
Merge in a configuration property source.
sourcepub fn refresh(&mut self) -> Result<&mut Self, ConfigError>
👎 Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
pub fn refresh(&mut self) -> Result<&mut Self, ConfigError>
please use ‘ConfigBuilder’ instead
Refresh the configuration cache with fresh data from added sources.
Configuration is automatically refreshed after a mutation
operation (set, merge, set_default, etc.).
sourcepub fn set_default<T>(
&mut self,
key: &str,
value: T
) -> Result<&mut Self, ConfigError> where
T: Into<Value>,
👎 Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
pub fn set_default<T>(
&mut self,
key: &str,
value: T
) -> Result<&mut Self, ConfigError> where
T: Into<Value>,
please use ‘ConfigBuilder’ instead
Set a default value at key
sourcepub fn set<T>(&mut self, key: &str, value: T) -> Result<&mut Self, ConfigError> where
T: Into<Value>,
👎 Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
pub fn set<T>(&mut self, key: &str, value: T) -> Result<&mut Self, ConfigError> where
T: Into<Value>,
please use ‘ConfigBuilder’ instead
Set an overwrite
This function sets an overwrite value.
The overwrite value is written to the key location on every refresh()
Warning
Errors if config is frozen
pub fn set_once(&mut self, key: &str, value: Value) -> Result<(), ConfigError>
please use ‘ConfigBuilder’ instead
pub fn get<'de, T: Deserialize<'de>>(&self, key: &str) -> Result<T, ConfigError>
pub fn get_string(&self, key: &str) -> Result<String, ConfigError>
pub fn get_int(&self, key: &str) -> Result<i64, ConfigError>
pub fn get_float(&self, key: &str) -> Result<f64, ConfigError>
pub fn get_bool(&self, key: &str) -> Result<bool, ConfigError>
pub fn get_table(&self, key: &str) -> Result<Map<String, Value>, ConfigError>
pub fn get_array(&self, key: &str) -> Result<Vec<Value>, ConfigError>
sourcepub fn try_deserialize<'de, T: Deserialize<'de>>(self) -> Result<T, ConfigError>
pub fn try_deserialize<'de, T: Deserialize<'de>>(self) -> Result<T, ConfigError>
Attempt to deserialize the entire configuration into the requested type.
sourcepub fn try_from<T: Serialize>(from: &T) -> Result<Self, ConfigError>
pub fn try_from<T: Serialize>(from: &T) -> Result<Self, ConfigError>
Attempt to serialize the entire configuration from the given type.
pub fn deserialize<'de, T: Deserialize<'de>>(self) -> Result<T, ConfigError>
please use ‘try_deserialize’ instead
Trait Implementations
sourceimpl<'de> Deserializer<'de> for Config
impl<'de> Deserializer<'de> for Config
type Error = ConfigError
type Error = ConfigError
The error type that can be returned if some error occurs during deserialization. Read more
sourcefn deserialize_any<V>(self, visitor: V) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
Require the Deserializer to figure out how to drive the visitor based
on what data type is in the input. Read more
sourcefn deserialize_bool<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_bool<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a bool value.
sourcefn deserialize_i8<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_i8<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting an i8 value.
sourcefn deserialize_i16<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_i16<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting an i16 value.
sourcefn deserialize_i32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_i32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting an i32 value.
sourcefn deserialize_i64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_i64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting an i64 value.
sourcefn deserialize_u8<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_u8<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a u8 value.
sourcefn deserialize_u16<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_u16<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a u16 value.
sourcefn deserialize_u32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_u32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a u32 value.
sourcefn deserialize_u64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_u64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a u64 value.
sourcefn deserialize_f32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_f32<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a f32 value.
sourcefn deserialize_f64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_f64<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a f64 value.
sourcefn deserialize_str<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_str<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer. Read more
sourcefn deserialize_string<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
fn deserialize_string<V: Visitor<'de>>(
self,
visitor: V
) -> Result<V::Value, ConfigError>
Hint that the Deserialize type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer. Read more
sourcefn deserialize_option<V>(self, visitor: V) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting an optional value. Read more
sourcefn deserialize_enum<V>(
self,
name: &'static str,
variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
name: &'static str,
variants: &'static [&'static str],
visitor: V
) -> Result<V::Value, ConfigError> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting an enum value with a
particular name and possible variants. Read more
sourcefn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_char<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a char value.
sourcefn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a sequence of values.
sourcefn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a byte array and does not
benefit from taking ownership of buffered data owned by the
Deserializer. Read more
sourcefn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
Deserializer. Read more
sourcefn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_map<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a map of key-value pairs.
sourcefn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
name: &'static str,
fields: &'static [&'static str],
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a struct with a particular
name and fields. Read more
sourcefn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a unit value.
sourcefn deserialize_newtype_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a newtype struct with a
particular name. Read more
sourcefn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_identifier<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting the name of a struct
field or the discriminant of an enum variant. Read more
sourcefn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(self, visitor: V) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read more
sourcefn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a unit struct with a
particular name. Read more
sourcefn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a tuple struct with a
particular name and number of fields. Read more
sourcefn deserialize_tuple<V>(
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V
) -> Result<V::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting a sequence of values and
knows how many values there are without looking at the serialized data. Read more
sourcefn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting an i128 value. Read more
sourcefn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
fn deserialize_u128<V>(
self,
visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
V: Visitor<'de>,
Hint that the Deserialize type is expecting an u128 value. Read more
sourcefn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether Deserialize implementations should expect to
deserialize their human-readable form. Read more
sourceimpl Source for Config
impl Source for Config
fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>
sourcefn collect(&self) -> Result<Map<String, Value>, ConfigError>
fn collect(&self) -> Result<Map<String, Value>, ConfigError>
Collect all configuration properties available from this source and return a Map. Read more
sourcefn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>
fn collect_to(&self, cache: &mut Value) -> Result<(), ConfigError>
Collects all configuration properties to a provided cache.
Auto Trait Implementations
impl !RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl !UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more