- Optimized
IMap.update()
.
- Improved
IList.zip()
generic typing.
-
You can now declare empty lists, sets and maps like this (#74):
const IList<String>.empty(); const ISet<String>.empty(); const IMap<String, int>.empty();
-
Better inference for sumBy returning zero (#71).
- Fixed #71
- Fixed #69
- Fixed #68
- Removed tuples in favor of records.
- @useResult annotation to signal that a method should return a copy of the collection, instead of mutating it.
- Small docs improvement.
- Fixed type erasure in IMap.toJson and build issue for benchmark app.
- Removed unnecessary map creation when deserializing IMap from Json.
- Bumped environment to '>=2.14.0 <3.0.0'
- Function
compareObject
now also compares enums by their name.
- Version bump of dependencies: collection: ^1.17.0, meta: ^1.8.0
IList.replaceBy
method lets you define a function to transform an item at a specific index location.
IList.indexOf
extension fix (doesn't break anymore when list is empty and start is zero).
Iterable.intersectsWith
extension.
- Breaking change:
IList.replaceFirstWhere
signature is nowIList<T> replaceFirstWhere(bool Function(T item) test, T Function(T? item) replacement, {bool addIfNotFound = false})
instead ofIList<T> replaceFirstWhere(bool Function(T item) test, T to, {bool addIfNotFound = false})
In case this change breaks your code, the fix is simple. Instead of something likeilist.replaceFirstWhere((String item) => item=="1", "2")
do this:ilist.replaceFirstWhere((String item) => item=="1", (_) => "2")
- Initial version: 2021/01/12