0.6.0
This major update of kt.dart adds 16+ extension methods to KtMap
and makes working with maps even easier.
Behavior Changes
The properties KtList.list: List
,KtSet.set: Set
are now deprecated and KtMap.map: Map
was removed. Those properties where used to convert kt.dart collections to dart collections.
Instead use the new KtList.asList(): List
, KtSet.asSet(): Set
, KtMa.asMap(): Map
methods.
The old properties returned copies of the collections.
The new as
-methods return views of the original collections and reflect changes of the original data.
This breaking change was necessary because the property KtMap.map: Map<K, V>
was conflicting with KtMap.map(MapEntry<K, V> -> R) : KtList<R>
to map the entries to items of a KtList
.
Read about further details here.
If you have used properties to iterate over the collections using a for-loop you should now always use iter
which is available for all kt.dart collections.
for (final element in listOf("a", "b", "c").iter) {
print(element);
}
for (final element in setOf("a", "b", "c").iter) {
print(element);
}
for (final p in mapFrom({1: "Bulbasaur", 2: "Ivysaur"}).iter) {
print("${p.key} -> ${p.value}");
}
Additions
- #86 New:
KtMap.map
Returns a list containing the results of applying the giventransform
function to each entry in the original map. - #86 New:
KtMap.iter
Access to aIterable
to be used in for-loops - #87 New:
KtMap.count
Returns the number of entries matching the given [predicate] or the number of entries whenpredicate = null
. - #89 New:
KtMap.minBy
Returns the first entry yielding the smallest value of the given function ornull
if there are no entries. - #89 New:
KtMap.minWith
Returns the first entry having the smallest value according to the providedcomparator
ornull
if there are no entries. - #89 New:
KtMap.maxBy
Returns the first entry yielding the largest value of the given function ornull
if there are no entries. - #89 New:
KtMap.maxWith
Returns the first entry having the largest value according to the providedcomparator
ornull
if there are no entries. - #90 New:
KtMap.toList
Returns aKtList
containing all key-value pairs. - #78 New:
KtMap.forEach
Performs givenaction
on each key/value pair from this map. thanks @acherkashyn - #80 New:
KtMap.none
Returnstrue
if there is no entries in the map that match the givenpredicate
. thanks @acherkashyn - #80 New:
KtMap.all
Returns true if all entries match the givenpredicate
. thanks @acherkashyn - #80 New:
KtMap.any
Returns true if there is at least one entry that matches the givenpredicate
. thanks @acherkashyn - #84 New:
KtMap.filterKeys
Returns a map containing all key-value pairs with keys matching the givenpredicate
. - #84 New:
KtMap.filterValues
Returns a map containing all key-value pairs with values matching the givenpredicate
. - #79 New:
KtMap.asMap
Returns a read-only dart:coreMap
- #79 New:
KtMutableMap.asMap
Creates aMap
instance that wraps the originalKtMap
. It acts as a view.
- #75 New:
KtIterable.takeWhile
Returns a list containing first elements satisfying the givenpredicate
. - #76 New:
KtIterable.takeLastWhile
Returns a list containing last elements satisfying the givenpredicate
.
- #73 New:
KtList.takeLast
, Returns a list containing lastn
elements. - #79 New:
KtList.asList
Returns a read-only dart:coreList
- #79 New:
KtMutableList.asList
Creates aList
instance that wraps the originalKtList
. It acts as a view.
- #79, #91 New:
KtSet.asSet
Returns a read-only dart:coreSet
- #79 New:
KtMutableSet.asSet
Creates aSet
instance that wraps the originalKtSet
. It acts as a view.
Bugfixes
Documentation
- #68 Document
KtSet
constructors - #70 Fix README typos, thanks @RedBrogdon
Misc.
- #69
KtMutableListIterator
throwsIndexOutOfBoundsException
when callingset
beforenext
was called - #81 Force dartfmt on CI
- #83 Improve .gitignore
Upgrade Instructions
dependencies:
kt_dart: ^0.6.0