parseQuery static method
Implementation
static List<QueryToken> parseQuery(String query) {
final tokens = <QueryToken>[];
final regex = RegExp(
r'(-?)(?:([a-zA-Z0-9_]+):)?([<>=]+)?(?:\"([^\"]*)\"|([^\s]+))',
);
for (final match in regex.allMatches(query)) {
final isExcl = match.group(1) == '-';
final field = match.group(2);
final op = match.group(3);
final val = match.group(4) ?? match.group(5);
if (val != null && val.isNotEmpty) {
tokens.add(
QueryToken(
isExclusion: isExcl,
field: field,
operator: op,
value: val,
),
);
}
}
return tokens;
}