Skip to content

Predicate

type Predicate =
| {
left: PathOrLiteral;
op: "eq" | "ne" | "lt" | "lte" | "gt" | "gte";
right: PathOrLiteral;
}
| {
op: "in" | "notIn";
set: (string | number | boolean | null)[];
value: PathOrLiteral;
}
| {
op: "exists" | "notExists";
path: string;
}
| {
op: "truthy" | "falsy";
value: PathOrLiteral;
}
| {
args: Predicate[];
op: "and" | "or";
}
| {
arg: Predicate;
op: "not";
};