interleave_iterator 0.1.2 copy "interleave_iterator: ^0.1.2" to clipboard
interleave_iterator: ^0.1.2 copied to clipboard

Adds interleave and interleaveFactory extension methods to Iterable, inserting a separator between every pair of adjacent elements.

interleave_iterator #

A Dart package that adds interleave and interleaveFactory extensions method to any Iterable. Interleaving inserts a separator element between every pair of adjacent elements, without adding one before the first or after the last.

Usage #

import 'package:interleave_iterator/interleave_iterator.dart';

// interleave: insert the same separator value between every pair of elements.
[1, 2, 3].interleave(0).toList(); // [1, 0, 2, 0, 3]

// interleaveFactory: the factory is called once per gap, producing a fresh
// instance each time — useful for Flutter widgets that must not be reused.
final widgets = tiles.interleaveFactory(() => const Divider()).toList();

The returned iterable is lazy: the factory is not called until the iterable is consumed. If the source has fewer than two elements, no separator is produced.

Edge cases #

Input Output
[] []
[x] [x]
[x, y] [x, sep, y]
[x, y, z] [x, sep, y, sep, z]

Installing #

Add the package to your pubspec.yaml:

dependencies:
  interleave_iterator: ^0.1.0
1
likes
160
points
267
downloads

Documentation

API reference

Publisher

verified publisherinstahelp.me

Weekly Downloads

Adds interleave and interleaveFactory extension methods to Iterable, inserting a separator between every pair of adjacent elements.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

More

Packages that depend on interleave_iterator