Convert Value into something.
Tries to retrieve T
from Value.
Tries to retrieve i64
from Value.
use gtmpl_value::{FromValue, Value};
let v: Value = 23i64.into();
let i = i64::from_value(&v);
assert_eq!(i, Some(23i64));
Tries to retrieve u64
from Value.
use gtmpl_value::{FromValue, Value};
let v: Value = 23u64.into();
let i = u64::from_value(&v);
assert_eq!(i, Some(23u64));
Tries to retrieve f64
from Value.
use gtmpl_value::{FromValue, Value};
let v: Value = 23.1f64.into();
let i = f64::from_value(&v);
assert_eq!(i, Some(23.1f64));
Tries to retrieve String
from Value.
use gtmpl_value::{FromValue, Value};
let v: Value = "foobar".into();
let s = String::from_value(&v);
assert_eq!(s, Some("foobar".to_owned()));
Tries to retrieve Vec<T>
from Value.
use gtmpl_value::{FromValue, Value};
let v: Value = vec!(1, 2, 3).into();
let v: Option<Vec<i64>> = Vec::from_value(&v);
assert_eq!(v, Some(vec!(1, 2, 3)));
Tries to retrieve HashMap<String, T>
from Value.
use gtmpl_value::{FromValue, Value};
use std::collections::HashMap;
let mut m = HashMap::new();
m.insert("a".to_owned(), 1);
let v: Value = m.into();
let m: Option<HashMap<String, i64>> = HashMap::from_value(&v);
assert!(m.is_some());
if let Some(m) = m {
assert_eq!(m.get("a"), Some(&1));
}