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 (const: unstable) · 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 UnsafeUnpin 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