partition 1.0.0 copy "partition: ^1.0.0" to clipboard
partition: ^1.0.0 copied to clipboard

A library for partitioning iterables based on predicates.

example/partition_example.dart

import 'package:partition/partition.dart';

void main() {
  final source = Iterable.generate(10, (i) {
    print('Generating $i');
    return i;
  });

  // Partition lazily. Results in two iterations over source.
  var partitioned = source.partition((i) => i.isEven);
  print(partitioned.matching);
  print(partitioned.nonMatching);

  // Partition eagerly. Results in one iteration over source.
  partitioned = source.partition((i) => i.isEven, lazy: false);
  print(partitioned.matching);
  print(partitioned.nonMatching);

  // Shorthand for `lazy: false`.
  partitioned = source.partitionNow((i) => i.isEven);
  // The result is a decorated list, so we don't *have* to use
  // matching/nonMatching getters to access the underlying iterables.
  print(partitioned[0]);
  print(partitioned.last);
}
2
likes
160
points
21
downloads

Publisher

verified publisheralexmeuer.com

Weekly Downloads

A library for partitioning iterables based on predicates.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

collection

More

Packages that depend on partition