# More Dart — Literally

Various extensions that make Dart a better place:

`cache.dart`

is a collection of different caching strategies and their expiry policy.`char_matcher.dart`

is a model for character classes, their composition and operations on strings.`collection.dart`

is a collection of collection types (bi map, bit list, multi set, range, and string).`iterable.dart`

is a collection of iterables and iterators.`math.dart`

is a collection of common mathematical functions.`number.dart`

provides fractional, complex and quaternion arithmetic.`ordering.dart`

a fluent interface for building comparator functions.`printer.dart`

a fluent interface for configuring sophisticated formatter.`tuple.dart`

a generic sequence of typed values.

And there are more to come ...

This library is open source, stable and well tested. Development happens on GitHub. Feel free to report issues or create a pull-request there. General questions are best asked on StackOverflow.

The package is hosted on dart packages. Up-to-date class documentation is created with every release.

## Misc

### Installation

Follow the installation instructions on dart packages.

Import one or more of the packages into your Dart code using:

```
import 'package:more/cache.dart';
import 'package:more/char_matcher.dart';
import 'package:more/collection.dart';
import 'package:more/hash.dart';
import 'package:more/iterable.dart';
import 'package:more/math.dart';
import 'package:more/number.dart';
import 'package:more/ordering.dart';
import 'package:more/printer.dart';
import 'package:more/tuple.dart';
```

### History

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.

### License

The MIT License, see LICENSE.

## Libraries

- more.char_matcher
- A first-class model of character classes, their composition and operations on strings. [...]
- more.collection
- more.collection.cache
- more.hash
- The Jenkins hash function copied and adapted from 'package:collection'.
- more.int_math
- A collection of common mathematical functions on integers.
- more.iterable
- Some fancy iterables and iterators.
- more.math
- A collection of common mathematical functions.
- more.number
- Support for fractional and complex arithmetic.
- more.ordering
- Provides a first-class model of comparators, their composition and operations on iterables. [...]
- more.printer
- Provides a first-class model to convert object to strings using composition and highly configurable formatting primitives.
- more.tuple
- Tuple data type.