Ein Filter beginnt mit USE WHERE und endet mit END USE. Falls nach END USE ein Semikolon (;) folgt, beginnt eine
neue Filterregel für die bereits gefilterten Daten.
USE WHERE name = "Alice" AND age > 25 END USE;
USE WHERE country = "Germany" END USE;
- Muss immer am Anfang stehen.
- Direkt danach muss ein Key folgen.
- Muss nach
USE WHERE,ANDoderORstehen. - Wird aus einer vordefinierten Liste (basierend auf dem TypeScript-Interface) per Autocomplete angeboten.
- Beispiel:
name,age,country,isActive.
- Strings:
=,!=,~(Like) - Zahlen:
=,!=,>,< - Booleans:
true,false(kein Operator nötig, direkter Vergleich) - Null-Werte:
null,undefined(kein Operator nötig, direkter Vergleich) - Enum-Werte: Vergleich von Enum-Werten erfolgt mit
=,!=(Beispiel:syncOrder = 'ASC').
- Strings: Müssen in
""eingeschlossen sein. (name = "Alice") - Zahlen: Werden als Zahl notiert (
sku > 100) - Booleans: Direkt als
trueoderfalse. (useSync = true) - Null-Werte: Direkt als
nulloderundefined. (lastLogin = null) - Enum-Werte: Direkt als Enum-Wert (muss mit
=verglichen werden). (syncOrder = 'ASC').
- Darf nur nach einem vollständigen Ausdruck (Key + Operator + Wert) stehen.
- Muss immer von einem weiteren Key gefolgt werden.
- Beispiel:
USE WHERE sku > 100 AND syncOrder = 'ASC' OR useSync = true END USE;
- Muss am Ende eines Blocks stehen.
- Falls
END USE;verwendet wird, kann eine neue Regel folgen.
- Autocomplete für Keys direkt nach
USE WHERE,AND,OR. - Autocomplete für Operatoren basierend auf dem Typ des Keys.
- Highlighting für Fehler bei falscher Syntax (z. B.
age = "Alice"wäre ungültig). - Enum-Werte: Enum-Werte, wie sie im TypeScript-Interface definiert sind, werden im Autocomplete als mögliche Werte
angeboten. Zum Beispiel für
syncOrderwerden'ASC','DSC'und'ELSEWHERE'angeboten.