Skip to main content

SourcePredicate

Type Alias SourcePredicate 

Source
pub type SourcePredicate = Predicate;
Expand description

Source predicates are intentionally the same AST shape as normal predicates.

Aliased Type§

pub enum SourcePredicate {
Show 18 variants Eq { left: Expr, right: Expr, }, Neq { left: Expr, right: Expr, }, Gt { left: Expr, right: Expr, }, Gte { left: Expr, right: Expr, }, Lt { left: Expr, right: Expr, }, Lte { left: Expr, right: Expr, }, Between { value: Expr, min: Expr, max: Expr, }, HasKey { property: String, }, IsNull { property: String, }, IsNotNull { property: String, }, StartsWith { value: Expr, prefix: Expr, }, EndsWith { value: Expr, suffix: Expr, }, Contains { value: Expr, substring: Expr, }, IsIn { value: Expr, values: Expr, }, And { predicates: Vec<Predicate>, }, Or { predicates: Vec<Predicate>, }, Not { predicate: Box<Predicate>, }, Compare { left: Expr, op: CompareOp, right: Expr, },
}

Variants§

§

Eq

Equality comparison.

Fields

§left: Expr
§right: Expr
§

Neq

Inequality comparison.

Fields

§left: Expr
§right: Expr
§

Gt

Greater-than comparison.

Fields

§left: Expr
§right: Expr
§

Gte

Greater-than-or-equal comparison.

Fields

§left: Expr
§right: Expr
§

Lt

Less-than comparison.

Fields

§left: Expr
§right: Expr
§

Lte

Less-than-or-equal comparison.

Fields

§left: Expr
§right: Expr
§

Between

Inclusive range comparison.

Fields

§value: Expr
§min: Expr
§max: Expr
§

HasKey

Property exists.

Fields

§property: String
§

IsNull

Property is null or missing.

Fields

§property: String
§

IsNotNull

Property exists and is not null.

Fields

§property: String
§

StartsWith

String starts with prefix.

Fields

§value: Expr
§prefix: Expr
§

EndsWith

String ends with suffix.

Fields

§value: Expr
§suffix: Expr
§

Contains

String contains substring.

Fields

§value: Expr
§substring: Expr
§

IsIn

Value is in a list.

Fields

§value: Expr
§values: Expr
§

And

Logical AND.

Fields

§predicates: Vec<Predicate>
§

Or

Logical OR.

Fields

§predicates: Vec<Predicate>
§

Not

Logical NOT.

Fields

§predicate: Box<Predicate>
§

Compare

Explicit expression comparison.

Fields

§left: Expr

Left expression.

§op: CompareOp

Operator.

§right: Expr

Right expression.