INNER CODE UNIT · Rust

parse_leaf

fcoury/oxide · src/parser/mod.rs:86

fn parse_leaf(leaf: LeafClause) -> Result<String> {
    match leaf.value {
        Value::Leaf(leaf_value) => parse_leaf_value(leaf_value, leaf.key, None),
        Value::Operators(val_operators) => parse_value_operators(val_operators, leaf.key),
    }
}

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())
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…