From 5914d63888d80d6d93e0ba44d35d6b14346d8341 Mon Sep 17 00:00:00 2001 From: Yehuda Ringler Date: Mon, 12 Apr 2021 22:28:05 -0400 Subject: [PATCH] optional comparer, export equality --- lib/dart_extensions.dart | 2 +- lib/src/iterable.dart | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/dart_extensions.dart b/lib/dart_extensions.dart index 550c59b..eeff59d 100644 --- a/lib/dart_extensions.dart +++ b/lib/dart_extensions.dart @@ -24,6 +24,7 @@ export 'package:dart_extensions/src/flutter/container.dart'; export 'package:dart_extensions/src/flutter/gesture_detector.dart'; export 'package:dart_extensions/src/flutter/navigation.dart'; export 'package:dart_extensions/src/flutter/padding.dart'; +export 'package:dart_extensions/src/equality.dart'; export 'package:dart_extensions/src/http.dart'; export 'package:dart_extensions/src/int.dart'; export 'package:dart_extensions/src/iterable.dart'; @@ -32,4 +33,3 @@ export 'package:dart_extensions/src/search_algorithms.dart'; export 'package:dart_extensions/src/sort_algorithms.dart'; export 'package:dart_extensions/src/strings.dart'; export 'package:dart_extensions/src/flutter/widgets.dart'; - diff --git a/lib/src/iterable.dart b/lib/src/iterable.dart index 364bd1a..52bf704 100644 --- a/lib/src/iterable.dart +++ b/lib/src/iterable.dart @@ -19,14 +19,13 @@ import 'data_stractures/stack.dart'; import 'equality.dart'; extension CollectionsExtensions on Iterable { - - ///Sorts elements in the array in-place according to natural sort order of the value returned by specified [selector] function. Iterable sortBy( TKey Function(T) keySelector, { - required EqualityComparer keyComparer, + EqualityComparer? keyComparer, }) { - return InternalOrderedIterable(this, keySelector, keyComparer, false); + return InternalOrderedIterable( + this, keySelector, keyComparer ?? EqualityComparer(), false); } /// Returns `true` if at least one element matches the given [predicate]. @@ -124,7 +123,7 @@ extension CollectionsExtensions on Iterable { } // Retuns map operation as a List - List mapList(E f(T e)) => this.map(f).toList(); + List mapList(E f(T e)) => this.map(f).toList(); // Takes the first half of a list List firstHalf() => take(halfLength).toList();