mergeListsSetsOrQueues function

Iterable mergeListsSetsOrQueues(
  1. Iterable a,
  2. Iterable b, [
  3. dynamic elseFilter(
    1. dynamic
    )?
])

Implementation

Iterable<dynamic> mergeListsSetsOrQueues(
  Iterable<dynamic> a,
  Iterable<dynamic> b, [
  dynamic Function(dynamic)? elseFilter,
]) {
  if (a is Set) {
    final a1 = a.nonNulls.toSet();
    final b1 = b.nonNulls;
    return a1..addAll(b1);
  } else if (a is Queue) {
    final a1 = a.nonNulls;
    final b1 = b.nonNulls;
    final mergedList = _performElementWiseMerge(a1, b1, elseFilter);
    return Queue.of(mergedList);
  } else {
    final a1 = a.nonNulls;
    final b1 = b.nonNulls;
    return _performElementWiseMerge(a1, b1, elseFilter);
  }
}