partition method

OptionPartition<T> partition()

Partitions the iterable into someParts and noneParts in a single pass.

Implementation

OptionPartition<T> partition() {
  final someParts = <Some<T>>[];
  final noneParts = <None<T>>[];
  for (final option in this) {
    switch (option) {
      case Some():
        someParts.add(option);
      case None():
        noneParts.add(option);
    }
  }
  return (someParts: someParts, noneParts: noneParts);
}