Browse message value properties by record with bounded pages

This commit is contained in:
2026-09-06 04:56:41 +03:00
parent f5467e50c5
commit b35dede75f
8 changed files with 310 additions and 111 deletions
+14
View File
@@ -97,6 +97,7 @@ fn sorted_choices(mut choices: Vec<FieldPathChoice>) -> Vec<FieldPathChoice> {
choices
}
#[cfg(test)]
pub fn choices(
project: &Project,
exchange: &Relation,
@@ -142,6 +143,19 @@ pub fn roots(project: &Project, exchange: &Relation, phase: &MessageKind) -> Vec
)
}
/// Browse one record at a time, including explicitly chosen recursive hops.
pub fn at_scope(
project: &Project,
exchange: &Relation,
phase: &MessageKind,
scope: Option<&FieldPathKey>,
) -> Result<Vec<FieldPathChoice>, String> {
match scope {
Some(key) => children(project, exchange, phase, key),
None => Ok(roots(project, exchange, phase)),
}
}
/// Resolve authored finite paths as well as the finite representative picker list.
/// In particular, optional recursive Value records may be traversed repeatedly.
pub fn resolve(