interleave_iterator library
Provides the Interleaver extension, which adds Interleaver.interleave and Interleaver.interleaveFactory methods to any Iterable.
Interleaving inserts a separator element between every pair of adjacent elements, without adding one before the first or after the last element.
Use Interleaver.interleave when a single shared separator value is enough:
import 'package:interleave_iterator/interleave_iterator.dart';
[1, 2, 3].interleave(0).toList(); // [1, 0, 2, 0, 3]
Use Interleaver.interleaveFactory when each separator must be a distinct instance (e.g. a Flutter widget that cannot be reused):
tiles.interleaveFactory(() => const Divider()).toList();
Extensions
-
Interleaver
on Iterable<
T> - Extension that adds Interleaver.interleave and Interleaver.interleaveFactory to any Iterable.