heart library
To keep iterable types when using extension methods, import heart_types.dart instead.
Classes
- BoolList
- A space-efficient list of boolean values.
-
CanonicalizedMap<
C, K, V> -
A map whose keys are converted to canonical values of type
C. - CaseInsensitiveEquality
- String equality that's insensitive to differences in ASCII case.
-
CombinedIterableView<
T> - A view of several iterables combined sequentially into a single iterable.
-
CombinedListView<
T> - A view of several lists combined into a single list.
-
CombinedMapView<
K, V> - Returns a new map that represents maps flattened into a single map.
- DeepCollectionEquality
- Deep equality on collections.
-
DefaultEquality<
E> - Equality of objects that compares only the natural equality of the objects.
-
DelegatingIterable<
E> - An Iterable that delegates all operations to a base iterable.
-
DelegatingList<
E> - A List that delegates all operations to a base list.
-
DelegatingMap<
K, V> - A Map that delegates all operations to a base map.
-
DelegatingQueue<
E> - A Queue that delegates all operations to a base queue.
-
DelegatingSet<
E> - A Set that delegates all operations to a base set.
-
Equality<
E> - A generic equality relation on objects.
-
EqualityBy<
E, F> - Equality of objects based on derived values.
-
EqualityMap<
K, V> - A Map whose key equality is determined by an Equality object.
-
EqualitySet<
E> - A Set whose key equality is determined by an Equality object.
-
HeapPriorityQueue<
E> - Heap based priority queue.
-
IdentityEquality<
E> - Equality of objects that compares only the identity of the objects.
-
IterableEquality<
E> - Equality on iterables.
-
IterableZip<
T> - Iterable that iterates over lists of values from other iterables.
-
ListEquality<
E> - Equality on lists.
-
ListSlice<
E> - A list view of a range of another list.
-
MapEquality<
K, V> - Equality on maps.
-
MapKeySet<
E> - An unmodifiable Set view of the keys of a Map.
-
MapValueSet<
K, V> - Creates a modifiable Set view of the values of a Map.
-
MultiEquality<
E> - Combines several equalities into a single equality.
-
NonGrowableListMixin<
E> - Mixin class that implements a throwing version of all list operations that change the List's length.
-
NonGrowableListView<
E> - A fixed-length list.
-
PriorityQueue<
E> - A priority queue is a priority based work-list of elements.
-
QueueList<
E> - A class that efficiently implements both Queue and List.
-
SetEquality<
E> - Equality of sets.
-
UnionSet<
E> - A single set that provides a view of the union over a set of sets.
-
UnionSetController<
E> - A controller that exposes a view of the union of a collection of sets.
-
UnmodifiableListView<
E> - An unmodifiable List view of another List.
-
UnmodifiableMapMixin<
K, V> - Mixin class that implements a throwing version of all map operations that change the Map.
-
UnmodifiableMapView<
K, V> - View of a Map that disallow modifying the map.
-
UnmodifiableSetMixin<
E> - Mixin class that implements a throwing version of all set operations that change the Set.
-
UnmodifiableSetView<
E> - An unmodifiable set.
-
UnorderedIterableEquality<
E> - Equality of the elements of two iterables without considering order.
Extensions
-
ComparatorExtension
on Comparator<
T> - Extensions on comparator functions.
-
HeartCollectionIterable
on Iterable<
E> - Equivalents for Dart methods, but maintain types when importing 'heart_types.dart'
-
HeartCollectionIterableString
on Iterable<
String> - HeartCollectionString on String
- Equivalents for Dart collection methods applied to Strings
- HeartInt on int
- Extension methods for integers
-
HeartIterable
on Iterable<
E> - Extension methods for iterables
-
HeartIterableInt
on Iterable<
int> - Extension methods for collection of integers
-
HeartIterableIterable
on Iterable<
Iterable< E> > - Extension methods that maintain types for nested iterables.
-
HeartIterableNum
on Iterable<
N> - Extension methods for collection of numbers
-
HeartIterableOperator
on Iterable<
E> - Operators for Iterables
-
HeartIterableString
on Iterable<
String> -
HeartMap
on Map<
K, V> - Extension methods for Maps
- HeartOperatorString on String
- Operators for Strings
- HeartString on String
- Extension methods for Strings
-
IterableComparableExtension
on Iterable<
T> - Extensions that apply to iterables of Comparable elements.
-
IterableDoubleExtension
on Iterable<
double> - Extension on iterables of double.
-
IterableExtension
on Iterable<
T> - Extensions that apply to all iterables.
-
IterableIntegerExtension
on Iterable<
int> - Extension on iterables of integers.
-
IterableIterableExtension
on Iterable<
Iterable< T> > - Extensions on iterables whose elements are also iterables.
-
IterableNullableExtension
on Iterable<
T?> - Extensions that apply to iterables with a nullable element type.
-
IterableNumberExtension
on Iterable<
num> - Extensions that apply to iterables of numbers.
-
ListComparableExtensions
on List<
E> - Various extensions on lists of comparable elements.
-
ListExtensions
on List<
E> - Various extensions on lists of arbitrary elements.
Functions
-
binarySearch<
E> (List< E> sortedList, E value, {int compare(E, E)?}) → int -
Returns a position of the
valueinsortedList, if it is there. -
compareAsciiLowerCase(
String a, String b) → int -
Compares
aandblexically, converting ASCII letters to lower case. -
compareAsciiLowerCaseNatural(
String a, String b) → int -
Compares strings
aandbaccording to lower-case natural sort ordering. -
compareAsciiUpperCase(
String a, String b) → int -
Compares
aandblexically, converting ASCII letters to upper case. -
compareAsciiUpperCaseNatural(
String a, String b) → int -
Compares strings
aandbaccording to upper-case natural sort ordering. -
compareNatural(
String a, String b) → int -
Compares strings
aandbaccording to natural sort ordering. -
equalsIgnoreAsciiCase(
String a, String b) → bool -
Checks if strings
aandbdiffer only on the case of ASCII letters. -
groupBy<
S, T> (Iterable< S> values, T key(S)) → Map<T, List< S> > -
Groups the elements in
valuesby the value returned bykey. -
hashIgnoreAsciiCase(
String string) → int - Hash code for a string which is compatible with equalsIgnoreAsciiCase.
-
inclusive(
int a, [int? b, int? step]) → Iterable< int> - Generates an inclusive List of integers. inclusive(3) returns (0, 1, 2, 3). inclusive(-3) returns (-3, -2, -1, 0).
-
inclusiveList(
int a, [int? b, int? step]) → List< int> - Same as inclusive but returns a List type.
-
inclusiveString(
String a, [String? b, int? step]) → String - Uses character codes and inclusive. Strings must have exactly 1 character.
-
insertionSort<
E> (List< E> elements, {int compare(E, E)?, int start = 0, int? end}) → void -
Sort a list between
start(inclusive) andend(exclusive) using insertion sort. -
lastBy<
S, T> (Iterable< S> values, T key(S)) → Map<T, S> -
Associates the elements in
valuesby the value returned bykey. -
lowerBound<
E> (List< E> sortedList, E value, {int compare(E, E)?}) → int -
Returns the first position in
sortedListthat does not compare less thanvalue. -
mapMap<
K1, V1, K2, V2> (Map< K1, V1> map, {K2 key(K1, V1)?, V2 value(K1, V1)?}) → Map<K2, V2> -
Creates a new map from
mapwith new keys and values. -
maxBy<
S, T> (Iterable< S> values, T orderBy(S), {int compare(T, T)?}) → S? -
Returns the element of
valuesfor whichorderByreturns the maximum value. -
mergeMaps<
K, V> (Map< K, V> map1, Map<K, V> map2, {V value(V, V)?}) → Map<K, V> -
Returns a new map with all key/value pairs in both
map1andmap2. -
mergeSort<
E> (List< E> elements, {int start = 0, int? end, int compare(E, E)?}) → void -
Sorts a list between
start(inclusive) andend(exclusive) using the merge sort algorithm. -
minBy<
S, T> (Iterable< S> values, T orderBy(S), {int compare(T, T)?}) → S? -
Returns the element of
valuesfor whichorderByreturns the minimum value. -
range(
int a, [int? b, int? step]) → Iterable< int> - Generates a List of integers. range(n) is always in ascending order, doesn't include n itself. range(3) returns (0, 1, 2). range(-3) returns (-2, -1, 0). range(0) returns ().
-
rangeList(
int a, [int? b, int? step]) → List< int> - Same as range but returns a List type.
-
rangeString(
String a, [String? b, int? step]) → String - Uses character codes and range. Strings must have exactly 1 character.
-
reverse<
E> (List< E> elements, [int start = 0, int? end]) → void - Reverses a list, or a part of a list, in-place.
-
shuffle(
List elements, [int start = 0, int? end, Random? random]) → void - Shuffles a list randomly.
-
stronglyConnectedComponents<
T> (Map< T, Iterable< graph) → List<T> >Set< T> > -
Returns the strongly connected components of
graph, in topological order. -
transitiveClosure<
T> (Map< T, Iterable< graph) → Map<T> >T, Set< T> > -
Returns the transitive closure of
graph.