in lib/src/scan.dart [33:55]
List<T> parseList<T>(StringScanner scanner, T Function() parseElement) {
final result = <T>[];
// Consume initial empty values.
while (scanner.scan(',')) {
scanner.scan(whitespace);
}
result.add(parseElement());
scanner.scan(whitespace);
while (scanner.scan(',')) {
scanner.scan(whitespace);
// Empty elements are allowed, but excluded from the results.
if (scanner.matches(',') || scanner.isDone) continue;
result.add(parseElement());
scanner.scan(whitespace);
}
return result;
}