splitAtFirstWhere method
Splits at the first element where predicate is true. That element goes in the second list.
Implementation
@useResult
(List<T>, List<T>) splitAtFirstWhere(ElementPredicate<T> predicate) {
final List<T> list = toList();
for (int i = 0; i < list.length; i++) {
if (predicate(list[i])) {
return (list.sublist(0, i), list.sublist(i));
}
}
return (list, <T>[]);
}