prql-compiler 0.4.2

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use super::{Expr, ExprKind};
use crate::ast::pl::BinOp;

pub fn new_binop(left: Option<Expr>, op: BinOp, right: Option<Expr>) -> Option<Expr> {
    match (left, right) {
        (Some(left), Some(right)) => {
            let left = Box::new(left);
            let right = Box::new(right);
            Some(Expr {
                kind: ExprKind::Binary { left, op, right },
                span: None,
            })
        }
        (left, right) => left.or(right),
    }
}