14 lines
290 B
Dart
14 lines
290 B
Dart
extension IterableExt<T> on Iterable<T> {
|
|
Iterable<T> separated(T separator) sync* {
|
|
final iterator = this.iterator;
|
|
if (!iterator.moveNext()) return;
|
|
|
|
yield iterator.current;
|
|
|
|
while (iterator.moveNext()) {
|
|
yield separator;
|
|
yield iterator.current;
|
|
}
|
|
}
|
|
}
|