collection 1.15.0-nnbd collection: ^1.15.0-nnbd copied to clipboard
Collections and utilities functions and classes related to collections.
1.15.0-nnbd #
Pre-release for the null safety migration of this package.
Note that 1.15.0
may not be the final stable null safety release version,
we reserve the right to release it as a 2.0.0
breaking change.
This release will be pinned to only allow pre-release sdk versions starting
from 2.9.0-dev.18.0
, which is the first version where this package will
appear in the null safety allow list.
1.14.13 #
- Deprecate
mapMap
. The Map interface has amap
call and map literals can use for-loop elements which supersede this method.
1.14.12 #
- Fix
CombinedMapView.keys
,CombinedMapView.length
,CombinedMapView.forEach
, andCombinedMapView.values
to work as specified and not repeat duplicate items from the maps.- As a result of this fix the
length
getter now must iterate all maps in order to remove duplicates and return an accurate length, so it is no longerO(maps)
.
- As a result of this fix the
1.14.11 #
- Set max SDK version to
<3.0.0
.
1.14.10 #
- Fix the parameter names in overridden methods to match the source.
- Make tests Dart 2 type-safe.
- Stop depending on SDK
retype
and deprecate methods.
1.14.9 #
- Fixed bugs where
QueueList
,MapKeySet
, andMapValueSet
did not adhere to the contract laid out byList.cast
,Set.cast
andMap.cast
respectively. The returned instances of these methods now correctly forward to the existing instance instead of always creating a new copy.
1.14.8 #
- Deprecated
Delegating{Name}.typed
static methods in favor of the new Dart 2cast
methods. For example,DelegatingList.typed<String>(list)
can now be written aslist.cast<String>()
.
1.14.7 #
- Only the Dart 2 dev SDK (
>=2.0.0-dev.22.0
) is now supported. - Added support for all Dart 2 SDK methods that threw
UnimplementedError
.
1.14.6 #
-
Make
DefaultEquality
'sequals()
andhash()
methods take anyObject
rather than objects of typeE
. This makesconst DefaultEquality<Null>()
usable asEquality<E>
for anyE
, which means it can be used in a const context which expectsEquality<E>
.This makes the default arguments of various other const equality constructors work in strong mode.
1.14.5 #
- Fix issue with
EmptyUnmodifiableSet
's stubs that were introduced in 1.14.4.
1.14.4 #
- Add implementation stubs of upcoming Dart 2.0 core library methods, namely
new methods for classes that implement
Iterable
,List
,Map
,Queue
, andSet
.
1.14.3 #
- Fix
MapKeySet.lookup
to be a valid override in strong mode.
1.14.2 #
- Add type arguments to
SyntheticInvocation
.
1.14.1 #
- Make
Equality
implementations acceptnull
as argument tohash
.
1.14.0 #
- Add
CombinedListView
, a view of several lists concatenated together. - Add
CombinedIterableView
, a view of several iterables concatenated together. - Add
CombinedMapView
, a view of several maps concatenated together.
1.13.0 #
- Add
EqualityBy
1.12.0 #
-
Add
CaseInsensitiveEquality
. -
Fix bug in
equalsIgnoreAsciiCase
.
1.11.0 #
- Add
EqualityMap
andEqualitySet
classes which useEquality
objects for key and element equality, respectively.
1.10.1 #
Set.difference
now takes aSet<Object>
as argument.
1.9.1 #
- Fix some documentation bugs.
1.9.0 #
- Add a top-level
stronglyConnectedComponents()
function that returns the strongly connected components in a directed graph.
1.8.0 #
-
Add a top-level
mapMap()
function that works likeIterable.map()
on aMap
. -
Add a top-level
mergeMaps()
function that creates a new map with the combined contents of two existing maps. -
Add a top-level
groupBy()
function that converts anIterable
to aMap
by grouping its elements using a function. -
Add top-level
minBy()
andmaxBy()
functions that return the minimum and maximum values in anIterable
, respectively, ordered by a derived value. -
Add a top-level
transitiveClosure()
function that returns the transitive closure of a directed graph.
1.7.0 #
- Add a
const UnmodifiableSetView.empty()
constructor.
1.6.0 #
-
Add a
UnionSet
class that provides a view of the union of a set of sets. -
Add a
UnionSetController
class that provides a convenient way to manage the contents of aUnionSet
. -
Fix another incorrectly-declared generic type.
1.5.1 #
- Fix an incorrectly-declared generic type.
1.5.0 #
-
Add
DelegatingIterable.typed()
,DelegatingList.typed()
,DelegatingSet.typed()
,DelegatingMap.typed()
, andDelegatingQueue.typed()
static methods. These wrap untyped instances of these classes with the correct type parameter, and assert the types of values as they're accessed. -
Fix the types for
binarySearch()
andlowerBound()
so they no longer require all arguments to be comparable. -
Add generic annotations to
insertionSort()
andmergeSort()
.
1.4.1 #
- Fix all strong mode warnings.
1.4.0 #
-
Add a
new PriorityQueue()
constructor that forwards tonew HeapPriorityQueue()
. -
Deprecate top-level libraries other than
package:collection/collection.dart
, which exports these libraries' interfaces.
1.3.0 #
-
Add
lowerBound
to binary search for values that might not be present. -
Verify that the is valid for
CanonicalMap.[]
.
1.2.0 #
- Add string comparators that ignore ASCII case and sort numbers numerically.
1.1.3 #
- Fix type inconsistencies with
Map
andSet
.
1.1.2 #
- Export
UnmodifiableMapView
from the Dart core libraries.
1.1.1 #
- Bug-fix for signatures of
isValidKey
arguments ofCanonicalizedMap
.
1.1.0 #
- Add a
QueueList
class that implements bothQueue
andList
.
0.9.4 #
- Add a
CanonicalizedMap
class that canonicalizes its keys to provide a custom equality relation.
0.9.3+1 #
- Fix all analyzer hints.
0.9.3 #
-
Add a
MapKeySet
class that exposes an unmodifiableSet
view of aMap
's keys. -
Add a
MapValueSet
class that takes a function from values to keys and uses it to expose aSet
view of aMap
's values.