expand<R> method

  1. @override
ImmortalList<R> expand<R>(
  1. Iterable<R> f(
    1. T value
    )
)
override

Returns a new list expanding each element of this list into an iterable of zero or more elements.

Example:

final pairs = ImmortalList([
  ImmortalList([1, 2]),
  ImmortalList([3, 4]),
]);
final flattened = pairs.flatMap((pair) => pair);
print(flattened); // => Immortal[1, 2, 3, 4];

final input = ImmortalList([1, 2, 3]);
final duplicated = input.flatMap((i) => ImmortalList([i, i]));
print(duplicated); // => Immortal[1, 1, 2, 2, 3, 3]

The iterables returnd by f are iterated over and must therefore not change during the iteration.

Implementation

@override
ImmortalList<R> expand<R>(Iterable<R> Function(T value) f) =>
    ImmortalList(_list.expand(f));