Search packages, repositories and app categories

Package detailsv4.8.2

more

More Dart — Literally. Collecting, iterating, caching, mathematics, matching, ordering, and formatting easily.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
364K
Likes
86
Pub points
160

Install package

flutter pub add more

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

More Dart is a utility package that extends Dart's core functionality with convenient methods for collection manipulation, iteration, caching, mathematical operations, pattern matching, sorting, and formatting. It enhances developer productivity by providing intuitive, chainable APIs for common tasks. Designed to be lightweight and easy to integrate, it supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux. The package is ideal for developers seeking to simplify repetitive coding patterns and improve code readability.

Use cases

  • Data transformation pipelines
  • Caching frequently accessed data
  • Mathematical computations on collections
  • String and format handling
  • Sorting and filtering complex data
  • Pattern matching in collections

Key features

  • Extends core Dart classes with useful methods
  • Chainable and fluent API design
  • Supports cross-platform development
  • Lightweight and dependency-free
  • Comprehensive utility functions
  • Easy integration via pub add

Suitable for

  • Dart developers seeking enhanced utility functions
  • Projects requiring frequent data processing
  • Teams aiming to reduce boilerplate code
  • Applications targeting multiple platforms
  • Developers focused on code clarity and maintainability

Considerations

  • May introduce subtle behavioral changes if extending core types
  • Not suitable for performance-critical hot paths due to abstraction layer
  • Limited documentation beyond basic examples
  • Best used in conjunction with strong typing practices
  • Requires familiarity with Dart extension methods

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

More Dart — Literally

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

A collection of extensively tested extensions that make Dart a better place:

Library Description
async Extensions to Stream.
cache Caching strategies and their expiry policy.
char_matcher Character classes, their composition, and operations on strings.
collection Extensions to Iterable and new collection types.
comparator Common comparators, and extensions to perform advanced operations.
diff Tools for comparing lists.
feature Information about the runtime environment.
functional Types and features known from functional programming.
graph Graph-theory objects and algorithms.
interval Continuous interval data type over a comparable type.
math Common mathematical functions.
number Number types: fraction, complex, quaternion.
printer Fluent interface to configure sophisticated formatter.
temporal Extensions to DateTime and Duration types.
tuple Tuple extension methods on generic records.

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 the all-including parent package:

import 'package:more/more.dart';

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/comparator.dart';
import 'package:more/diff.dart';
import 'package:more/feature.dart';
import 'package:more/functional.dart';
import 'package:more/graph.dart';
import 'package:more/interval.dart';
import 'package:more/math.dart';
import 'package:more/number.dart';
import 'package:more/printer.dart';
import 'package:more/temporal.dart';
import 'package:more/tuple.dart';
Contributing

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.

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 code grew and became more useful in many other places, so I created this reusable library.

Some parts of this library are inspired by similar APIs in Google Guava (Google core libraries for Java) and Apache Commons (a repository of reusable Java components).

License

The MIT License, see LICENSE.

Categories

Dependencies

Dependency list 4 items

Source repository

Projects using this package