Predicate
Summary
Normalized predicate representation consumed by adapters.
Signature
type Predicate<column> =
| {
column: column;
operator: ComparisonOperator;
type: "comparison";
value: unknown;
valueType: "value";
}
| {
column: column;
operator: Exclude<ComparisonOperator, "in" | "notIn">;
type: "comparison";
value: column;
valueType: "column";
}
| { column: column; lower: unknown; type: "between"; upper: unknown }
| { column: column; operator: "isNull" | "notNull"; type: "null" }
| {
operator: "and" | "or";
predicates: Predicate<column>[];
type: "logical";
};