partitionEithers<E, A> static method
Extract all the Left and Right values from a List<Either<E, A>>
and
return them in two partitioned List inside a record.
Implementation
static (List<E>, List<A>) partitionEithers<E, A>(List<Either<E, A>> list) {
final resultListLefts = <E>[];
final resultListRights = <A>[];
for (var i = 0; i < list.length; i++) {
final e = list[i];
if (e is Left<E, A>) {
resultListLefts.add(e._value);
} else if (e is Right<E, A>) {
resultListRights.add(e._value);
} else {
throw Exception(
"[fpdart]: Error when mapping Either, it should be either Left or Right.",
);
}
}
return (resultListLefts, resultListRights);
}