Enum milf::value::Value[][src]

pub enum Value {
    String(String),
    Integer(i64),
    Float(f64),
    Boolean(bool),
    Datetime(Datetime),
    Array(Array),
    Table(Table),
}

Representation of a MILF value.

Variants

String(String)

Represents a MILF string

Integer(i64)

Represents a MILF integer

Float(f64)

Represents a MILF float

Boolean(bool)

Represents a MILF boolean

Datetime(Datetime)

Represents a MILF datetime

Array(Array)

Represents a MILF array

Table(Table)

Represents a MILF table

Implementations

impl Value[src]

pub fn try_from<T>(value: T) -> Result<Value, Error> where
    T: Serialize
[src]

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

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

pub fn try_into<'de, T>(self) -> Result<T, Error> where
    T: Deserialize<'de>, 
[src]

Interpret a milf::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 MILF 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 MILF map or some number is too big to fit in the expected primitive type.

pub fn get<I: Index>(&self, index: I) -> Option<&Value>[src]

Index into a MILF 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.

pub fn get_mut<I: Index>(&mut self, index: I) -> Option<&mut Value>[src]

Mutably index into a MILF 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.

pub fn as_integer(&self) -> Option<i64>[src]

Extracts the integer value if it is an integer.

pub fn is_integer(&self) -> bool[src]

Tests whether this value is an integer.

pub fn as_float(&self) -> Option<f64>[src]

Extracts the float value if it is a float.

pub fn is_float(&self) -> bool[src]

Tests whether this value is a float.

pub fn as_bool(&self) -> Option<bool>[src]

Extracts the boolean value if it is a boolean.

pub fn is_bool(&self) -> bool[src]

Tests whether this value is a boolean.

pub fn as_str(&self) -> Option<&str>[src]

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

pub fn is_str(&self) -> bool[src]

Tests if this value is a string.

pub fn as_datetime(&self) -> Option<&Datetime>[src]

Extracts the datetime value if it is a datetime.

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

1979-05-27T07:32:00Z

pub fn is_datetime(&self) -> bool[src]

Tests whether this value is a datetime.

pub fn as_array(&self) -> Option<&Vec<Value>>[src]

Extracts the array value if it is an array.

pub fn as_array_mut(&mut self) -> Option<&mut Vec<Value>>[src]

Extracts the array value if it is an array.

pub fn is_array(&self) -> bool[src]

Tests whether this value is an array.

pub fn as_table(&self) -> Option<&Table>[src]

Extracts the table value if it is a table.

pub fn as_table_mut(&mut self) -> Option<&mut Table>[src]

Extracts the table value if it is a table.

pub fn is_table(&self) -> bool[src]

Tests whether this value is a table.

pub fn same_type(&self, other: &Value) -> bool[src]

Tests whether this and another value have the same type.

pub fn type_str(&self) -> &'static str[src]

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

Trait Implementations

impl Clone for Value[src]

impl Debug for Value[src]

impl<'de> Deserialize<'de> for Value[src]

impl<'de> Deserializer<'de> for Value[src]

type Error = Error

The error type that can be returned if some error occurs during deserialization. Read more

impl Display for Value[src]

impl<'a> From<&'a str> for Value[src]

impl<S: Into<String>, V: Into<Value>> From<BTreeMap<S, V>> for Value[src]

impl From<Datetime> for Value[src]

impl<S: Into<String> + Hash + Eq, V: Into<Value>> From<HashMap<S, V, RandomState>> for Value[src]

impl From<Map<String, Value>> for Value[src]

impl From<String> for Value[src]

impl<V: Into<Value>> From<Vec<V, Global>> for Value[src]

impl From<bool> for Value[src]

impl From<f32> for Value[src]

impl From<f64> for Value[src]

impl From<i32> for Value[src]

impl From<i64> for Value[src]

impl From<i8> for Value[src]

impl From<u32> for Value[src]

impl From<u8> for Value[src]

impl FromStr for Value[src]

type Err = Error

The associated error which can be returned from parsing.

impl<I> Index<I> for Value where
    I: Index
[src]

type Output = Value

The returned type after indexing.

impl<I> IndexMut<I> for Value where
    I: Index
[src]

impl<'de> IntoDeserializer<'de, Error> for Value[src]

type Deserializer = Self

The type of the deserializer being converted into.

impl PartialEq<Value> for Value[src]

impl Serialize for Value[src]

impl StructuralPartialEq for Value[src]

Auto Trait Implementations

impl RefUnwindSafe for Value

impl Send for Value

impl Sync for Value

impl Unpin for Value

impl UnwindSafe for Value

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.