Wondering what’s next for npm?Check out our public roadmap! »

extra-lists

2.2.5 • Public • Published

Lists is a pair of key list and value list, with unique keys. 🏃 📼 📦 🌔 📒

Methods as separate packages:

In this fourth Crust of Rust video, we cover smart pointers and interior mutability, by re-implementing the Cell, RefCell, and Rc types from the standard library. As part of that, we cover when those types are useful, how they work, and what the equivalent thread-safe versions of these types are. In the process, we go over some of the finer details of Rust's ownership model, and the UnsafeCell type. (1)

Stability: Experimental.

const lists = require('extra-lists');
// import * as lists from 'extra-lists';
// import * as lists from 'https://unpkg.com/extra-lists@2.2.2/index.mjs'; (deno)

var x = [['a', 'b', 'c', 'd', 'e'], [1, 2, 3, 4, 5]];
lists.filter(x, v => v % 2 === 1);
// [ [ 'a', 'c', 'e' ], [ 1, 3, 5 ] ]

var x = [['a', 'b', 'c', 'd'], [1, 2, -3, -4]];
lists.some(x, v => v > 10);
// false

var x = [['a', 'b', 'c', 'd'], [1, 2, -3, -4]];
lists.min(x);
// [ 'd', -4 ]

var x = [['a', 'b', 'c'], [1, 2, 3]];
[...lists.subsets(x)].map(a => [[...a[0]], [...a[1]]]);
// [
//   [ [], [] ],
//   [ [ 'a' ], [ 1 ] ],
//   [ [ 'b' ], [ 2 ] ],
//   [ [ 'a', 'b' ], [ 1, 2 ] ],
//   [ [ 'c' ], [ 3 ] ],
//   [ [ 'a', 'c' ], [ 1, 3 ] ],
//   [ [ 'b', 'c' ], [ 2, 3 ] ],
//   [ [ 'a', 'b', 'c' ], [ 1, 2, 3 ] ]
// ]

reference

Method Action
is Checks if value is lists.
get Gets value at key.
set Sets value at key.
remove Deletes an entry.
swap Exchanges two values.
size Gets size of lists.
head Gets first entry.
take Keeps first n entries only.
shift Removes first entry.
fromEntries Creates lists from entries.
concat Appends entries from all lists.
flat Flattens nested lists to given depth.
chunk Breaks lists into chunks of given size.
filterAt Gets lists with given keys.
map Updates values based on map function.
filter Keeps entries which pass a test.
reduce Reduces values to a single value.
range Finds smallest and largest entries.
count Counts values which satisfy a test.
partition Segregates values by test result.
cartesianProduct Lists cartesian product of lists.
some Checks if any value satisfies a test.
zip Combines matching entries from all lists.
union Gives lists present in any lists.
intersection Gives entries present in both lists.
difference Gives entries of lists not present in another.
symmetricDifference Gives entries not present in both lists.
isDisjoint Checks if lists have no common keys.
key Picks an arbitrary key.
value Picks an arbitrary value.
entry Picks an arbitrary entry.
subset Picks an arbitrary submap.
isEmpty Checks if lists is empty.
isEqual Checks if two lists are equal.
compare Compares two lists.
find Finds a value passing a test.
search Finds key of an entry passing a test.
scanWhile Finds key of first entry not passing a test.

nodef

Install

npm i extra-lists

DownloadsWeekly Downloads

137

Version

2.2.5

License

MIT

Unpacked Size

72.9 kB

Total Files

7

Last publish

Collaborators

  • avatar