Resolve the reference group specification to an actual group name or "rest" mode. Handles three cases: - Specific group name: validates the group exists - "rest": use all cells not in the test group as reference - None: automatically use "rest" mode # Arguments `all_groups` - Complete list of available groups `reference` - User-specified reference group or None # Returns - `Some(group_name)` fo
(
all_groups: &[String],
reference: Option<&str>,
)
| 848 | /// - `Some(group_name)` for specific reference group |
| 849 | /// - `None` for "rest" mode (use all other cells) |
| 850 | fn resolve_reference_group( |
| 851 | all_groups: &[String], |
| 852 | reference: Option<&str>, |
| 853 | ) -> anyhow::Result<Option<String>> { |
| 854 | match reference { |
| 855 | Some(ref_group) => { |
| 856 | if ref_group == "rest" { |
| 857 | Ok(None) |
| 858 | } else { |
| 859 | let ref_group_string = ref_group.to_string(); |
| 860 | if all_groups.contains(&ref_group_string) { |
| 861 | Ok(Some(ref_group_string)) |
| 862 | } else { |
| 863 | Err(anyhow::anyhow!("Reference group '{}' not found", ref_group)) |
| 864 | } |
| 865 | } |
| 866 | } |
| 867 | None => Ok(None), |
| 868 | } |
| 869 | } |
| 870 | |
| 871 | /// Get row indices for cells belonging to a specific group. |
| 872 | /// |
no outgoing calls
no test coverage detected