INNER CODE UNIT · Rust
parse_value_operators
fcoury/oxide · src/parser/mod.rs:93
fn parse_value_operators(val_operators: Vec<Operator>, field: String) -> Result<String> {
let values: Result<Vec<String>> = val_operators
.into_iter()
.map(|operator| parse_operator(operator, field.clone()))
.collect();
if let Ok(values) = values {
Ok(values.join(""))
} else {
Err(values.unwrap_err())
}
}
fn parse_operator(oper: Operator, field: String) -> Result<String> {
match oper {
Operator::Value(value_oper) => parse_value_operator(value_oper, field.clone()),
Operator::ExpressionOperator(expr_oper) => parse_expression_operator(expr_oper, field),
Operator::List(list_oper) => parse_list_operator(list_oper, field),