distinctBy<Key> method

List<T> distinctBy<Key>(
  1. Key getKey(
    1. T
    )
)

Implementation

List<T> distinctBy<Key>(Key Function(T) getKey) {
  final seenIds = <Key>{};
  return where((item) {
    final id = getKey(item);
    if (seenIds.contains(id)) {
      return false;
    } else {
      seenIds.add(id);
      return true;
    }
  }).toList();
}