createForJoin<TKey, TValue> method

Lookup<TKey, TValue> createForJoin <TKey, TValue>(
  1. Iterable<TValue> source,
  2. TKey keySelector(
    1. TValue
    ),
  3. EqualityComparer<TKey> comparer
)

Implementation

static Lookup<TKey, TValue> createForJoin<TKey, TValue>(
  Iterable<TValue> source,
  TKey Function(TValue) keySelector,
  EqualityComparer<TKey> comparer,
) {
  ArgumentError.checkNotNull(source);
  ArgumentError.checkNotNull(keySelector);
  final lookup = Lookup<TKey, TValue>._internal(comparer);
  for (final item in source) {
    final key = keySelector(item);
    if (key != null) lookup.getGrouping(key, true).add(item);
  }
  return lookup;
}