pub enum FilterExpression {
Show 15 variants
Comparison {
left: Box<FilterExpression>,
op: ComparisonOp,
right: Box<FilterExpression>,
},
Logical {
left: Box<FilterExpression>,
op: LogicalOp,
right: Box<FilterExpression>,
},
Not(Box<FilterExpression>),
Arithmetic {
left: Box<FilterExpression>,
op: ArithmeticOp,
right: Box<FilterExpression>,
},
UnaryMinus(Box<FilterExpression>),
FunctionCall {
name: String,
args: Vec<FilterExpression>,
},
In {
field: Box<FilterExpression>,
values: Vec<FilterExpression>,
},
Lambda {
collection: String,
operator: LambdaOp,
variable: String,
predicate: Box<FilterExpression>,
},
Field(String),
StringLiteral(String),
NumberLiteral(f64),
BooleanLiteral(bool),
Null,
GuidLiteral(String),
DateLiteral(String),
}Expand description
Filter expression AST nodes
Variants§
Comparison
Comparison: field eq value
Logical
Logical: expr and expr
Not(Box<FilterExpression>)
Unary not: not expr
Arithmetic
Arithmetic: expr add expr
UnaryMinus(Box<FilterExpression>)
Unary minus: -expr
FunctionCall
Function call: contains(Name, ‘value’)
In
In operator: Name in (‘A’, ‘B’, ‘C’)
Lambda
Lambda operator: Items/any(i: i/Value eq 5)
Field(String)
Field reference
StringLiteral(String)
String literal
NumberLiteral(f64)
Number literal
BooleanLiteral(bool)
Boolean literal
Null
Null literal
GuidLiteral(String)
GUID literal
DateLiteral(String)
Date literal
Trait Implementations§
Source§impl Clone for FilterExpression
impl Clone for FilterExpression
Source§fn clone(&self) -> FilterExpression
fn clone(&self) -> FilterExpression
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FilterExpression
impl Debug for FilterExpression
Source§impl PartialEq for FilterExpression
impl PartialEq for FilterExpression
impl StructuralPartialEq for FilterExpression
Auto Trait Implementations§
impl Freeze for FilterExpression
impl RefUnwindSafe for FilterExpression
impl Send for FilterExpression
impl Sync for FilterExpression
impl Unpin for FilterExpression
impl UnwindSafe for FilterExpression
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more