pub struct TomlKeyPath(/* private fields */);Expand description
A path to a key into a toml::Value. In the format of key.0.key (0 for indexing into an
array) when parsed using FromStr.
See TomlKeyPath::resolve() for an example.
Implementations§
Source§impl TomlKeyPath
impl TomlKeyPath
Sourcepub fn resolve<'a>(&self, value: &'a Value) -> Option<&'a Value>
pub fn resolve<'a>(&self, value: &'a Value) -> Option<&'a Value>
Resolve a value contained within a toml::Value using this TomlKeyPath.
§Example
use toml_env::TomlKeyPath;
use toml;
let toml_value = toml::from_str(r#"
key="value1"
array=["hello", "world"]
[child]
key="value2"
"#).unwrap();
let key1: TomlKeyPath = "key".parse().unwrap();
let key1_value = key1.resolve(&toml_value)
.expect("Expected to resolve")
.as_str()
.expect("Expected to be a string");
assert_eq!(key1_value, "value1");
let key2: TomlKeyPath = "child.key".parse().unwrap();
let key2_value = key2.resolve(&toml_value)
.expect("Expected to resolve")
.as_str()
.expect("Expected to be a string");
assert_eq!(key2_value, "value2");
let hello: TomlKeyPath = "array.0".parse().unwrap();
let hello_value = hello.resolve(&toml_value)
.expect("Expected to resolve")
.as_str()
.expect("Expected to be a string");
assert_eq!(hello_value, "hello");Trait Implementations§
Source§impl Clone for TomlKeyPath
impl Clone for TomlKeyPath
Source§fn clone(&self) -> TomlKeyPath
fn clone(&self) -> TomlKeyPath
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TomlKeyPath
impl Debug for TomlKeyPath
Source§impl Default for TomlKeyPath
impl Default for TomlKeyPath
Source§fn default() -> TomlKeyPath
fn default() -> TomlKeyPath
Returns the “default value” for a type. Read more
Source§impl Display for TomlKeyPath
impl Display for TomlKeyPath
Source§impl FromStr for TomlKeyPath
impl FromStr for TomlKeyPath
Source§fn from_str(s: &str) -> Result<Self, ()>
fn from_str(s: &str) -> Result<Self, ()>
Parse a string into a TomlKeyPath.
§Example
use toml_env::TomlKeyPath;
"key".parse::<TomlKeyPath>().unwrap();
"key.0".parse::<TomlKeyPath>().unwrap();
"key.key".parse::<TomlKeyPath>().unwrap();
"key.0.key".parse::<TomlKeyPath>().unwrap();
"key.key.key".parse::<TomlKeyPath>().unwrap();
"".parse::<TomlKeyPath>().unwrap();
".".parse::<TomlKeyPath>().unwrap();
".key".parse::<TomlKeyPath>().unwrap();
"key.".parse::<TomlKeyPath>().unwrap();Auto Trait Implementations§
impl Freeze for TomlKeyPath
impl RefUnwindSafe for TomlKeyPath
impl Send for TomlKeyPath
impl Sync for TomlKeyPath
impl Unpin for TomlKeyPath
impl UnwindSafe for TomlKeyPath
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