Skip to main content

resolve

Function resolve 

Source
pub fn resolve<'a>(value: &'a Value, key: &str) -> Option<&'a Value>
Expand description

Walks a dotted path given as one unsplit string.

The sibling of lookup, for callers that hold the key as the caller wrote it rather than pre-split. FilterExpr splits once at parse time because it then walks the path for every element; the gate resolves a key against many elements too, but it holds the key as text and splitting it per call would allocate a Vec<String> the walk never needs. Deliberately does NOT apply the synonym table that lookup applies. Scope calls this to ask which spellings a payload literally carries, and it applies the table itself, one spelling at a time. Folding the fallback in here too would make every spelling in a group answer for every other, and Scope::effective_key — whose whole job is telling them apart — would always return the first candidate it tried.