More Dart — Literally
A collection of extensively tested extensions that make Dart a better place:
async.dartprovides numerous helpers to make async code better.
cache.dartis a collection of different caching strategies and their expiry policy.
char_matcher.dartis a model for character classes, their composition and operations on strings.
collection.dartis a collection of collection types: bi-map, bit-list, multi-set, set and list multi-map, range, and string.
feature.dartprovides information about the runtime environment.
functional.dartprovides a collection of functional programming structures.
iterable.dartis a collection of iterables and iterators.
math.dartis a collection of common mathematical functions.
number.dartprovides fractional, complex and quaternion arithmetic.
ordering.darta fluent interface for building comparator functions.
printer.darta fluent interface for configuring sophisticated formatter.
tuple.darta generic sequence of typed values.
And there are more to come ...
Follow the installation instructions on dart packages.
Import the all-including parent package:
Or one or more of the specific packages into your Dart code:
import 'package:more/async.dart'; import 'package:more/cache.dart'; import 'package:more/char_matcher.dart'; import 'package:more/collection.dart'; import 'package:more/feature.dart'; import 'package:more/iterable.dart'; import 'package:more/math.dart'; import 'package:more/functional.dart'; import 'package:more/utils.dart'; import 'package:more/ordering.dart'; import 'package:more/printer.dart'; import 'package:more/tuple.dart';
The goal of the library is to provide a loose collection of carefully curated utilities that are not provided by the Dart standard library. All features must be well tested. New features must have significant advantages over alternatives, such as code reduction, readability improvement, speed increase, memory reduction, or improved accuracy. In case of doubt, consider filing a feature request before filing a pull request.
This library started in April 2013 as I was working through the puzzles of Project Euler and encountered some missing features in Dart. Over time the library grew and became more useful in many other places, so I created this reusable library.
The MIT License, see LICENSE.
- Helpers to make async code better.
- Collection of different caching strategies and their expiry policy.
- A first-class model of character classes, their composition and operations on strings.
- A collection of new collection types: bi-map, bit-list, multi-set, set and list multi-map, range, and string.
- A collection of functional programming structures.
- Some fancy iterables and iterators.
- A collection of common mathematical functions.
- More Dart — Literally.
- Support for fractional and complex arithmetic.
- Provides a first-class model of comparators, their composition and operations on iterables.
- Provides a first-class model to convert object to strings using composition and highly configurable formatting primitives.
- Tuple data type.