extra-iterable
- Version 3.3.2
- Published
- 131 kB
- No dependencies
- MIT license
Install
npm i extra-iterable
yarn add extra-iterable
pnpm add extra-iterable
Overview
An iterable is a sequence of values.
Index
Variables
Functions
- accumulate()
- callable()
- cartesianProduct()
- chunk()
- compare()
- concat()
- copy()
- copyWithin()
- count()
- countAs()
- cut()
- cutAt()
- cutAtRight()
- cutRight()
- cycle()
- difference()
- drop()
- dropRight()
- dropWhile()
- dropWhileRight()
- entries()
- every()
- fill()
- filter()
- filterAt()
- find()
- findAll()
- findRight()
- flat()
- flatMap()
- forEach()
- from()
- fromApplication()
- fromApply()
- fromCall()
- fromInvocation()
- fromIterator()
- fromRange()
- get()
- getAll()
- getPath()
- group()
- hasInfix()
- hasPath()
- hasPrefix()
- hasSubsequence()
- hasSuffix()
- hasValue()
- head()
- includes()
- index()
- indexOf()
- indexRange()
- init()
- interleave()
- intermix()
- interpolate()
- intersection()
- intersperse()
- is()
- isDisjoint()
- isEmpty()
- isEqual()
- isIterator()
- isList()
- isMany()
- isOnce()
- isUnique()
- iterator()
- join()
- keys()
- last()
- lastIndexOf()
- left()
- length()
- many()
- map()
- max()
- maxEntry()
- merge()
- middle()
- min()
- minEntry()
- moveWithin()
- partition()
- partitionAs()
- pop()
- push()
- range()
- rangeEntries()
- reduce()
- reject()
- rejectAt()
- remove()
- repeat()
- reverse()
- right()
- rotate()
- scanUntil()
- scanUntilRight()
- scanWhile()
- scanWhileRight()
- search()
- searchAll()
- searchInfix()
- searchInfixAll()
- searchInfixRight()
- searchRight()
- searchSubsequence()
- searchValue()
- searchValueAll()
- searchValueRight()
- set()
- shift()
- size()
- slice()
- some()
- splice()
- split()
- splitAt()
- swap()
- symmetricDifference()
- tail()
- take()
- takeRight()
- takeWhile()
- takeWhileRight()
- toCallable()
- toInvokable()
- toMany()
- toOnce()
- union()
- unique()
- unshift()
- values()
- zip()
Type Aliases
Variables
variable END
const END: number;
End of iterable. [๐](https://github.com/nodef/extra-iterable/wiki/END)
Functions
function accumulate
accumulate: <T, U = T>( x: Iterable<T>, fr: ReduceFunction<T, T | U>, acc?: T | U) => IterableIterator<T | U>;
Produce accumulating values. [๐](https://github.com/nodef/extra-iterable/wiki/accumulate)
Parameter x
an iterable
Parameter fr
reduce function (acc, v, i, x)
Parameter acc
initial value
Returns
fr(acc, vโ), fr(fr(acc, vโ), vโ), ... | fr(acc, vโ) = vโ if acc not given
function callable
callable: <T>(x: Iterable<T>) => () => T;
Generate a function that iterates over values upon invocation. [๐](https://github.com/nodef/extra-iterable/wiki/toInvokable)
Parameter x
an iterable
Returns
fn | fn() โ x[0], fn() โ x[1], ...
function cartesianProduct
cartesianProduct: <T, U = T>( xs: Iterable<T>[], fm?: MapFunction<T[], T[] | U> | null) => IterableIterator<T[] | U>;
List cartesian product of iterables. [๐](https://github.com/nodef/extra-iterable/wiki/cartesianProduct)
Parameter xs
iterables
Parameter fm
map function (vs, i)
Returns
xโ ร xโ ร ... = {[vโ, vโ, ...] | vโ โ xโ, vโ โ xโ, ...] }
function chunk
chunk: <T>(x: Iterable<T>, n?: number, s?: number) => IterableIterator<T[]>;
Break iterable into chunks of given size. [๐](https://github.com/nodef/extra-iterable/wiki/chunk)
Parameter x
an iterable
Parameter n
chunk size [1]
Parameter s
chunk step [n]
Returns
x[0..n], x[s..s+n], x[2s..2s+n], ...
function compare
compare: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Compare two iterables. [๐](https://github.com/nodef/extra-iterable/wiki/compare)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x<y: -1, x=y: 0, x>y: 1
function concat
concat: <T>(...xs: Iterable<T>[]) => IterableIterator<T>;
Append values from iterables. [๐](https://github.com/nodef/extra-iterable/wiki/concat)
Parameter xs
iterables
Returns
...xโ, ...xโ, ... | [xโ, xโ, ...] = xs
function copy
copy: <T>( x: Iterable<T>, y: Iterable<T>, j?: number, i?: number, I?: number) => IterableIterator<T>;
Copy part of iterable to another. [๐](https://github.com/nodef/extra-iterable/wiki/copy)
Parameter x
target iterable
Parameter y
source iterable
Parameter j
write index [0]
Parameter i
read start index [0]
Parameter I
read end index [END]
Returns
x[0..j] โงบ y[i..I] โงบ x[j+I-i..]
function copyWithin
copyWithin: <T>( x: Iterable<T>, j?: number, i?: number, I?: number) => IterableIterator<T>;
Copy part of iterable within. [๐](https://github.com/nodef/extra-iterable/wiki/copyWithin)
Parameter x
an iterable
Parameter j
write index [0]
Parameter i
read start index [0]
Parameter I
read end index [END]
Returns
x[0..j] โงบ x[i..I] โงบ x[j+I-i..]
function count
count: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Count values which satisfy a test. [๐](https://github.com/nodef/extra-iterable/wiki/count)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
ฮฃtแตข | tแตข = 1 if ft(vแตข) else 0; vแตข โ x
function countAs
countAs: <T, U = T>( x: Iterable<T>, fm?: MapFunction<T, T | U> | null) => Map<T | U, number>;
Count occurrences of values. [๐](https://github.com/nodef/extra-iterable/wiki/countAs)
Parameter x
an array
Parameter fm
map function (v, i, x)
Returns
Map {value โ count}
function cut
cut: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T[]>;
Break iterable when test passes. [๐](https://github.com/nodef/extra-iterable/wiki/cut)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[0..j] โงบ x[j..k] โงบ ... | ft(x[i]) = true; i = j, k, ...
function cutAt
cutAt: <T>(x: Iterable<T>, is: Iterable<number>) => IterableIterator<T[]>;
Break iterable at given indices. [๐](https://github.com/nodef/extra-iterable/wiki/cutAt)
Parameter x
an iterable
Parameter is
split indices (sorted)
Returns
x[0..j] โงบ x[j..k] โงบ ... | ft(x[i]) = true; i = j, k, ...; i โ is
function cutAtRight
cutAtRight: <T>(x: Iterable<T>, is: Iterable<number>) => IterableIterator<T[]>;
Break iterable after given indices. [๐](https://github.com/nodef/extra-iterable/wiki/cutAtRight)
Parameter x
an iterable
Parameter is
split indices (sorted)
Returns
x[0..j+1] โงบ x[j+1..k] โงบ ... | ft(x[i]) = true; i = j, k, ...; i โ is
function cutRight
cutRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T[]>;
Break iterable after test passes. [๐](https://github.com/nodef/extra-iterable/wiki/cutRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[0..j+1] โงบ x[j+1..k] โงบ ... | ft(x[i]) = true; i = j, k, ...
function cycle
cycle: <T>(x: Iterable<T>, i?: number, n?: number) => IterableIterator<T>;
Obtain values that cycle through an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/cycle)
Parameter x
an iterable
Parameter i
start index [0]
Parameter n
number of values [-1 โ Inf]
Returns
x[i..] โงบ x โงบ x โงบ ... with upto n values
function difference
difference: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Obtain values not present in another iterable. [๐](https://github.com/nodef/extra-iterable/wiki/difference)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x - y = {v | v โ x, v โ y}
function drop
drop: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Discard first n values only. [๐](https://github.com/nodef/extra-iterable/wiki/drop)
Parameter x
an iterable
Parameter n
number of values [1]
Returns
x[n..]
function dropRight
dropRight: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Discard last n values only. [๐](https://github.com/nodef/extra-iterable/wiki/dropRight)
Parameter x
an iterable
Parameter n
number of values [1]
Returns
x[0..-n]
function dropWhile
dropWhile: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Discard values from left, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/dropWhile)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[T..] | ft(x[i]) = true โ i โ [0, T-1] & ft(x[T]) = false
function dropWhileRight
dropWhileRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Discard values from right, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/dropWhileRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[0..T-1] | ft(x[i]) = true โ i โ [T, |x|-1] & ft(x[T-1]) = false
function entries
entries: <T>(x: Iterable<T>) => IterableIterator<[number, T]>;
List all index-value pairs. [๐](https://github.com/nodef/extra-iterable/wiki/entries)
Parameter x
an iterable
Returns
[0, vโ], [1, vโ], ... | vแตข = x[i]
function every
every: <T>(x: Iterable<T>, ft?: TestFunction<T> | null) => boolean;
Check if all values satisfy a test. [๐](https://github.com/nodef/extra-iterable/wiki/every)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
true if ft(vแตข) = true for all vแตข โ x
function fill
fill: <T>(x: Iterable<T>, v: T, i?: number, I?: number) => IterableIterator<T>;
Fill with given value. [๐](https://github.com/nodef/extra-iterable/wiki/fill)
Parameter x
an iterable
Parameter v
value
Parameter i
start index [0]
Parameter I
end index [END]
Returns
x' | x' = x; x'[i..I] = v
function filter
filter: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Keep the values which pass a test. [๐](https://github.com/nodef/extra-iterable/wiki/filter)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
vโ, vโ, ... | ft(vแตข) = true; vแตข โ x
function filterAt
filterAt: <T>(x: Iterable<T>, is: number[]) => IterableIterator<T>;
Keep the values at given indices. [๐](https://github.com/nodef/extra-iterable/wiki/filterAt)
Parameter x
an iterable
Parameter is
indices (sorted)
Returns
vโ, vโ, ... | vแตข = x[i]; i โ is
function find
find: <T>(x: Iterable<T>, ft: TestFunction<T>) => T;
Find first value passing a test. [๐](https://github.com/nodef/extra-iterable/wiki/find)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
first v | ft(v) = true; v โ x
function findAll
findAll: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Keep the values which pass a test. [๐](https://github.com/nodef/extra-iterable/wiki/filter)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
vโ, vโ, ... | ft(vแตข) = true; vแตข โ x
function findRight
findRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => T;
Find last value passing a test. [๐](https://github.com/nodef/extra-iterable/wiki/findRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
last v | ft(v) = true; v โ x
function flat
flat: ( x: Iterable<any>, n?: number, fm?: MapFunction<any, any> | null, ft?: TestFunction<any> | null) => IterableIterator<any>;
Flatten nested iterable to given depth. [๐](https://github.com/nodef/extra-iterable/wiki/flat)
Parameter x
a nested iterable
Parameter n
maximum depth (-1 โ all)
Parameter fm
map function (v, i, x)
Parameter ft
flatten test (v, i, x) [isList]
Returns
flat iterable
function flatMap
flatMap: ( x: Iterable<any>, fm?: MapFunction<any, any> | null, ft?: TestFunction<any> | null) => IterableIterator<any>;
Flatten nested iterable, based on map function. [๐](https://github.com/nodef/extra-iterable/wiki/flatMap)
Parameter x
a nested iterable
Parameter fm
map function (v, i, x)
Parameter ft
flatten test (v, i, x) [isList]
Returns
flat iterable
function forEach
forEach: <T>(x: Iterable<T>, fp: ProcessFunction<T>) => void;
Call a function for each value. [๐](https://github.com/nodef/extra-iterable/wiki/forEach)
Parameter x
an iterable
Parameter fp
process function (v, i, x)
function from
from: <T>(x: Iterator<T> | Iterable<T>) => Iterable<T>;
Convert an iterable-like to iterable. [๐](https://github.com/nodef/extra-iterable/wiki/from)
Parameter x
an iterator/iterable
Returns
x as iterable
function fromApplication
fromApplication: <T>(fm: MapFunction<T, T>, v: T) => IterableIterator<T>;
Generate iterable from repeated function application. [๐](https://github.com/nodef/extra-iterable/wiki/fromApplication)
Parameter fm
map function (v, i)
Parameter v
start value
Returns
v, fm(v), fm(fm(v)), ...
function fromApply
fromApply: <T>(fm: MapFunction<T, T>, v: T) => IterableIterator<T>;
Generate iterable from repeated function application. [๐](https://github.com/nodef/extra-iterable/wiki/fromApplication)
Parameter fm
map function (v, i)
Parameter v
start value
Returns
v, fm(v), fm(fm(v)), ...
function fromCall
fromCall: <T>(fn: Function, ...args: any[]) => IterableIterator<T>;
Generate iterable from repeated function invocation. [๐](https://github.com/nodef/extra-iterable/wiki/fromInvocation)
Parameter fn
function (impure)
Parameter args
arguments
Returns
fn(...args), fn(...args), ...
function fromInvocation
fromInvocation: <T>(fn: Function, ...args: any[]) => IterableIterator<T>;
Generate iterable from repeated function invocation. [๐](https://github.com/nodef/extra-iterable/wiki/fromInvocation)
Parameter fn
function (impure)
Parameter args
arguments
Returns
fn(...args), fn(...args), ...
function fromIterator
fromIterator: <T>(x: Iterator<T>) => Iterable<T>;
Convert an iterator to iterable. [๐](https://github.com/nodef/extra-iterable/wiki/fromIterator)
Parameter x
an iterator/iterable
Returns
x as iterable
function fromRange
fromRange: (v?: number, V?: number, dv?: number) => IterableIterator<number>;
Generate iterable from given number range. [๐](https://github.com/nodef/extra-iterable/wiki/fromRange)
Parameter v
start number [0]
Parameter V
stop number, excluding [END]
Parameter dv
step size [1]
Returns
v, v+dv, v+2dv, ...
function get
get: <T>(x: Iterable<T>, i: number) => T;
Get value at index. [๐](https://github.com/nodef/extra-iterable/wiki/get)
Parameter x
an iterable
Parameter i
index
Returns
x[i]
function getAll
getAll: <T>(x: Iterable<T>, is: number[]) => IterableIterator<T>;
Get values at indices. [๐](https://github.com/nodef/extra-iterable/wiki/getAll)
Parameter x
an iterable
Parameter is
indices (sorted)
Returns
x[iโ], x[iโ], ... | [iโ, iโ, ...] = is
function getPath
getPath: (x: Iterable<any>, p: number[]) => any;
Get value at path in a nested iterable. [๐](https://github.com/nodef/extra-iterable/wiki/getPath)
Parameter x
a nested iterable
Parameter p
path
Returns
x[iโ][iโ][...] | [iโ, iโ, ...] = p
function group
group: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T[]>;
Keep similar values together and in order. [๐](https://github.com/nodef/extra-iterable/wiki/group)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x[0..k], x[k..l], ... | fc(x[i], x[j]) = 0; i, j = 0..k / k..l / ...
function hasInfix
hasInfix: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if iterable contains an infix. [๐](https://github.com/nodef/extra-iterable/wiki/hasInfix)
Parameter x
an iterable
Parameter y
search infix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x[i..I] = y for some i, I?
function hasPath
hasPath: (x: Iterable<any>, p: number[]) => boolean;
Check if nested iterable has a path. [๐](https://github.com/nodef/extra-iterable/wiki/hasPath)
Parameter x
a nested iterable
Parameter p
path
Returns
x[iโ][iโ][...] exists? | [iโ, iโ, ...] = p
function hasPrefix
hasPrefix: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if iterable starts with a prefix. [๐](https://github.com/nodef/extra-iterable/wiki/hasPrefix)
Parameter x
an iterable
Parameter y
search prefix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x[0..|y|] = y?
function hasSubsequence
hasSubsequence: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if iterable has a subsequence. [๐](https://github.com/nodef/extra-iterable/wiki/hasSubsequence)
Parameter x
an iterable
Parameter y
search subsequence
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x[iโ] โงบ x[iโ] โงบ ... = y, for some iโ, iโ, ...? | iโ < iโ < ...
function hasSuffix
hasSuffix: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if iterable ends with a suffix. [๐](https://github.com/nodef/extra-iterable/wiki/hasSuffix)
Parameter x
an iterable
Parameter y
seach suffix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x[|x|-|y|..] = y?
function hasValue
hasValue: <T, U = T>( x: Iterable<T>, v: T, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if iterable has a value. [๐](https://github.com/nodef/extra-iterable/wiki/hasValue)
Parameter x
an iterable
Parameter v
search value
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
v โ x?
function head
head: <T>(x: Iterable<T>, vd?: T) => T;
Get first value. [๐](https://github.com/nodef/extra-iterable/wiki/head)
Parameter x
an iterable
Parameter vd
default value
Returns
x[0] || vd
function includes
includes: <T>(x: Iterable<T>, v: T, i?: number) => boolean;
Check if iterable has a value. [๐](https://github.com/nodef/extra-iterable/wiki/includes)
Parameter x
an iterable
Parameter v
search value
Parameter i
start index [0]
Returns
v โ x[i..]?
function index
index: <T>(x: Iterable<T>, i: number) => number;
Get zero-based index for element in iterable. [๐](https://github.com/nodef/extra-iterable/wiki/index)
Parameter x
an iterable
Parameter i
index (-ve: from right)
Returns
i' | x[i'] = x[i]; i' โ [0, |x|]
function indexOf
indexOf: <T>(x: Iterable<T>, v: T, i?: number) => number;
Find first index of a value. [๐](https://github.com/nodef/extra-iterable/wiki/indexOf)
Parameter x
an iterable
Parameter v
search value
Parameter i
start index [0]
Returns
index of v in x[i..] if found else -1
function indexRange
indexRange: <T>(x: Iterable<T>, i?: number, I?: number) => [number, number];
Get index range for part of iterable. [๐](https://github.com/nodef/extra-iterable/wiki/indexRange)
Parameter x
an iterable
Parameter i
start index (-ve: from right) [0]
Parameter I
end index (-ve: from right) [END]
Returns
[i', I'] | i' โค I'; i', I' โ [0, |x|]
function init
init: <T>(x: Iterable<T>) => IterableIterator<T>;
Get values except last. [๐](https://github.com/nodef/extra-iterable/wiki/init)
Parameter x
an iterable
Returns
x[0..|x|-1]
function interleave
interleave: <T>(xs: Iterable<T>[]) => IterableIterator<T>;
Place values from iterables alternately. [๐](https://github.com/nodef/extra-iterable/wiki/interleave)
Parameter xs
iterables
Returns
xโ[0], xโ[0], ..., xโ[1], xโ[0], ... | [xโ, xโ, ...] = xs
function intermix
intermix: <T>( x: Iterable<T>, y: Iterable<T>, m?: number, n?: number, s?: number, t?: number) => IterableIterator<T>;
Place values of an iterable between another. [๐](https://github.com/nodef/extra-iterable/wiki/intermix)
Parameter x
an iterable
Parameter y
another iterable
Parameter m
number of values from x [1]
Parameter n
number of values from y [1]
Parameter s
step size for x [m]
Parameter t
step size for y [n]
Returns
x[0..m], y[0..n], x[s..s+m], y[t..t+n], ..., x[k*s..|x|-1] | k โ W
function interpolate
interpolate: <T>(x: Iterable<T>, fc: CombineFunction<T>) => IterableIterator<T>;
Estimate new values between existing ones. [๐](https://github.com/nodef/extra-iterable/wiki/interpolate)
Parameter x
an iterable
Parameter fc
combine function (a, b)
Returns
x[0], fc(x[0], x[1]), x[1], fc(x[1], x[2]), ..., x[|x|-1]
function intersection
intersection: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Obtain values present in both iterables. [๐](https://github.com/nodef/extra-iterable/wiki/intersection)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x โฉ y = {v | v โ x, v โ y}
function intersperse
intersperse: <T>(x: Iterable<T>, v: T) => IterableIterator<T>;
Place a separator between every value. [๐](https://github.com/nodef/extra-iterable/wiki/intersperse)
Parameter x
an iterable
Parameter v
separator
Returns
x[0], v, x[1], v, ..., x[|x|-1]
function is
is: (v: any) => v is Iterable<any>;
Check if value is an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/is)
Parameter v
a value
Returns
v is iterable?
function isDisjoint
isDisjoint: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Checks if arrays have no value in common. [๐](https://github.com/nodef/extra-iterable/wiki/isDisjoint)
Parameter x
an array
Parameter y
another array
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x โฉ y = ฮฆ?
function isEmpty
isEmpty: <T>(x: Iterable<T>) => boolean;
Check if an iterable is empty. [๐](https://github.com/nodef/extra-iterable/wiki/isEmpty)
Parameter x
an iterable
Returns
|x| = 0?
function isEqual
isEqual: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if two iterables are equal. [๐](https://github.com/nodef/extra-iterable/wiki/isEqual)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x=y?
function isIterator
isIterator: (v: any) => v is Iterator<any, any, undefined>;
Check if value is an iterator. [๐](https://github.com/nodef/extra-iterable/wiki/isIterator)
Parameter v
a value
Returns
v implements {next(), return?(), throw?()}?
function isList
isList: <T>(v: Iterable<T>) => boolean;
Check if value is a list (iterable & !string). [๐](https://github.com/nodef/extra-iterable/wiki/isList)
Parameter v
a value
Returns
v is list?
function isMany
isMany: <T>(x: Iterable<T>) => x is Iterable<T>;
Check if an iterable can be iterated many times. [๐](https://github.com/nodef/extra-iterable/wiki/isMany)
Parameter x
an iterable
Returns
x[<iterator>] โ x?
function isOnce
isOnce: <T>(x: Iterable<T>) => x is IterableIterator<T>;
Check if an iterable can iterated only once. [๐](https://github.com/nodef/extra-iterable/wiki/isOnce)
Parameter x
an iterable
Returns
x[<iterator>] = x?
function isUnique
isUnique: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => boolean;
Check if there are no duplicate values. [๐](https://github.com/nodef/extra-iterable/wiki/isUnique)
Parameter x
an array
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
โ vแตข, vโฑผ โ x, is vแตข โ vโฑผ?
function iterator
iterator: <T>(x: Iterable<T>) => Iterator<T>;
Get iterator of an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/iterator)
Parameter x
an iterable
Returns
x[<iterator>]()
function join
join: <T>(x: Iterable<T>, sep?: string) => string;
Join values together into a string. [๐](https://github.com/nodef/extra-iterable/wiki/join)
Parameter x
an iterable
Parameter sep
separator [,]
Returns
"${vโ}${sep}${vโ}..." | vแตข โ x
function keys
keys: <T>(x: Iterable<T>) => IterableIterator<number>;
List all indices. [๐](https://github.com/nodef/extra-iterable/wiki/keys)
Parameter x
an iterable
Returns
0, 1, ..., |x|-1
function last
last: <T>(x: Iterable<T>, vd?: T) => T;
Get last value. [๐](https://github.com/nodef/extra-iterable/wiki/last)
Parameter x
an iterable
Parameter vd
default value
Returns
x[|x|-1]
function lastIndexOf
lastIndexOf: <T>(x: Iterable<T>, v: T, i?: number) => number;
Find last index of a value. [๐](https://github.com/nodef/extra-iterable/wiki/lastIndexOf)
Parameter x
an iterable
Parameter v
search value
Parameter i
start index [END-1]
Returns
last index of v in x[0..i] if found else -1
function left
left: <T>(x: Iterable<T>, n: number) => IterableIterator<T>;
Get values from left. [๐](https://github.com/nodef/extra-iterable/wiki/left)
Parameter x
an iterable
Parameter n
number of values
Returns
x[0..n]
function length
length: <T>(x: Iterable<T>, i?: number, I?: number) => number;
Find the length of an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/length)
Parameter x
an iterable
Parameter i
start index [0]
Parameter I
end index [END]
Returns
|x[i..I]|
function many
many: <T>(x: Iterable<T>, now?: boolean) => Iterable<T>;
Convert a once-like iterable to many. [๐](https://github.com/nodef/extra-iterable/wiki/toMany)
Parameter x
an iterable
Parameter now
consume immediately? [false]
Returns
x' | x' = x; x' can be iterated multiple times
function map
map: <T, U>(x: Iterable<T>, fm: MapFunction<T, U>) => IterableIterator<U>;
Transform values of an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/map)
Parameter x
an iterable
Parameter fm
map function (v, i, x)
Returns
fm(vโ), fm(vโ), ... | vแตข โ x
function max
max: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => T;
Find largest value. [๐](https://github.com/nodef/extra-iterable/wiki/max)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
v | v โฅ vแตข; vแตข โ x
function maxEntry
maxEntry: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => [number, T];
Find largest entry. [๐](https://github.com/nodef/extra-iterable/wiki/maxEntry)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
[max_index, max_value]
function merge
merge: <T, U = T>( xs: Iterable<T>[], fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Merge values from sorted iterables. [๐](https://github.com/nodef/extra-iterable/wiki/merge)
Parameter xs
iterables
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
sort(concat(...xs))
function middle
middle: <T>(x: Iterable<T>, i: number, n?: number) => IterableIterator<T>;
Get values from middle. [๐](https://github.com/nodef/extra-iterable/wiki/middle)
Parameter x
an iterable
Parameter i
start index
Parameter n
number of values [1]
Returns
x[i..i+n]
function min
min: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => T;
Find smallest value. [๐](https://github.com/nodef/extra-iterable/wiki/min)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
v | v โค vแตข; vแตข โ x
function minEntry
minEntry: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => [number, T];
Find smallest entry. [๐](https://github.com/nodef/extra-iterable/wiki/minEntry)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
[min_index, min_value]
function moveWithin
moveWithin: <T>( x: Iterable<T>, j?: number, i?: number, I?: number) => IterableIterator<T>;
Move part of iterable within. [๐](https://github.com/nodef/extra-iterable/wiki/moveWithin)
Parameter x
an iterable
Parameter j
write index [0]
Parameter i
read start index [0]
Parameter I
read end index [END]
Returns
x[0..j] โงบ x[i..I] โงบ x[j..i] โงบ x[I..]
function partition
partition: <T>(x: Iterable<T>, ft: TestFunction<T>) => [T[], T[]];
Segregate values by test result. [๐](https://github.com/nodef/extra-iterable/wiki/partition)
Parameter x
an array
Parameter ft
test function (v, i, x)
Returns
[satisfies, doesnt]
function partitionAs
partitionAs: <T, U = T>( x: Iterable<T>, fm?: MapFunction<T, T | U> | null) => Map<T | U, T[]>;
Segregate values by similarity. [๐](https://github.com/nodef/extra-iterable/wiki/partitionAs)
Parameter x
an array
Parameter fm
map function (v, i, x)
Returns
Map {key โ values}
function pop
pop: <T>(x: Iterable<T>) => IterableIterator<T>;
Get values except last. [๐](https://github.com/nodef/extra-iterable/wiki/init)
Parameter x
an iterable
Returns
x[0..|x|-1]
function push
push: <T>(x: Iterable<T>, ...vs: T[]) => IterableIterator<T>;
Add values to the end. [๐](https://github.com/nodef/extra-iterable/wiki/push)
Parameter x
an iterable
Parameter vs
values to add
Returns
...x, ...vs
function range
range: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => [T, T];
Find smallest and largest values. [๐](https://github.com/nodef/extra-iterable/wiki/range)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
[min_value, max_value]
function rangeEntries
rangeEntries: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => [[number, T], [number, T]];
Find smallest and largest entries. [๐](https://github.com/nodef/extra-iterable/wiki/rangeEntries)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
[min_entry, max_entry]
function reduce
reduce: <T, U>(x: Iterable<T>, fr: ReduceFunction<T, U>, acc?: U) => U;
Reduce values of iterable to a single value. [๐](https://github.com/nodef/extra-iterable/wiki/reduce)
Parameter x
an iterable
Parameter fr
reduce function (acc, v, i, x)
Parameter acc
initial value
Returns
fr(fr(acc, vโ), vโ)... | fr(acc, vโ) = vโ if acc not given
function reject
reject: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Discard the values which pass a test. [๐](https://github.com/nodef/extra-iterable/wiki/reject)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
vโ, vโ, ... | ft(vแตข) = false; vแตข โ x
function rejectAt
rejectAt: <T>(x: Iterable<T>, is: number[]) => IterableIterator<T>;
Discard the values at given indices. [๐](https://github.com/nodef/extra-iterable/wiki/rejectAt)
Parameter x
an iterable
Parameter is
indices (sorted)
Returns
vโ, vโ, ... | vแตข = x[i]; i โ is
function remove
remove: <T>(x: Iterable<T>, i: number) => IterableIterator<T>;
Remove value at index. [๐](https://github.com/nodef/extra-iterable/wiki/remove)
Parameter x
an iterable
Parameter i
index
Returns
x[0..i] โงบ x[i+1..]
function repeat
repeat: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Repeat an iterable given times. [๐](https://github.com/nodef/extra-iterable/wiki/repeat)
Parameter x
an iterable
Parameter n
times [-1 โ Inf]
Returns
...x, ...x, ...(n times)
function reverse
reverse: <T>(x: Iterable<T>) => IterableIterator<T>;
Reverse the values. [๐](https://github.com/nodef/extra-iterable/wiki/reverse)
Parameter x
an iterable
Returns
x[|x|-1], x[|x|-2], ..., x[1], x[0]
function right
right: <T>(x: Iterable<T>, n: number) => IterableIterator<T>;
Get values from right. [๐](https://github.com/nodef/extra-iterable/wiki/right)
Parameter x
an iterable
Parameter n
number of values
Returns
x[-n..]
function rotate
rotate: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Rotate values in iterable. [๐](https://github.com/nodef/extra-iterable/wiki/rotate)
Parameter x
an iterable
Parameter n
rotate amount (+ve: left, -ve: right) [0]
Returns
x[n..] โงบ x[0..n]
function scanUntil
scanUntil: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Scan from left, until a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/scanUntil)
Parameter x
an array
Parameter ft
test function (v, i, x)
Returns
first index where test passes
function scanUntilRight
scanUntilRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Scan from right, until a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/scanUntilRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
first index where test fails till end
function scanWhile
scanWhile: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Scan from left, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/scanWhile)
Parameter x
an array
Parameter ft
test function (v, i, x)
Returns
first index where test fails
function scanWhileRight
scanWhileRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Scan from right, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/scanWhileRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
first index where test passes till end
function search
search: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Find index of first value passing a test. [๐](https://github.com/nodef/extra-iterable/wiki/search)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
first index of value, -1 if not found
function searchAll
searchAll: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<number>;
Find indices of values passing a test. [๐](https://github.com/nodef/extra-iterable/wiki/searchAll)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
indices of value
function searchInfix
searchInfix: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Find first index of an infix. [๐](https://github.com/nodef/extra-iterable/wiki/searchInfix)
Parameter x
an iterable
Parameter y
search infix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
first i | x[i..i+|y|] = y else -1
function searchInfixAll
searchInfixAll: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<number>;
Find indices of an infix. [๐](https://github.com/nodef/extra-iterable/wiki/searchInfixAll)
Parameter x
an iterable
Parameter y
search infix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
iโ, iโ, ... | x[j..j+|y|] = y; j โ [iโ, iโ, ...]
function searchInfixRight
searchInfixRight: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Find last index of an infix. [๐](https://github.com/nodef/extra-iterable/wiki/searchInfixRight)
Parameter x
an iterable
Parameter y
search infix
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
first i | x[i..i+|y|] = y else -1
function searchRight
searchRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => number;
Find index of last value passing a test. [๐](https://github.com/nodef/extra-iterable/wiki/searchRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
last index of value, -1 if not found
function searchSubsequence
searchSubsequence: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Find first index of a subsequence. [๐](https://github.com/nodef/extra-iterable/wiki/searchSubsequence)
Parameter x
an iterable
Parameter y
search subsequence
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
start index of subsequence, -1 if not found
function searchValue
searchValue: <T, U = T>( x: Iterable<T>, v: T, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Find first index of a value. [๐](https://github.com/nodef/extra-iterable/wiki/searchValue)
Parameter x
an iterable
Parameter v
search value
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
first index of value, -1 if not found
function searchValueAll
searchValueAll: <T, U = T>( x: Iterable<T>, v: T, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<number>;
Find indices of a value. [๐](https://github.com/nodef/extra-iterable/wiki/searchValueAll)
Parameter x
an iterable
Parameter v
search value
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
indices of value
function searchValueRight
searchValueRight: <T, U = T>( x: Iterable<T>, v: T, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => number;
Find last index of a value. [๐](https://github.com/nodef/extra-iterable/wiki/searchValueRight)
Parameter x
an iterable
Parameter v
search value
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
last index of value, -1 if not found
function set
set: <T>(x: Iterable<T>, i: number, v: T) => IterableIterator<T>;
Set value at index. [๐](https://github.com/nodef/extra-iterable/wiki/set)
Parameter x
an iterable
Parameter i
index
Parameter v
value
Returns
x' | x' = x; x'[i] = v
function shift
shift: <T>(x: Iterable<T>) => IterableIterator<T>;
Get values except first. [๐](https://github.com/nodef/extra-iterable/wiki/tail)
Parameter x
an iterable
Returns
x[1..|x|]
function size
size: <T>(x: Iterable<T>, i?: number, I?: number) => number;
Find the length of an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/length)
Parameter x
an iterable
Parameter i
start index [0]
Parameter I
end index [END]
Returns
|x[i..I]|
function slice
slice: <T>(x: Iterable<T>, i?: number, I?: number) => IterableIterator<T>;
Get part of an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/slice)
Parameter x
an iterable
Parameter i
start index (-ve: from right) [0]
Parameter I
end index (-ve: from right) [END]
Returns
x[i..I]
function some
some: <T>(x: Iterable<T>, ft?: TestFunction<T> | null) => boolean;
Check if any value satisfies a test. [๐](https://github.com/nodef/extra-iterable/wiki/some)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
true if ft(vแตข) = true for some vแตข โ x
function splice
splice: <T>( x: Iterable<T>, i?: number, n?: number, ...vs: T[]) => IterableIterator<T>;
Remove or replaces existing values. [๐](https://github.com/nodef/extra-iterable/wiki/splice)
Parameter x
an iterable
Parameter i
remove index [0]
Parameter n
number of values to remove [rest]
Parameter vs
values to insert
Returns
x[0..i] โงบ vs โงบ x[i+n..]
function split
split: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T[]>;
Break iterable considering test as separator. [๐](https://github.com/nodef/extra-iterable/wiki/split)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[j..k] โงบ x[l..m] โงบ ... | ft(x[i]) = true; i = 0..j / k..l / ...
function splitAt
splitAt: <T>(x: Iterable<T>, is: number[]) => IterableIterator<T[]>;
Break iterable considering indices as separator. [๐](https://github.com/nodef/extra-iterable/wiki/splitAt)
Parameter x
an iterable
Parameter is
indices (sorted)
Returns
x[j..k] โงบ x[l..m] โงบ ... | ft(x[i]) = true; i = 0..j / k..l / ...; i โ is
function swap
swap: <T>(x: Iterable<T>, i: number, j: number) => IterableIterator<T>;
Exchange two values. [๐](https://github.com/nodef/extra-iterable/wiki/swap)
Parameter x
an iterable
Parameter i
an index
Parameter j
another index
Returns
x' | x' = x; x'[i] = x[j]; x'[j] = x[i]
function symmetricDifference
symmetricDifference: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Obtain values not present in both iterables. [๐](https://github.com/nodef/extra-iterable/wiki/symmetricDifference)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x-y โช y-x
function tail
tail: <T>(x: Iterable<T>) => IterableIterator<T>;
Get values except first. [๐](https://github.com/nodef/extra-iterable/wiki/tail)
Parameter x
an iterable
Returns
x[1..|x|]
function take
take: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Keep first n values only. [๐](https://github.com/nodef/extra-iterable/wiki/take)
Parameter x
an iterable
Parameter n
number of values [1]
Returns
x[0..n]
function takeRight
takeRight: <T>(x: Iterable<T>, n?: number) => IterableIterator<T>;
Keep last n values only. [๐](https://github.com/nodef/extra-iterable/wiki/takeRight)
Parameter x
an iterable
Parameter n
number of values [1]
Returns
x[-n..]
function takeWhile
takeWhile: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Keep values from left, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/takeWhile)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[0..T-1] | ft(x[i]) = true โ i โ [0, T-1] & ft(x[T]) = false
function takeWhileRight
takeWhileRight: <T>(x: Iterable<T>, ft: TestFunction<T>) => IterableIterator<T>;
Keep values from right, while a test passes. [๐](https://github.com/nodef/extra-iterable/wiki/takeWhileRight)
Parameter x
an iterable
Parameter ft
test function (v, i, x)
Returns
x[T..] | ft(x[i]) = true โ i โ [T, |x|-1] & ft(x[T-1]) = false
function toCallable
toCallable: <T>(x: Iterable<T>) => () => T;
Generate a function that iterates over values upon invocation. [๐](https://github.com/nodef/extra-iterable/wiki/toInvokable)
Parameter x
an iterable
Returns
fn | fn() โ x[0], fn() โ x[1], ...
function toInvokable
toInvokable: <T>(x: Iterable<T>) => () => T;
Generate a function that iterates over values upon invocation. [๐](https://github.com/nodef/extra-iterable/wiki/toInvokable)
Parameter x
an iterable
Returns
fn | fn() โ x[0], fn() โ x[1], ...
function toMany
toMany: <T>(x: Iterable<T>, now?: boolean) => Iterable<T>;
Convert a once-like iterable to many. [๐](https://github.com/nodef/extra-iterable/wiki/toMany)
Parameter x
an iterable
Parameter now
consume immediately? [false]
Returns
x' | x' = x; x' can be iterated multiple times
function toOnce
toOnce: <T>(x: Iterable<T>) => IterableIterator<T>;
List all values. [๐](https://github.com/nodef/extra-iterable/wiki/values)
Parameter x
an iterable
Returns
vโ, vโ, ... | vแตข = x[i]
function union
union: <T, U = T>( x: Iterable<T>, y: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Obtain values present in any iterable. [๐](https://github.com/nodef/extra-iterable/wiki/union)
Parameter x
an iterable
Parameter y
another iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
x โช y = {v | v โ x or v โ y}
function unique
unique: <T, U = T>( x: Iterable<T>, fc?: CompareFunction<T | U> | null, fm?: MapFunction<T, T | U> | null) => IterableIterator<T>;
Remove duplicate values. [๐](https://github.com/nodef/extra-iterable/wiki/unique)
Parameter x
an iterable
Parameter fc
compare function (a, b)
Parameter fm
map function (v, i, x)
Returns
vโ, vโ, ... | vแตข โ x; vแตข โ vโฑผ โ i, j
function unshift
unshift: <T>(x: Iterable<T>, ...vs: T[]) => IterableIterator<T>;
Add values to the start. [๐](https://github.com/nodef/extra-iterable/wiki/unshift)
Parameter x
an iterable
Parameter vs
values to add
Returns
...vs, ...x
function values
values: <T>(x: Iterable<T>) => IterableIterator<T>;
List all values. [๐](https://github.com/nodef/extra-iterable/wiki/values)
Parameter x
an iterable
Returns
vโ, vโ, ... | vแตข = x[i]
function zip
zip: <T, U = T[]>( xs: Iterable<T>[], fm?: MapFunction<T[], T[] | U> | null, fe?: EndFunction | null, vd?: T) => IterableIterator<T[] | U>;
Combine values from iterables. [๐](https://github.com/nodef/extra-iterable/wiki/zip)
Parameter xs
iterables
Parameter fm
map function (vs, i, xs)
Parameter fe
end function (dones) [some]
Parameter vd
default value
Returns
fm([xโ[0], xโ[0], ...]), fm([xโ[1], xโ[1], ...]), ...
Type Aliases
type CombineFunction
type CombineFunction<T> = (a: T, b: T) => T;
Handle combining of two values. [๐](https://github.com/nodef/extra-iterable/wiki/CombineFunction)
Parameter a
a value
Parameter b
another value
Returns
combined value
type CompareFunction
type CompareFunction<T> = (a: T, b: T) => number;
Handle comparison of two values. [๐](https://github.com/nodef/extra-iterable/wiki/CompareFunction)
Parameter a
a value
Parameter b
another value
Returns
a<b: -ve, a=b: 0, a>b: +ve
type EndFunction
type EndFunction = (dones: boolean[]) => boolean;
Handle ending of a combined iterable. [๐](https://github.com/nodef/extra-iterable/wiki/EndFunction)
Parameter dones
iแตสฐ iterable done?
Returns
combined iterable done?
type MapFunction
type MapFunction<T, U> = (v: T, i: number, x: Iterable<T>) => U;
Handle transformation of a value to another. [๐](https://github.com/nodef/extra-iterable/wiki/MapFunction)
Parameter v
value in iterable
Parameter i
index of value in iterable
Parameter x
iterable containing the value
Returns
transformed value
type ProcessFunction
type ProcessFunction<T> = (v: T, i: number, x: Iterable<T>) => void;
Handle processing of values in an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/ProcessFunction)
Parameter v
value in iterable
Parameter i
index of value in iterable
Parameter x
iterable containing the value
type ReadFunction
type ReadFunction<T> = () => T;
Handle reading of a single value. [๐](https://github.com/nodef/extra-iterable/wiki/ReadFunction)
Returns
value
type ReduceFunction
type ReduceFunction<T, U> = (acc: U, v: T, i: number, x: Iterable<T>) => U;
Handle reduction of multiple values into a single value. [๐](https://github.com/nodef/extra-iterable/wiki/ReduceFunction)
Parameter acc
accumulator (temporary result)
Parameter v
value in iterable
Parameter i
index of value in iterable
Parameter x
iterable containing the value
Returns
reduced value
type TestFunction
type TestFunction<T> = (v: T, i: number, x: Iterable<T>) => boolean;
Handle selection of values in an iterable. [๐](https://github.com/nodef/extra-iterable/wiki/TestFunction)
Parameter v
value in iterable
Parameter i
index of value in iterable
Parameter x
iterable containing the value
Returns
selected?
Package Files (1)
Dependencies (0)
No dependencies.
Dev Dependencies (12)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/extra-iterable
.
- Markdown[](https://www.jsdocs.io/package/extra-iterable)
- HTML<a href="https://www.jsdocs.io/package/extra-iterable"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 5452 ms. - Missing or incorrect documentation? Open an issue for this package.