Skip to content

Simple package for easy work with Dart iterators just like Python itertools.

License

Notifications You must be signed in to change notification settings

avdosev/itertools_dart

Repository files navigation

itertools · build status

Simple package for easy work with Dart iterators just like Python itertools.

Provide methods / functions:

  • zip2/zip3/etc
  • chain
  • count
  • enumerate / mapIndexed
  • and other helpers

Links

Pub dev

Documentation

Issue tracker

Usage

import 'package:itertools/itertools.dart';

void main() {
  print(zip2(['H', ',', 'a', 'l'], ['i', ' ', 'l', '!'])
      .starmap((first, second) => first + second)
      // equal:
      // .map((e) => e.item1 + e.item2)
      .join());
  // output: Hi, all!

  print(range(first: 1, last: 10, step: 3).reversed.toList());
  // output: [7, 4, 1]

  // or more compact

  print(1.to(10, step: 3).reversed.toList());
  // output: [7, 4, 1]

  print(chain(1.to(4), [4, 5], 1.to(4)).toList());
  // output: [1, 2, 3,  4, 5,  1, 2, 3]
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

About

Simple package for easy work with Dart iterators just like Python itertools.

Topics

Resources

License

Stars

Watchers

Forks

Languages