parseNamedArgs function
Parse a query with named arguments into a raw query + argument values.
Implementation
QueryWithArgs parseNamedArgs(String query, Map<String, dynamic> params) {
final exp = RegExp(r":([\w]+)");
List<Object?> arguments = [];
RegExpMatch? match;
while ((match = exp.firstMatch(query)) != null) {
final name = query.substring(match!.start + 1, match.end);
query = query.replaceRange(match.start, match.end, '?');
arguments.add(params[name]);
}
return QueryWithArgs(query, arguments);
}