runningFold<R> method

Iterable<R> runningFold<R>(
  1. R initialValue,
  2. R combine(
    1. R previousValue,
    2. E element
    )
)

Returns a Iterable containing successive accumulation values generated by applying combine function from left to right to each element and current accumulator value that starts with initialValue.

Implementation

Iterable<R> runningFold<R>(
  R initialValue,
  R Function(R previousValue, E element) combine,
) {
  var previousValue = initialValue;

  return [initialValue].followedBy(map((element) {
    previousValue = combine(previousValue, element);
    return previousValue;
  }));
}