[][src]Enum sane::value::Value

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

Representation of a SANE value.

Variants

String(String)

Represents a SANE string

Integer(i64)

Represents a SANE integer

Float(f64)

Represents a SANE float

Boolean(bool)

Represents a SANE boolean

Datetime(Datetime)

Represents a SANE datetime

List(List)

Represents a SANE list

Map(Map)

Represents a SANE map

Methods

impl Value[src]

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

Convert a T into sane::Value which is an enum that can represent any valid SANE 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 sane::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 SANE map. 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 SANE 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 SANE list 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 list.

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 list 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 list.

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

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

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 list 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 list.

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 SANE 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_list(&self) -> Option<&Vec<Value>>[src]

Extracts the list value if it is an list.

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

Extracts the list value if it is an list.

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

Tests whether this value is an list.

pub fn as_map(&self) -> Option<&Map>[src]

Extracts the map value if it is a map.

pub fn as_map_mut(&mut self) -> Option<&mut Map>[src]

Extracts the map value if it is a map.

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

Tests whether this value is a map.

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]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq<Value> for Value[src]

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

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

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

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

impl From<String> for Value[src]

impl From<i64> for Value[src]

impl From<i32> for Value[src]

impl From<i8> for Value[src]

impl From<u8> for Value[src]

impl From<u32> for Value[src]

impl From<f64> for Value[src]

impl From<f32> for Value[src]

impl From<bool> for Value[src]

impl From<Datetime> for Value[src]

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 Debug for Value[src]

impl Display for Value[src]

impl FromStr for Value[src]

type Err = Error

The associated error which can be returned from parsing.

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

type Deserializer = Self

The type of the deserializer being converted into.

impl Serialize 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

fn deserialize_i128<V>(
    self,
    visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
    V: Visitor<'de>, 
[src]

Hint that the Deserialize type is expecting an i128 value. Read more

fn deserialize_u128<V>(
    self,
    visitor: V
) -> Result<<V as Visitor<'de>>::Value, Self::Error> where
    V: Visitor<'de>, 
[src]

Hint that the Deserialize type is expecting an u128 value. Read more

fn is_human_readable(&self) -> bool[src]

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

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

Auto Trait Implementations

impl Send for Value

impl Sync for Value

Blanket Implementations

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

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

impl<T> From for T[src]

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

type Owned = T

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

The type returned in the event of a conversion error.

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

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

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