INNER CODE UNIT · Rust

parse

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

pub fn parse(doc: Document) -> Result<String> {
    if doc.is_empty() {
        return Ok("".to_string());
    }
    let bson: Bson = doc.into();
    let json = serde_json::Value::Object(
        expand_object(bson.into_psql_json().as_object().unwrap()).unwrap(),
    );
    let str = serde_json::to_string(&json)?;
    let expression = mongodb_language_model::parse(&str)?;
    log::trace!("{:#?}", expression);
    parse_expression(expression)
}

fn parse_expression(expression: Expression) -> Result<String> {
    parse_clauses(expression.clauses)
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…