Enum Value

enum Value

Representation of a TOML value.

Variants

String(alloc::string::String)

Represents a TOML string

Integer(i64)

Represents a TOML integer

Float(f64)

Represents a TOML float

Boolean(bool)

Represents a TOML boolean

Datetime(Datetime)

Represents a TOML datetime

Array(Array)

Represents a TOML array

Table(Table)

Represents a TOML table

Implementations

impl Value

fn try_from<T>(value: T) -> Result<Self, crate::ser::Error>
where
    T: ser::Serialize

Convert a T into toml::Value which is an enum that can represent any valid TOML data.

This conversion can fail if T's implementation of Serialize decides to fail, or if T contains a map with non-string keys.

fn try_into<'de, T>(self: Self) -> Result<T, crate::de::Error>
where
    T: de::Deserialize<'de>

Interpret a toml::Value as an instance of type T.

This conversion can fail if the structure of the Value does not match the structure expected by T, for example if T is a struct type but the Value contains something other than a TOML table. It can also fail if the structure is correct but T's implementation of Deserialize decides that something is wrong with the data, for example required struct fields are missing from the TOML map or some number is too big to fit in the expected primitive type.

fn get<I: Index>(self: &Self, index: I) -> Option<&Self>

Index into a TOML array or map. A string index can be used to access a value in a map, and a usize index can be used to access an element of an array.

Returns None if the type of self does not match the type of the index, for example if the index is a string and self is an array or a number. Also returns None if the given key does not exist in the map or the given index is not within the bounds of the array.

fn get_mut<I: Index>(self: &mut Self, index: I) -> Option<&mut Self>

Mutably index into a TOML array or map. A string index can be used to access a value in a map, and a usize index can be used to access an element of an array.

Returns None if the type of self does not match the type of the index, for example if the index is a string and self is an array or a number. Also returns None if the given key does not exist in the map or the given index is not within the bounds of the array.

fn as_integer(self: &Self) -> Option<i64>

Extracts the integer value if it is an integer.

fn is_integer(self: &Self) -> bool

Tests whether this value is an integer.

fn as_float(self: &Self) -> Option<f64>

Extracts the float value if it is a float.

fn is_float(self: &Self) -> bool

Tests whether this value is a float.

fn as_bool(self: &Self) -> Option<bool>

Extracts the boolean value if it is a boolean.

fn is_bool(self: &Self) -> bool

Tests whether this value is a boolean.

fn as_str(self: &Self) -> Option<&str>

Extracts the string of this value if it is a string.

fn is_str(self: &Self) -> bool

Tests if this value is a string.

fn as_datetime(self: &Self) -> Option<&Datetime>

Extracts the datetime value if it is a datetime.

Note that a parsed TOML value will only contain ISO 8601 dates. An example date is:

1979-05-27T07:32:00Z
fn is_datetime(self: &Self) -> bool

Tests whether this value is a datetime.

fn as_array(self: &Self) -> Option<&Vec<Self>>

Extracts the array value if it is an array.

fn as_array_mut(self: &mut Self) -> Option<&mut Vec<Self>>

Extracts the array value if it is an array.

fn is_array(self: &Self) -> bool

Tests whether this value is an array.

fn as_table(self: &Self) -> Option<&Table>

Extracts the table value if it is a table.

fn as_table_mut(self: &mut Self) -> Option<&mut Table>

Extracts the table value if it is a table.

fn is_table(self: &Self) -> bool

Tests whether this value is a table.

fn same_type(self: &Self, other: &Self) -> bool

Tests whether this and another value have the same type.

fn type_str(self: &Self) -> &'static str

Returns a human-readable representation of the type of this value.

impl Clone for Value

fn clone(self: &Self) -> Value

impl Debug for Value

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

impl Display for Value

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

impl Freeze for Value

impl From for Value

fn from(val: f64) -> Value

impl From for Value

fn from(val: u32) -> Value

impl From for Value

fn from(val: Table) -> Value

impl From for Value

fn from(val: u8) -> Value

impl From for Value

fn from(val: i8) -> Value

impl From for Value

fn from(val: Datetime) -> Value

impl From for Value

fn from(val: i32) -> Value

impl From for Value

fn from(val: bool) -> Value

impl From for Value

fn from(val: i64) -> Value

impl From for Value

fn from(val: f32) -> Value

impl From for Value

fn from(val: String) -> Value

impl FromStr for Value

fn from_str(s: &str) -> Result<Self, <Self as >::Err>

impl IntoDeserializer for Value

fn into_deserializer(self: Self) -> Self

impl PartialEq for Value

fn eq(self: &Self, other: &Value) -> bool

impl RefUnwindSafe for Value

impl Send for Value

impl Serialize for Value

fn serialize<S>(self: &Self, serializer: S) -> Result<<S as >::Ok, <S as >::Error>
where
    S: ser::Serializer

impl StructuralPartialEq for Value

impl Sync for Value

impl Unpin for Value

impl UnwindSafe for Value

impl<'a> From for Value

fn from(val: &'a str) -> Self

impl<'de> Deserialize for Value

fn deserialize<D>(deserializer: D) -> Result<Self, <D as >::Error>
where
    D: de::Deserializer<'de>

impl<'de> Deserializer for Value

fn deserialize_any<V>(self: Self, visitor: V) -> Result<<V as >::Value, crate::de::Error>
where
    V: de::Visitor<'de>
fn deserialize_enum<V>(self: Self, _name: &'static str, _variants: &'static [&'static str], visitor: V) -> Result<<V as >::Value, crate::de::Error>
where
    V: de::Visitor<'de>
fn deserialize_option<V>(self: Self, visitor: V) -> Result<<V as >::Value, crate::de::Error>
where
    V: de::Visitor<'de>
fn deserialize_newtype_struct<V>(self: Self, _name: &'static str, visitor: V) -> Result<<V as >::Value, crate::de::Error>
where
    V: de::Visitor<'de>
fn deserialize_bool<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_u8<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_u16<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_u32<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_u64<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_i8<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_i16<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_i32<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_i64<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_f32<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_f64<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_char<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_str<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_string<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_unit<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_seq<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_bytes<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_byte_buf<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_map<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_unit_struct<V>(self: Self, name: &'static str, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_tuple_struct<V>(self: Self, name: &'static str, len: usize, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_struct<V>(self: Self, name: &'static str, fields: &'static [&'static str], visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_tuple<V>(self: Self, len: usize, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_ignored_any<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>
fn deserialize_identifier<V>(self: Self, visitor: V) -> $crate::__private::Result<<V as >::Value, <Self as $crate::de::Deserializer<'de>>::Error>
where
    V: $crate::de::Visitor<'de>

impl<I> Index for Value

fn index(self: &Self, index: I) -> &Self

impl<I> IndexMut for Value

fn index_mut(self: &mut Self, index: I) -> &mut Self

impl<S: Into<alloc::string::String> + Hash + Eq, V: Into<Self>> From for Value

fn from(val: HashMap<S, V>) -> Self

impl<S: Into<alloc::string::String>, V: Into<Self>> From for Value

fn from(val: BTreeMap<S, V>) -> Self

impl<T> Any for Value

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for Value

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for Value

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

impl<T> CloneToUninit for Value

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> DeserializeOwned for Value

impl<T> From for Value

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for Value

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T> ToString for Value

fn to_string(self: &Self) -> String

impl<T, U> Into for Value

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for Value

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

impl<T, U> TryInto for Value

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

impl<V: Into<Self>> From for Value

fn from(val: Vec<V>) -> Self