0 purchases
collection ext
collection_ext #
A set of extension methods for Dart collections, designed for the purpose of making it easier to write concise, functional-programming-styled Dart code.
Working on an Iterable for example, with collection_ext, we can write:
iterable.forEachIndexed((i, x) => /* use index i & element x */)
copied to clipboard
instead of:
var i = 0;
for (var x in iterable) {
// use index i & element x
i++;
}
copied to clipboard
Usage #
Import all extension methods at once:
import 'package:collection_ext/all.dart';
Column(
children: getItems()
.nonNull
.mapIndexed((i, item) => Text("#$i ${item.title}"))
.asList(),
)
copied to clipboard
Or you can import the needed module only, for example:
import 'package:collection_ext/iterables.dart';
final diff = [2, 4, 6].foldRight(0, (x, acc) => x - acc);
copied to clipboard
Nullability #
All extension methods of Iterables & Maps are null-safe. For example:
Iterable itr;
assert(itr.sum() == 0);
Map map;
assert(map.none((k, v) => true) == true);
copied to clipboard
See nullability tests for more details.
Available Modules #
Extensions to Iterables
Extensions to Maps
Ranges & related extensions
👉 See API Docs for more details
I'm working on more useful extensions, PRs are welcome! 🍻🖖
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.