unionBy<T, K> function

List<T> unionBy<T, K>(
  1. Iterable<Iterable<T>> list,
  2. K? convert(
    1. T
    )
)

Implementation

List<T> unionBy<T, K>(Iterable<Iterable<T>> list, K? Function(T) convert) {
  List<T> rl = [];
  Set<K?> set = {};
  for (var vl in list) {
    for (var v in vl) {
      var k = convert(v);
      if (set.contains(k)) {
        continue;
      }
      rl.add(v);
      set.add(k);
    }
  }
  return rl;
}