Struct config::Config

source ·
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: Value

Root of the cached configuration.

Implementations§

source§

impl Config

source

pub fn builder() -> ConfigBuilder<DefaultState>

Creates new ConfigBuilder instance

source

pub fn merge<T>(&mut self, source: T) -> Result<&mut Self, ConfigError>
where T: 'static + Source + Send + Sync,

👎Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead

Merge in a configuration property source.

source

pub fn with_merged<T>(self, source: T) -> Result<Self, ConfigError>
where T: 'static + Source + Send + Sync,

👎Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead

Merge in a configuration property source.

source

pub fn refresh(&mut self) -> Result<&mut Self, ConfigError>

👎Deprecated since 0.12.0: 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.).

source

pub 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

Set a default value at key

source

pub 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

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

source

pub fn set_once(&mut self, key: &str, value: Value) -> Result<(), ConfigError>

👎Deprecated since 0.12.0: please use ‘ConfigBuilder’ instead
source

pub fn get<'de, T: Deserialize<'de>>(&self, key: &str) -> Result<T, ConfigError>

source

pub fn get_string(&self, key: &str) -> Result<String, ConfigError>

source

pub fn get_int(&self, key: &str) -> Result<i64, ConfigError>

source

pub fn get_float(&self, key: &str) -> Result<f64, ConfigError>

source

pub fn get_bool(&self, key: &str) -> Result<bool, ConfigError>

source

pub fn get_table(&self, key: &str) -> Result<Map<String, Value>, ConfigError>

source

pub fn get_array(&self, key: &str) -> Result<Vec<Value>, ConfigError>

source

pub fn try_deserialize<'de, T: Deserialize<'de>>(self) -> Result<T, ConfigError>

Attempt to deserialize the entire configuration into the requested type.

source

pub fn try_from<T: Serialize>(from: &T) -> Result<Self, ConfigError>

Attempt to serialize the entire configuration from the given type.

source

pub fn deserialize<'de, T: Deserialize<'de>>(self) -> Result<T, ConfigError>

👎Deprecated since 0.7.0: please use ‘try_deserialize’ instead

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Config

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Config

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserializer<'de> for Config

§

type Error = ConfigError

The error type that can be returned if some error occurs during deserialization.
source§

fn deserialize_any<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Require the Deserializer to figure out how to drive the visitor based on what data type is in the input. Read more
source§

fn deserialize_bool<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a bool value.
source§

fn deserialize_i8<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an i8 value.
source§

fn deserialize_i16<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an i16 value.
source§

fn deserialize_i32<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an i32 value.
source§

fn deserialize_i64<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an i64 value.
source§

fn deserialize_u8<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a u8 value.
source§

fn deserialize_u16<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a u16 value.
source§

fn deserialize_u32<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a u32 value.
source§

fn deserialize_u64<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a u64 value.
source§

fn deserialize_f32<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a f32 value.
source§

fn deserialize_f64<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a f64 value.
source§

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
source§

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
source§

fn deserialize_option<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an optional value. Read more
source§

fn deserialize_char<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a char value.
source§

fn deserialize_seq<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a sequence of values.
source§

fn deserialize_bytes<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

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
source§

fn deserialize_byte_buf<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

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
source§

fn deserialize_map<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a map of key-value pairs.
source§

fn deserialize_unit<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a unit value.
source§

fn deserialize_identifier<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting the name of a struct field or the discriminant of an enum variant.
source§

fn deserialize_ignored_any<V: Visitor<'de>>( self, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type needs to deserialize a value whose type doesn’t matter because it is ignored. Read more
source§

fn deserialize_enum<V: Visitor<'de>>( self, name: &'static str, variants: &'static [&'static str], visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting an enum value with a particular name and possible variants.
source§

fn deserialize_unit_struct<V: Visitor<'de>>( self, name: &'static str, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a unit struct with a particular name.
source§

fn deserialize_newtype_struct<V: Visitor<'de>>( self, name: &'static str, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a newtype struct with a particular name.
source§

fn deserialize_tuple<V: Visitor<'de>>( self, n: usize, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a sequence of values and knows how many values there are without looking at the serialized data.
source§

fn deserialize_tuple_struct<V: Visitor<'de>>( self, name: &'static str, n: usize, visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a tuple struct with a particular name and number of fields.
source§

fn deserialize_struct<V: Visitor<'de>>( self, name: &'static str, fields: &'static [&'static str], visitor: V ) -> Result<V::Value, ConfigError>

Hint that the Deserialize type is expecting a struct with a particular name and fields.
source§

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
source§

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
source§

fn is_human_readable(&self) -> bool

Determine whether Deserialize implementations should expect to deserialize their human-readable form. Read more
source§

impl Source for Config

source§

fn clone_into_box(&self) -> Box<dyn Source + Send + Sync>

source§

fn collect(&self) -> Result<Map<String, Value>, ConfigError>

Collect all configuration properties available from this source and return a Map.
source§

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§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.