pub struct Value {
pub kind: ValueKind,
/* private fields */
}
Expand description
A configuration value.
Fields§
§kind: ValueKind
Underlying kind of the configuration value.
Implementations§
source§impl Value
impl Value
sourcepub fn new<V>(origin: Option<&String>, kind: V) -> Self
pub fn new<V>(origin: Option<&String>, kind: V) -> Self
Create a new value instance that will remember its source uri.
sourcepub fn origin(&self) -> Option<&str>
pub fn origin(&self) -> Option<&str>
Get the description of the original location of the value.
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 this value into the requested type.
sourcepub fn into_bool(self) -> Result<bool, ConfigError>
pub fn into_bool(self) -> Result<bool, ConfigError>
Returns self
as a bool, if possible.
sourcepub fn into_int(self) -> Result<i64, ConfigError>
pub fn into_int(self) -> Result<i64, ConfigError>
Returns self
into an i64, if possible.
sourcepub fn into_int128(self) -> Result<i128, ConfigError>
pub fn into_int128(self) -> Result<i128, ConfigError>
Returns self
into an i128, if possible.
sourcepub fn into_uint(self) -> Result<u64, ConfigError>
pub fn into_uint(self) -> Result<u64, ConfigError>
Returns self
into an u64, if possible.
sourcepub fn into_uint128(self) -> Result<u128, ConfigError>
pub fn into_uint128(self) -> Result<u128, ConfigError>
Returns self
into an u128, if possible.
sourcepub fn into_float(self) -> Result<f64, ConfigError>
pub fn into_float(self) -> Result<f64, ConfigError>
Returns self
into a f64, if possible.
sourcepub fn into_string(self) -> Result<String, ConfigError>
pub fn into_string(self) -> Result<String, ConfigError>
Returns self
into a string, if possible.
sourcepub fn into_array(self) -> Result<Vec<Self>, ConfigError>
pub fn into_array(self) -> Result<Vec<Self>, ConfigError>
Returns self
into an array, if possible
sourcepub fn into_table(self) -> Result<Map<String, Self>, ConfigError>
pub fn into_table(self) -> Result<Map<String, Self>, ConfigError>
If the Value
is a Table, returns the associated Map.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'de> Deserializer<'de> for Value
impl<'de> Deserializer<'de> for Value
source§type Error = ConfigError
type Error = ConfigError
The error type that can be returned if some error occurs during
deserialization.
source§fn 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 moresource§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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 moresource§fn 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 moresource§fn 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 moresource§fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, ConfigError>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, ConfigError>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a newtype struct with a
particular name.source§fn 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.source§fn 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.source§fn 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.source§fn 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 moresource§fn 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 moresource§fn 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.source§fn 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.source§fn 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.source§fn 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.source§fn 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 moresource§fn 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.source§fn 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.source§fn 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.source§fn 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>,
source§fn 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>,
source§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether
Deserialize
implementations should expect to
deserialize their human-readable form. Read moreimpl StructuralPartialEq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)