more 1.11.0

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 87

More Dart — Literally #

Pub Package Build Status Coverage Status GitHub Issues GitHub Forks GitHub Stars GitHub License

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).
  • fraction.dart provides exact rational number arithmetic.
  • int_math.dart is a collection of common mathematical functions on integers.
  • iterable.dart is a collection of iterables and iterators.
  • ordering.dart a fluent interface for building comparator functions.
  • printer.dart a fluent interface for configuring sophisticated printers.

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/fraction.dart';
import 'package:more/int_math.dart';
import 'package:more/iterable.dart';
import 'package:more/ordering.dart';
import 'package:more/printer.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.

Changelog #

1.11.0 #

  • Add the printer package.

1.10.0 #

  • Drop Dart 1.0 compatibility.

1.9.0 #

  • Dart 2.0 strong-mode compatibility required the following breaking changes:
    • Replace callers of range() with either new IntegerRange() or new DoubleRange().
    • Removed padding argument from partition(). To migrate replace broken calls-sites with partitionWithPadding().

1.8.1 #

  • Removed empty(), emptyIterator(), emptyIterable() since these are part of the core library now.
  • Add periodic iterable tools (monthly, weekly, daily, hourly, ...).

1.8.0 #

  • Ordering.reversed, Ordering.nullsFirst, Ordering.nullsLast, and Ordering.lexicographical are now properties for consistency with the Iterable protocol.
  • Various optimization and improvements on the Range class.

1.7.2 #

  • Cleanup after micro library migration.
  • Move to latest Dart provided mixins.

1.7.1 #

  • Cleanup after micro library migration.
  • Address linter warnings.
  • Better test coverage.

1.7.0 #

  • Migrate to micro libraries.
  • Add caching library.

1.6.0 #

  • Use generic method syntax.

1.5.3 #

  • Fix pubspec SDK constraints.

1.5.2 #

  • Fix linter warnings.
  • Improve documentation.

1.5.1 #

  • Strong compiler compliant.

1.5.0 #

  • Fix various typos and linter issues.
  • Reformat documentation.

1.4.0 #

  • Migrate to Travis.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  more: ^1.11.0

2. Install it

You can install packages from the command line:

with pub:


$ pub get

with Flutter:


$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:more/cache.dart';
import 'package:more/char_matcher.dart';
import 'package:more/collection.dart';
import 'package:more/fraction.dart';
import 'package:more/int_math.dart';
import 'package:more/iterable.dart';
import 'package:more/ordering.dart';
import 'package:more/printer.dart';
  
Version Uploaded Documentation Archive
1.17.0 May 10, 2019 Go to the documentation of more 1.17.0 Download more 1.17.0 archive
1.16.0 Feb 26, 2019 Go to the documentation of more 1.16.0 Download more 1.16.0 archive
1.15.0 Feb 24, 2019 Go to the documentation of more 1.15.0 Download more 1.15.0 archive
1.14.2 Feb 17, 2019 Go to the documentation of more 1.14.2 Download more 1.14.2 archive
1.14.1 Feb 16, 2019 Go to the documentation of more 1.14.1 Download more 1.14.1 archive
1.14.0 Feb 16, 2019 Go to the documentation of more 1.14.0 Download more 1.14.0 archive
1.13.0 Feb 2, 2019 Go to the documentation of more 1.13.0 Download more 1.13.0 archive
1.12.1 Sep 27, 2018 Go to the documentation of more 1.12.1 Download more 1.12.1 archive
1.12.0 Sep 16, 2018 Go to the documentation of more 1.12.0 Download more 1.12.0 archive
1.11.5 Sep 15, 2018 Go to the documentation of more 1.11.5 Download more 1.11.5 archive

All 69 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
77
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
87
Learn more about scoring.

We analyzed this package on May 8, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.3.0
  • pana: 0.12.15

Platforms

Detected platforms: Flutter, web, other

No platform restriction found in libraries.

Maintenance suggestions

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package.

Common filename patterns include main.dart, example.dart, and more.dart. Packages with multiple examples should provide example/README.md.

For more information see the pub package layout conventions.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.61.0 <3.0.0
collection ^1.14.0 1.14.11
Dev dependencies
build_runner ^0.9.0
build_test ^0.10.0
build_web_compilers ^0.4.0
test ^1.3.0