HeartIterable<E> extension

Extension methods for iterables

on

Properties

ascending Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns a sorted iterable.
no setter
backwards Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Reverses an iterable.
no setter
descending Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns a sorted iterable in reverse order.
no setter

Available on Iterable<E>, provided by the HeartIterable extension

Returns the first element. Similar to .first, but returns null if there are no elements instead of throwing exception.
no setter
inits Iterable<Iterable<E>>

Available on Iterable<E>, provided by the HeartIterable extension

Returns a nested iterable by adding one element at a time, starting from the beginning.
no setter
tail Iterable<E>?

Available on Iterable<E>, provided by the HeartIterable extension

Removes the first element, keeps the "tail".
no setter
tails Iterable<Iterable<E>>

Available on Iterable<E>, provided by the HeartIterable extension

Returns a nested iterable by removing one element at a time, starting from the beginning.
no setter

Methods

addMissing(Iterable<E> elements, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Adds elements from elements that are not in original value.
after(Iterable<E> sub, {int skip = 0, bool overlap = false, bool includeInResult = false, bool reverse = false, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns everything after sub. 1, 2, 3.after(1) returns (2, 3). 1, 2, 3.after(1, 2) returns (3). 1, 2, 3.after([]) returns (1, 2, 3).
afterWhere(bool test(E e), {int skip = 0, bool includeInResult = false, bool reverse = false}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Return everything after a condition is met. 1, 2, 3, 4.afterWhere((e) => e.isOdd) returns (2, 3, 4).
before(Iterable<E> sub, {int skip = 0, bool overlap = false, bool includeInResult = false, bool reverse = false, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns everything before a given input: 1, 2, 3, 3.before(3, 3) returns (1, 2). 1, 2, 3, 3.before(1) returns (). 1, 2, 3, 3.before([]) returns ().
beforeWhere(bool test(E e), {int skip = 0, bool includeInResult = false, bool reverse = false}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Return everything before a condition is met. 1, 2, 3.beforeWhere((e) => e == 3) returns (1, 2).
count(Iterable<E> sub, {bool overlap = false, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) int

Available on Iterable<E>, provided by the HeartIterable extension

Count occurrences of elements occurring together, with option to include overlap.
deepContains(Iterable<E> sub, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) bool

Available on Iterable<E>, provided by the HeartIterable extension

Returns true if iterable contains sub.
dropIndices(Iterable<int> indicesToDrop) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Removes the elements at the given indices.
frequencies({bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Map<E, int>

Available on Iterable<E>, provided by the HeartIterable extension

Return a Map that shows the frequencies of each element:
group({bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<Iterable<E>>

Available on Iterable<E>, provided by the HeartIterable extension

Items are grouped together if they are equal to the one next to it.
groupBy(bool groupFunction(dynamic a, dynamic b)) Iterable<Iterable<E>>

Available on Iterable<E>, provided by the HeartIterable extension

Items are grouped together if they meet the criteria that compares consecutive elements.
indicesOf(Iterable<E> sub, {bool overlap = false, bool reverse = false, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) List<int>

Available on Iterable<E>, provided by the HeartIterable extension

Finds every index where a sequence of elements occurs in an iterable, with option to include overlap.
indicesWhere(bool testFunction(E e)) List<int>

Available on Iterable<E>, provided by the HeartIterable extension

Find all indices where a given condition is true.
interleave(Iterable<E> it) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Combines elements by taking turns. First element in original iterable is the first element of the result.
intersperse(Iterable<E> elementsToAdd, {int? count, int skip = 0, bool reverse = false}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Inserts an element in between each element.
keep(Iterable<E> elementsToKeep, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Keeps all elements that are also in elementsToKeep.
keepIndices(Iterable<int> indices) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns elements at the given indices.
mode({bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Returns the element(s) with the most occurrences.
nub({Iterable<E>? elementsToNub, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Removes duplicates.
replace(Iterable<E> from, Iterable<E> to, {int? count, int skip = 0, bool reverse = false, dynamic recursive = false, bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Replace from with to.
riffleIn({bool inverse = false}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Splits into two and uses interleave to combine, second half first.
riffleOut({bool inverse = false}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Splits into two and uses interleave to combine.
splitAt(int n) Iterable<Iterable<E>>

Available on Iterable<E>, provided by the HeartIterable extension

Splits into two after first n elements.
startsWith(Iterable<E> sub, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) bool

Available on Iterable<E>, provided by the HeartIterable extension

Equivalent to Dart's .startsWith for String:
subtract(Iterable<E> elementsToSubtract, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Removes elements one at a time if they are present.
subtractAll(Iterable<E> elementsToRemove, {bool equalityFunction(E a, E b) = h.symmetricDeepEquals}) Iterable<E>

Available on Iterable<E>, provided by the HeartIterable extension

Removes all elements if they are in elementsToRemove.
toStrings() Iterable<String>

Available on Iterable<E>, provided by the HeartIterable extension

Converts all elements to Strings.