/** * Entries is an array of key-value pairs, with unique keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/Entries) */ type Entries = Iterable<[K, V]>; /** * Lists is a pair of key array and value array, with unique keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/Lists) */ type Lists = [Iterable, Iterable]; /** * Handle reading of a single value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/ReadFunction) * @returns value */ type ReadFunction = () => T; /** * Handle combining of two values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/CombineFunction) * @param a a value * @param b another value * @returns combined value */ type CombineFunction = (a: T, b: T) => T; /** * Handle comparison of two values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/CompareFunction) * @param a a value * @param b another value * @returns ab: +ve */ type CompareFunction = (a: T, b: T) => number; /** * Handle processing of values in lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/ProcessFunction) * @param v value in lists * @param k key of value in lists * @param x lists containing the value */ type ProcessFunction = (v: V, k: K, x: Lists) => void; /** * Handle selection of values in lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/TestFunction) * @param v value in lists * @param k key of value in lists * @param x lists containing the value * @returns selected? */ type TestFunction = (v: V, k: K, x: Lists) => boolean; /** * Handle transformation of a value to another. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/MapFunction) * @param v value in lists * @param k key of value in lists * @param x lists containing the value * @returns transformed value */ type MapFunction = (v: V, k: K, x: Lists) => W; /** * Handle reduction of multiple values into a single value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/ReduceFunction) * @param acc accumulator (temporary result) * @param v value in lists * @param k key of value in lists * @param x lists containing the value * @returns reduced value */ type ReduceFunction = (acc: W, v: V, k: K, x: Lists) => W; /** * Handle ending of combined lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/EndFunction) * @param dones iįµ—Ź° lists done? * @returns combined lists done? */ type EndFunction = (dones: boolean[]) => boolean; /** * Check if value is lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/is) * @param v value * @returns v is lists? */ declare function is(v: any): v is Lists; /** * List all keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/keys) * @param x lists * @returns kā‚€, kā‚, ... | kįµ¢ āˆˆ x[0] */ declare function keys(x: Lists): Iterable; /** * List all values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/values) * @param x lists * @returns vā‚€, vā‚, ... | vįµ¢ āˆˆ x[1] */ declare function values(x: Lists): Iterable; /** * List all key-value pairs. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/entries) * @param x lists * @returns [kā‚€, vā‚€], [kā‚, vā‚], ... | kįµ¢ āˆˆ x[0]; vįµ¢ āˆˆ x[1] */ declare function entries(x: Lists): Entries; /** * Convert lists to entries. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/fromEntries) * @param x entries * @returns x as lists */ declare function fromEntries(x: Entries): Lists; /** * Find the size of lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/size) * @param x lists * @returns |x| */ declare function size(x: Lists): number; /** * Check if lists is empty. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/isEmpty) * @param x lists * @returns |x| = 0? */ declare function isEmpty(x: Lists): boolean; /** * Compare two lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/compare) * @param x lists * @param y another lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns x=y: 0, otherwise: -ve/+ve */ declare function compare(x: Lists, y: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): number; /** * Check if two lists are equal. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/isEqual) * @param x lists * @param y another lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns x=y? */ declare function isEqual(x: Lists, y: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): boolean; /** * Get value at key. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/get) * @param x lists * @param k key * @returns x[k] */ declare function get(x: Lists, k: K): V; /** * Gets values at keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/getAll) * @param x lists * @param ks keys * @returns x[kā‚€], x[kā‚], ... | [kā‚€, kā‚, ...] = ks */ declare function getAll(x: Lists, ks: K[]): Iterable; /** * Get value at path in nested lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/getPath) * @param x nested lists * @param p path * @returns x[kā‚€][kā‚][...] | [kā‚€, kā‚, ...] = p */ declare function getPath(x: Lists, p: K[]): any; /** * Check if nested lists has a path. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/hasPath) * @param x nested lists * @param p search path * @returns x[kā‚€][kā‚][...] exists? | [kā‚€, kā‚, ...] = p */ declare function hasPath(x: Lists, p: T[]): boolean; /** * Set value at key. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/set) * @param x lists * @param k key * @param v value * @returns x' | x' = x; x'[k] = v */ declare function set(x: Lists, k: K, v: V): Lists; /** * Exchange two values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/swap) * @param x lists * @param k a key * @param l another key * @returns x' | x' = x; x'[k] = x[l]; x'[l] = x[k] */ declare function swap(x: Lists, k: K, l: K): Lists; /** * Remove value at key. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/remove) * @param x lists * @param k key * @returns x - [k, v] | v = x[k] */ declare function remove(x: Lists, k: K): Lists; /** * Get first entry from lists (default order). * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/head) * @param x lists * @param ed default entry * @returns [kā‚€, vā‚€] if x ā‰  Ī¦ else ed | [kā‚€, vā‚€] āˆˆ x */ declare function head(x: Lists, ed?: [K, V]): [K, V]; /** * Get lists without its first entry (default order). * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/tail) * @param x lists * @returns x \\ \{[kā‚€, vā‚€]\} if x ā‰  Ī¦ else x | [kā‚€, vā‚€] āˆˆ x */ declare function tail(x: Lists): Lists; /** * Keep first n entries only (default order). * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/take) * @param x lists * @param n number of entries [1] * @returns \{[kā‚€, vā‚€], [kā‚, vā‚], ...\} | [kįµ¢, vįµ¢] āˆˆ x and |\{[kā‚€, vā‚€], [kā‚, vā‚], ...\}| ā‰¤ n */ declare function take(x: Lists, n?: number): Lists; /** * Remove first n entries (default order). * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/drop) * @param x a map * @param n number of entries [1] * @returns \{[kā‚™, vā‚™], [kā‚™ā‚Šā‚, vā‚™ā‚Šā‚], ...\} | [kįµ¢, vįµ¢] āˆˆ x and |\{[kā‚™, vā‚™], [kā‚™ā‚Šā‚, vā‚™ā‚Šā‚], ...\}| ā‰¤ max(|x| - n, 0) */ declare function drop(x: Lists, n?: number): Lists; /** * Count values which satisfy a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/count) * @param x lists * @param ft test function (v, k, x) * @returns Ī£tįµ¢ | tįµ¢ = 1 if ft(vįµ¢) else 0; [kįµ¢, vįµ¢] āˆˆ x */ declare function count(x: Lists, ft: TestFunction): number; /** * Count occurrences of values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/countAs) * @param x lists * @param fm map function (v, k, x) * @returns Map \{value ā‡’ count\} */ declare function countAs(x: Lists, fm?: MapFunction | null): Map; /** * Find smallest value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/min) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns v | v ā‰¤ vįµ¢; [kįµ¢, vįµ¢] āˆˆ x */ declare function min(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): V; /** * Find smallest entry. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/minEntry) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns [min_key, min_value] */ declare function minEntry(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): [K, V]; /** * Find largest value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/max) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns v | v ā‰„ vįµ¢; [kįµ¢, vįµ¢] āˆˆ x */ declare function max(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): V; /** * Find largest entry. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/maxEntry) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns [max_key, max_value] */ declare function maxEntry(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): [K, V]; /** * Find smallest and largest values. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/range) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns [min_value, max_value] */ declare function range(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): [V, V]; /** * Find smallest and largest entries. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/rangeEntries) * @param x lists * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns [min_entry, max_entry] */ declare function rangeEntries(x: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): [[K, V], [K, V]]; /** * List all possible subsets. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/subsets) * @param x lists * @param n number of entries in each subset [-1 ā‡’ any] * @returns entries selected by bit from 0..2^|x| if n<0; only of length n otherwise */ declare function subsets(x: Lists, n?: number): Iterable>; /** * Pick an arbitrary key. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/randomKey) * @param x lists * @param fr random number generator ([0, 1)) * @returns kįµ¢ | kįµ¢ āˆˆ x[0] */ declare function randomKey(x: Lists, fr?: ReadFunction): K; /** * Pick an arbitrary value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/randomValue) * @param x lists * @param fr random number generator ([0, 1)) * @returns vįµ¢ | vįµ¢ āˆˆ x[1] */ declare function randomValue(x: Lists, fr?: ReadFunction): V; /** * Pick an arbitrary entry. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/randomEntry) * @param x lists * @param fr random number generator ([0, 1)) * @returns [kįµ¢, vįµ¢] | kįµ¢ āˆˆ x[0]; vįµ¢ āˆˆ x[1] */ declare function randomEntry(x: Lists, fr?: ReadFunction): [K, V]; /** * Pick an arbitrary subset. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/randomSubset) * @param x lists * @param n number of entries [-1 ā‡’ any] * @param fr random number generator ([0, 1)) * @returns [[kįµ¢, kā±¼, ...], [vįµ¢, vā±¼, ...]] | kįµ¢, kā±¼, ... āˆˆ x[0]; vįµ¢, vā±¼, ... āˆˆ x[1]; |[kįµ¢, kā±¼, , ...]| = |x| if n<0 else n */ declare function randomSubset(x: Lists, n?: number, fr?: ReadFunction): Lists; /** * Check if lists has a key. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/has) * @param x lists * @param k search key * @returns k āˆˆ keys(x)? */ declare function has(x: Lists, k: K): boolean; /** * Check if lists has a value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/hasValue) * @param x lists * @param v search value * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns v āˆˆ values(x)? */ declare function hasValue(x: Lists, v: V, fc?: CompareFunction | null, fm?: MapFunction | null): boolean; /** * Check if lists has an entry. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/hasEntry) * @param x lists * @param e search entry * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns k āˆˆ x[0]; v āˆˆ x[1]; k ā‡’ v? | [k, v] = e */ declare function hasEntry(x: Lists, e: [K, V], fc?: CompareFunction | null, fm?: MapFunction | null): boolean; /** * Check if lists has a subset. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/hasSubset) * @param x lists * @param y search subset * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns y āŠ† x? */ declare function hasSubset(x: Lists, y: Lists, fc?: CompareFunction | null, fm?: MapFunction | null): boolean; /** * Find first value passing a test (default order). * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/find) * @param x lists * @param ft test function (v, k, x) * @returns first v | ft(v) = true; [k, v] āˆˆ x */ declare function find(x: Lists, ft: TestFunction): V; /** * Find values passing a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/findAll) * @param x lists * @param ft test function (v, k, x) * @returns vā‚€, vā‚, ... | ft(vįµ¢) = true; [kįµ¢, vįµ¢] āˆˆ x */ declare function findAll(x: Lists, ft: TestFunction): Iterable; /** * Finds key of an entry passing a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/search) * @param x lists * @param ft test function (v, k, x) * @returns key of entry */ declare function search(x: Lists, ft: TestFunction): K; /** * Find keys of entries passing a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/searchAll) * @param x lists * @param ft test function (v, k, x) * @returns keys of entries */ declare function searchAll(x: Lists, ft: TestFunction): Iterable; /** * Find a key with given value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/searchValue) * @param x lists * @param v search value * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns key of value */ declare function searchValue(x: Lists, v: V, fc?: CompareFunction | null, fm?: MapFunction | null): K; /** * Find keys with given value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/searchValueAll) * @param x lists * @param v search value * @param fc compare function (a, b) * @param fm map function (v, k, x) * @returns keys of value */ declare function searchValueAll(x: Lists, v: V, fc?: CompareFunction | null, fm?: MapFunction | null): Iterable; /** * Call a function for each value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/forEach) * @param x lists * @param fp process function (v, k, x) */ declare function forEach(x: Lists, fc: ProcessFunction): void; /** * Check if any value satisfies a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/some) * @param x lists * @param ft test function (v, k, x) * @returns true if ft(vįµ¢) = true for some [kįµ¢, vįµ¢] āˆˆ x */ declare function some(x: Lists, ft?: TestFunction | null): boolean; /** * Check if all values satisfy a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/every) * @param x entries * @param ft test function (v, k, x) * @returns true if ft(vįµ¢) = true for every [kįµ¢, vįµ¢] āˆˆ x */ declare function every(x: Lists, ft: TestFunction): boolean; /** * Transform values of entries. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/map) * @param x lists * @param fm map function (v, k, x) * @returns [kā‚€, fm(vā‚€)], [kā‚, fm(vā‚)], ... | [kįµ¢, vįµ¢] āˆˆ x */ declare function map(x: Lists, fm: MapFunction): any[][]; /** * Reduce values of entries to a single value. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/reduce) * @param x lists * @param fr reduce function (acc, v, k, x) * @param acc initial value * @returns fr(fr(acc, vā‚€), vā‚)... | fr(acc, vā‚€) = vā‚€ if acc not given */ declare function reduce(x: Lists, fr: ReduceFunction, acc?: V | W): V | W; /** * Keep entries which pass a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/filter) * @param x lists * @param ft test function (v, k, x) * @returns [kā‚€, vā‚€], [kā‚, vā‚], ... | ft(vįµ¢) = true; [kįµ¢, vįµ¢] āˆˆ x */ declare function filter(x: Lists, ft: TestFunction): Lists; /** * Keep entries with given keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/filterAt) * @param x lists * @param ks keys * @returns [kā‚€, vā‚€], [kā‚, vā‚], ... | kįµ¢ āˆˆ ks; [kįµ¢, vįµ¢] āˆˆ x */ declare function filterAt(x: Lists, ks: K[]): Lists; /** * Discard entries which pass a test. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/reject) * @param x lists * @param ft test function (v, k, x) * @returns [kā‚€, vā‚€], [kā‚, vā‚], ... | ft(vįµ¢) = false; [kįµ¢, vįµ¢] āˆˆ x */ declare function reject(x: Lists, ft: TestFunction): Lists; /** * Discard entries with given keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/rejectAt) * @param x lists * @param ks keys * @returns [kā‚€, vā‚€], [kā‚, vā‚], ... | kįµ¢ āˆ‰ ks; [kįµ¢, vįµ¢] āˆˆ x */ declare function rejectAt(x: Lists, ks: K[]): Lists; /** * Flatten nested lists to given depth. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/flat) * @param x nested lists * @param n maximum depth [-1 ā‡’ all] * @param fm map function (v, k, x) * @param ft test function for flatten (v, k, x) [is] * @returns flat lists */ declare function flat(x: Lists, n?: number, fm?: MapFunction | null, ft?: TestFunction | null): Lists; /** * Flatten nested lists, based on map function. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/flatMap) * @param x nested lists * @param fm map function (v, k, x) * @param ft test function for flatten (v, k, x) [is] * @returns flat lists */ declare function flatMap(x: Lists, fm?: MapFunction | null, ft?: TestFunction | null): Lists; /** * Combine matching entries from all lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/zip) * @param xs all lists * @param fm map function (vs, k) * @param ft end function (dones) [some] * @param vd default value * @returns fm([xā‚€[kā‚€], xā‚[kā‚€], ...]), fm([xā‚€[kā‚], xā‚[kā‚], ...]), ... */ declare function zip(xs: Lists[], fm?: MapFunction | null, ft?: EndFunction, vd?: V): Lists; /** * Segregate values by test result. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/partition) * @param x lists * @param ft test function (v, k, x) * @returns [satisfies, doesnt] */ declare function partition(x: Lists, ft: TestFunction): [Lists, Lists]; /** * Segregate entries by similarity. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/partitionAs) * @param x entries * @param fm map function (v, k, x) * @returns Map \{key ā‡’ entries\} */ declare function partitionAs(x: Lists, fm?: MapFunction | null): Map>; /** * Break lists into chunks of given size. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/chunk) * @param x lists * @param n chunk size [1] * @param s chunk step [n] * @returns [x[0..n], x[s..s+n], x[2s..2s+n], ...] */ declare function chunk(x: Lists, n?: number, s?: number): Lists[]; /** * Append entries from all lists, preferring last. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/concat) * @param xs all lists * @returns xā‚€ āˆŖ xā‚ āˆŖ ... | [xā‚€, xā‚, ...] = xs */ declare function concat(...xs: Lists[]): Lists; /** * Join lists together into a string. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/join) * @param x lists * @param sep separator [,] * @param asc associator [=] * @returns "$\{kā‚€\}=$\{vā‚€\},$\{kā‚\}=$\{vā‚\}..." | [kįµ¢, vįµ¢] āˆˆ x */ declare function join(x: Lists, sep?: string, asc?: string): string; /** * Check if lists have no common keys. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/isDisjoint) * @param x lists * @param y another lists * @returns x āˆ© y = Ī¦? */ declare function isDisjoint(x: Lists, y: Lists): boolean; /** * Obtain keys present in any lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/unionKeys) * @param xs all lists * @returns \{kā‚€, kā‚, ...\} | [kįµ¢, vįµ¢] āˆˆ xā‚€ āˆŖ xā‚, ...; [xā‚€, xā‚, ...] = xs */ declare function unionKeys(...xs: Lists[]): Set; /** * Obtain entries present in any lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/union) * @param x lists * @param y another lists * @param fc combine function (a, b) * @returns x āˆŖ y = \{[kįµ¢, vįµ¢] | [kįµ¢, vįµ¢] āˆˆ x or [kįµ¢, vįµ¢] āˆˆ y\} */ declare function union(x: Lists, y: Lists, fc?: CombineFunction | null): Lists; /** * Obtain entries present in both lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/intersection) * @param x lists * @param y another lists * @param fc combine function (a, b) * @returns x āˆ© y = \{[kįµ¢, vįµ¢] | [kįµ¢, vįµ¢] āˆˆ x and [kįµ¢, vįµ¢] āˆˆ y\} */ declare function intersection(x: Lists, y: Lists, fc?: CombineFunction | null): Lists; /** * Obtain entries not present in another lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/difference) * @param x lists * @param y another lists * @returns x = x - y = \{[kįµ¢, vįµ¢] | [kįµ¢, vįµ¢] āˆˆ x, [kįµ¢, *] āˆ‰ y\} */ declare function difference(x: Lists, y: Lists): Lists; /** * Obtain entries not present in both lists. * [šŸ“˜](https://github.com/nodef/extra-lists/wiki/symmetricDifference) * @param x lists * @param y another lists * @returns x = x-y āˆŖ y-x */ declare function symmetricDifference(x: Lists, y: Lists): Lists; export { CombineFunction, CompareFunction, EndFunction, Entries, Lists, MapFunction, ProcessFunction, ReadFunction, ReduceFunction, TestFunction, chunk, compare, concat, count, countAs, difference, drop, entries, randomEntry as entry, every, filter, filterAt, find, findAll, flat, flatMap, forEach, fromEntries, get, getAll, getPath, has, hasEntry, hasPath, hasSubset, hasValue, head, intersection, is, isDisjoint, isEmpty, isEqual, join, randomKey as key, keys, size as length, map, max, maxEntry, min, minEntry, partition, partitionAs, randomEntry, randomKey, randomSubset, randomValue, range, rangeEntries, reduce, reject, rejectAt, remove, search, searchAll, searchValue, searchValueAll, set, size, some, randomSubset as subset, subsets, swap, symmetricDifference, tail, take, union, unionKeys, randomValue as value, values, zip };