intersperse method

Iterable<A> intersperse(
  1. A item, {
  2. bool beforeFirst = false,
  3. bool afterLast = false,
})

Implementation

Iterable<A> intersperse(
  A item, {
  bool beforeFirst = false,
  bool afterLast = false,
}) sync* {
  final iterator = this.iterator;

  if (iterator.moveNext()) {
    if (beforeFirst) {
      yield item;
    }

    yield iterator.current;
    while (iterator.moveNext()) {
      yield item;
      yield iterator.current;
    }

    if (afterLast) {
      yield item;
    }
  }
}