groupByFile<T> function

Map<String, List<T>> groupByFile<T>(
  1. List<T> items,
  2. String getUri(
    1. T
    ), {
  3. String? cwd,
})

Group items by their file URI.

Implementation

Map<String, List<T>> groupByFile<T>(
  List<T> items,
  String Function(T) getUri, {
  String? cwd,
}) {
  final byFile = <String, List<T>>{};
  for (final item in items) {
    final filePath = formatUri(getUri(item), cwd: cwd);
    byFile.putIfAbsent(filePath, () => []).add(item);
  }
  return byFile;
}