ktx 1.1.6
ktx: ^1.1.6 copied to clipboard

The KTX Library provides a comprehensive set of tools for managing collections.

KTX #

pub build coverage license

The KTX Library provides a comprehensive set of tools for managing collections – groups of a variable number of items (possibly zero) that share significance to the problem being solved and are operated upon commonly.

Getting Started #


associateBy #

associateBy is an operation allows associate the list items with the given key.

final List<Fruit> fruits = [
    Fruit(id: 1, kind: "Pear", color: "Red"),
    Fruit(id: 2, kind: "Apple", color: "Green")
];
final Map<int, Fruit> mappedFruits = fruits
    .associateBy((fruit) => fruit.id);

mapToList #

mapToList returns a list containing the results of applying the given [transform] function.

final Map<int, Fruit> fruits = {
  1: Fruit(kind: "Pear", color: "Red"),
  2: Fruit(kind: "Apple", color: "Green")
};
final List<String> fruitNames = fruits
    .mapToList((key, fruit) => fruit.kind);

sortBy #

sortBy sorts elements in the list in-place according to natural sort order of the value returned by specified [selector] function.

final List<Fruit> fruits = [
    Fruit(id: 1, kind: "Apple", color: "Red"),
    Fruit(id: 2, kind: "Apple", color: "Green")
];
final List<Fruit> sortedByNamefruits = fruits
    .sortBy((fruit) => fruit.kind);

groupBy #

groupBy groups elements of the original collection by the key returned by the given [keySelector] function applied to each element and returns a map where each group key is associated with a list of corresponding elements.

final List<Fruit> fruits = [
    Fruit(id: 1, kind: "Apple", color: "Red"),
    Fruit(id: 2, kind: "Apple", color: "Green")
];
final Map<String, List<Fruit>> groupedFruits = fruits
    .groupBy((fruit) => fruit.kind);

mapIndexed #

mapIndexed returns a list containing the results of applying the given [transform] function to each element and its index in the original collection.

final fruits = ["Apple", "Pear", "Orange"];
final indexedFruits = fruits.mapIndexed((index, fruit) => "${index + 1}: $fruit");

/// ["1: Apple", "2: Pear", "3: Orange"]);

zip #

zip returns a list of values built from the elements of this collection and the [other] collection with the same index.

final kinds = ["Apple", "Pear", "Apricot"];
final colors = ["Red", "Green", "Orange"];
final fruits = kinds.zip(colors, (kind, color) => Fruit(kind, color));

let #

let calls the specified function [block] with this value as its argument and returns its result.

final Fruit? fruit = Fruit(id: 1, kind: "Apple", color: "Red");
fruit?.let((fruit) => print(fruit));
6
likes
120
pub points
63%
popularity

Publisher

glynskyi.com

The KTX Library provides a comprehensive set of tools for managing collections.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

More

Packages that depend on ktx