fast_immutable_collections 5.0.0-dev.13
fast_immutable_collections: ^5.0.0-dev.13 copied to clipboard
Immutable lists, sets, maps, and multimaps, which are as fast as their native mutable counterparts. Extension methods and comparators for native Dart collections.
5.0.0-dev.13 - 2021-05-10 #
- Const
IList
. Example:const IList<int> myList = IListConst([1, 2, 3]);
Example of empty list:const IList<String> myList = IListConst([]);
- Const
ISet
. Example:const ISet<int> mySet = ISetConst({1, 2, 3});
Example of empty set:const ISet<String> mySet = ISetConst({});
- Methods
IList.get()
,IList.getOrNull()
andIList.getAndMap()
. - Extensions
List.get()
,List.getOrNull()
andList.getAndMap()
. - Better NNBD for
divideListAsMap()
andsortedLike()
. - Better Json serialization for NNBD.
- Small IMapOfSets.fromIterable() improvement: added
ignore
parameter. - Breaking change: Removed
empty()
constructors fromIList
andISet
. You can create empty collections usingIList()
andISet()
, ormyIList.clear()
andmyISet.clear()
, orIList.withCongif(const [], myConfig)
andISet.withConfig(const [], myConfig)
, orconst IListConst([])
andconst ISetConst({})
. - Breaking change: Removed all extensions like
isNullOrEmpty
and similar. This was a good idea before NNBD, but now if you use this Dart can't infer nullability anymore. - Breaking change. Please, add
import "package:collection/collection.dart";
to your project. I have removed the following methods because they are now present in thecollection
package:Iterable.mapIndexed
4.0.6 - 2021-04-20 #
- Extension
List.withNullsRemoved()
.
4.0.5 - 2021-04-19 #
- The
contains()
methods now acceptnull
. - Method
toggle()
now returns the correct bool.
4.0.4 - 2021-04-18 #
Iterable.isFirst
,isNotFirst
,isLast
andisNotLast
.
4.0.3 - 2021-04-16 #
-
Breaking change. Please, add
import "package:collection/collection.dart";
to your project. I have removed the following methods because they are now present in thecollection
package:Iterable.firstwhereOrNull
Iterable.whereNotNull
-
Breaking change:
inRange()
of nullable num now returns non-null, andorElse
is not optional. -
Added
Iterable.mapNotNull
extension. It's similar tomap
, but returnsIterable<T>
, whereT
can be a non-nullable type. This is equivalent tomap
pluscast
, but has a better name when you are just using it to solve NNBD problems.
3.0.2 - 2021-04-14 #
-
Json serialization support for json_serializable with @JsonSerializable (for IList, ISet, IMap, ListSet, ListSetView).
-
Renamed extension
isNotNullOrZero
toisNotNullNotZero
.
2.0.4 - 2021-04-12 #
- Factories
IList<T>.orNull()
,ISet<T>.orNull()
,IMap<K, V>.orNull()
, andIMapofSets<K, V>.orNull()
, that help implementcopyWith
methods.
2.0.2 2021/20/03 #
- Breaking changes:
Iterable.removeDuplicates
was renamed toIterable.whereNoDuplicates
to indicate it returns an Iterable.Iterable.removeNulls
was renamed toIterable.whereNotNull
to indicate it returns an Iterable.List.removeNulls
now is a List extension only. It mutates theList
, removing nulls.List.removeDuplicates
now is a List extension only. It mutates theList
, removing all duplicates.Set.removeNulls
now is a Set extension only. It mutates theSet
, removing all nulls.
2.0.1 - 2021-03-03 #
- Nullsafety improvements.
- isNotNullOrEmpty getter renamed to isNotNullNotEmpty.
- isEmptyButNotNull getter to isEmptyNotNull.
1.0.28 - 2021-02-09 #
- More efficient Iterable.sortedLike() and List.sortLike() extensions.
- Set.diffAndIntersect(), Iterable.everyIs() and Iterable.anyIs() extensions.
1.0.26 - 2021-01-28 #
- Better generics compatibility for
equalItemsAndConfig
.
1.0.18 - 2021-01-19 #
IList.replace()
.ISet.difference()
,intersection
,union
now accept iterables.
1.0.10 - 2021-01-18 #
areSameImmutableCollection()
andareImmutableCollectionsWithEqualItems()
functions.
1.0.9 - 2021-01-12 #
- Initial version.