pub trait DocumentResolvedExt {
// Required methods
fn get_resolved(&self, key: impl AsYaml) -> Option<YamlValue>;
fn build_anchor_registry(&self) -> AnchorRegistry;
}Expand description
Extension trait for Document to support resolved lookups
Required Methods§
Sourcefn get_resolved(&self, key: impl AsYaml) -> Option<YamlValue>
fn get_resolved(&self, key: impl AsYaml) -> Option<YamlValue>
Get a value with anchor/alias resolution
This method resolves aliases (*alias) to their anchored values (&anchor), and supports merge keys (<<) for combining mappings.
§Examples
use yaml_edit::Document;
use yaml_edit::anchor_resolution::DocumentResolvedExt;
use std::str::FromStr;
let yaml = r#"
config: &cfg
port: 8080
server: *cfg
"#;
let doc = Document::from_str(yaml).unwrap();
// Get with resolution - expands the *cfg alias
if let Some(resolved_value) = doc.get_resolved("server") {
if let Some(server) = resolved_value.as_mapping() {
if let Some(port) = server.get("port") {
assert_eq!(port.to_i64(), Some(8080));
}
}
}Sourcefn build_anchor_registry(&self) -> AnchorRegistry
fn build_anchor_registry(&self) -> AnchorRegistry
Build the anchor registry for this document
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".