pub enum Value {
String(String),
Array(Vec<Value>),
Object(HashMap<String, Value>),
}
Variants§
Implementations§
Source§impl Value
impl Value
pub fn from_string(_text: String) -> Result<Self>
Sourcepub fn is_string(&self) -> bool
pub fn is_string(&self) -> bool
Check if the current value is a string.
§Example
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("\"Hi\""));
assert!(value.is_ok());
assert!(value.unwrap().is_string());
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("hi = \"Hi\""));
assert!(value.is_ok());
let table = value.unwrap().get_object();
assert!(table.is_some());
let table = table.unwrap();
let text = table.get("hi");
assert!(text.is_some());
assert!(text.unwrap().is_string());
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Sourcepub fn get_string(&self) -> Option<String>
pub fn get_string(&self) -> Option<String>
Get the string value.
§Example
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("\"Hi\""));
assert!(value.is_ok());
assert_eq!(value.unwrap().get_string(), Some(String::from("Hi")));
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("hi = \"Hi\""));
assert!(value.is_ok());
let table = value.unwrap().get_object();
assert!(table.is_some());
let table = table.unwrap();
let text = table.get("hi");
assert!(text.is_some());
assert_eq!(text.unwrap().get_string(), Some(String::from("Hi")));
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Sourcepub fn is_array(&self) -> bool
pub fn is_array(&self) -> bool
Check if the current value is an array.
§Example
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("[\"1\", \"2\"]"));
assert!(value.is_ok());
assert!(value.unwrap().is_array());
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("numbers = [\"1\", \"2\"]"));
assert!(value.is_ok());
let table = value.unwrap().get_object();
assert!(table.is_some());
let table = table.unwrap();
let values = table.get("numbers");
assert!(values.is_some());
assert!(values.unwrap().is_array());
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Sourcepub fn get_array(&self) -> Option<Vec<Value>>
pub fn get_array(&self) -> Option<Vec<Value>>
Get the array value.
§Example
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("[\"1\", \"2\"]"));
assert!(value.is_ok());
assert_eq!(
value.unwrap().get_array(),
Some(vec![Value::String(String::from("1")), Value::String(String::from("2"))]),
);
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("numbers = [\"1\", \"2\"]"));
assert!(value.is_ok());
let table = value.unwrap().get_object();
assert!(table.is_some());
let table = table.unwrap();
let values = table.get("numbers");
assert!(values.is_some());
assert_eq!(
values.unwrap().get_array(),
Some(vec![Value::String(String::from("1")), Value::String(String::from("2"))]),
);
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Sourcepub fn is_object(&self) -> bool
pub fn is_object(&self) -> bool
Check if the current value is an object.
§Example JSON
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("{\"home\":{\"title\":\"Home page\"}}"));
assert!(value.is_ok());
assert!(value.unwrap().is_object());
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("[home]\r\ntitle = \"Home page\""));
assert!(value.is_ok());
assert!(value.unwrap().is_object());
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Sourcepub fn get_object(&self) -> Option<HashMap<String, Value>>
pub fn get_object(&self) -> Option<HashMap<String, Value>>
Get the object value.
§Example JSON
use std::collections::HashMap;
use languages_rs::Value;
#[cfg(feature = "with-json")]
fn main() {
let value = Value::from_string(String::from("{ \"title\": \"Home page\" }"));
assert!(value.is_ok());
let mut data: HashMap<String, Value> = HashMap::new();
data.insert(String::from("title"), Value::String(String::from("Home page")));
assert_eq!(value.unwrap().get_object(), Some(data));
}
#[cfg(feature = "with-toml")]
fn main() {
let value = Value::from_string(String::from("title = \"Home page\""));
assert!(value.is_ok());
let mut data: HashMap<String, Value> = HashMap::new();
data.insert(String::from("title"), Value::String(String::from("Home page")));
assert_eq!(value.unwrap().get_object(), Some(data));
}
#[cfg(all(not(feature = "with-json"), not(feature = "with-toml")))]
fn main() {}
Trait Implementations§
impl 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