INNER CODE UNIT · Rust
parse_field
jhspetersson/fselect · src/field/mod.rs:61
pub fn parse_field(s: &str) -> Result<(Self, Option<String>), String> {
let field = s.to_ascii_lowercase();
if field.contains('.') {
let parts: Vec<&str> = field.split('.').collect();
if parts.len() != 2 {
return Err(String::from("Invalid field format, expected 'root_alias.field'"));
}
let root_alias = parts[0];
let field_name = parts[1];
return match Self::parse_field(field_name) {
Ok((field, _)) => Ok((field, Some(root_alias.to_string()))),
Err(err) => Err(err),
}
}