dartx_nullsafety 0.6.0-nullsaftety.0 copy "dartx_nullsafety: ^0.6.0-nullsaftety.0" to clipboard
dartx_nullsafety: ^0.6.0-nullsaftety.0 copied to clipboard

Superpowers for Dart. Collection of useful static extension methods.

0.5.0 #

  • PR-94 Breaking: Iterable<T>.zip(other, transform) now support zipping iterables of other types the T. This is a breaking change because it is now required to add types in the transform function.
    final amounts = [2, 3, 4];
    final animals = ['dogs', 'birds', 'cats'];
    final all = amounts.zip(animals, (int amount, String animal) => '$amount $animal');
    // lambda types are now required:  ⇧           ⇧
    // all: ['2 dogs', '3 birds', '4 cats']
    
  • PR-90 New String extensions
    • String removePrefix(String prefix)
    • String removeSuffix(String suffix)
    • String removeSurrounding({String prefix, String suffix})
    final name = 'James Bond'.removePrefix('James '); // Bond
    final milliseconds = '100ms'.removeSuffix('ms'); // 100
    final text = '<p>Some HTML</p>'.removeSurrounding(prefix: '<p>', suffix: '</p>'); // Some HTML
    
  • PR-88 New List extension void swap(int, int) which swaps the elements in the indices provided.
    final list = [1, 2, 3, 4];
    list.swap(0, 2); // [3, 2, 1, 4]
    
  • PR-100 Relax the upper version constraint of collection to support Flutter 1.20 (which uses collection: 1.3.0-nullsafety)
  • PR-101 Relax the upper version constraint of crypto

0.4.2 #

  • Increase dependency range of characters to include 1.0.0
  • Raise min sdk version to 2.6.0 to prevent pub publishing warning for pre-release versions

0.4.1 #

  • PR-84 Increase path version range to be compatible with Flutter 1.17
  • PR-83 Run tests on macOS

0.4.0 #

Iterable #

  • PR-41 New Iterable<T>.containsAny(Iterable<T>) extension
  • PR-46 New Iterable<num>.median() extension
  • PR-53 New Iterable<T>.asStream() extension converts any Iterable to a Stream
  • PR-59 New Iterable<T>.cached extension creates a cached Iterable preventing lazy operators such as .map to execute again
  • PR-56 Make Iterable<Iterable<T>>.flatten() typesafe and return Iterable<T> instead of Iterable<dynamic>
  • PR-62 New Iterable<T>.chunkWhile(bool Function(T, T) predicate): Iterable<List<E>> extension splits a collection into a lazy Iterables of chunks, where chunks are created as long as predicate is true for a pair of entries.
  • PR-62 New Iterable<T>.splitWhen(bool Function(E, E) predicate): Iterable<List<E>> extension splits a collection into a lazy Iterable, where each split will be make if predicate returns true for a pair of entries.
  • PR-54 New Iterable<Future<T>>.asStreamAwaited(): Stream<T> extension to create a stream from a group of futures.

String #

  • PR-72 New String.isNullOrEmpty extension
  • PR-43 New String.toInt({int radix}) extension as alias for int.parse(String, {int radix}) (also String.toIntOrNull({int radix}))
  • PR-75 Deprecate String.chars in favour of String.characters from the official characters package.

Ranges #

  • PR-74 New Comparable<T>.rangeTo(Comparable<T> end) extension to create ranges of DateTime or String.
  • PR-45 New num.between(num first, num endInclusive): bool extension
  • PR-45 New num.inRange(Range<num> range): bool extension
  • PR-45 New Comparable<T>.between(T first, T endInclusive): bool extension
  • PR-45 New Comparable<T>.inRange(ComparableRange<T> range): bool extension

0.3.0+1 #

  • Improve package scoring by upgrading dependencies and formatting files
  • Change README slightly

0.3.0 #

  • PR-14 New int.rangeTo(int) extension
  • PR-24 Default implementations for Comparable <, <=, >= and > operators.
  • PR-13 Removed quiver dependency
  • PR-21 New String.md5 to calculate a MD5 digest
  • PR-25 New FileSystemEntity.withName(String newName) to get a File with a different name
  • PR-25 New FileSystemEntity.extension to get the file extension
  • PR-17 Callable.invoke() is now marked as Deprecated in favour of darts call() method. It will not be removed though, until darts .call() methods gets auto-completion.
  • PR-30 New Comparable.coerceIn(), Comparable.coerceAtLeast() and Comparable.coerceAtMost()
  • PR-31 Fixed num.toBytes()
  • PR-33 Fixed .thenBy() and .thenWith() extensions for Lists

Breaking #

  • PR-29 Iterable<E>.windowed - remove the required transform lambda

0.2.0 #

  • Moved to time.dart library for time extensions

0.1.2 #

  • Fixed docs
  • Added Function.curry(), Function.invoke(), Function.partial() and Function.flip()
  • 'string'.reversed now correctly handles grapheme clusters (like emoji)

Breaking #

  • 'string'.chars now returns the grapheme clusters instead of Runes

0.1.1 #

  • Bugfixes
  • More tests

0.1.0+1 #

  • Initial release
0
likes
35
points
20
downloads

Publisher

unverified uploader

Weekly Downloads

Superpowers for Dart. Collection of useful static extension methods.

Documentation

API reference

License

unknown (license)

Dependencies

characters, collection, crypto, meta, path, time

More

Packages that depend on dartx_nullsafety