tryInsert9 method

Iterable<T> tryInsert9(
  1. int index,
  2. T v1,
  3. T v2,
  4. T v3,
  5. T v4,
  6. T v5,
  7. T v6,
  8. T v7,
  9. T v8,
  10. T v9
)

Inserts nine elements into the iterable at the specified index.

Takes the specified elements and inserts it into the iterable at the position index.

If index is less than zero, an ArgumentError is thrown.

If iteration of this iterable is exausted before the position index is reached, the given elements are not inserted and this iterable is unchanged.

Implementation

Iterable<T> tryInsert9(
    int index, T v1, T v2, T v3, T v4, T v5, T v6, T v7, T v8, T v9) sync* {
  if (index == 0) {
    yield* prepend9(v1, v2, v3, v4, v5, v6, v7, v8, v9);
    return;
  }
  if (index < 0) {
    throw ArgumentError('Parameter "index" must be greater than zero.');
  }

  final iterator = this.iterator;
  var i = 0;

  while (iterator.moveNext()) {
    if (i == index) {
      yield v1;
      yield v2;
      yield v3;
      yield v4;
      yield v5;
      yield v6;
      yield v7;
      yield v8;
      yield v9;
    }
    yield iterator.current;
    i++;
  }
}