Generators
defer
▸ defer<T>(sourceFactory): Seq<T>
Generates a sequence that delays the generation of sources until the actual enumeration is performed.
const result1 = defer(() => [Math.floor(Math.random() * 100)]).pipe(repeat(3)).toArray();
//result1: [72,14,91]
//Math.random() is executed every time.
const result2 = from([Math.floor(Math.random() * 100)]).pipe(repeat(3)).toArray();
//result2: [33,33,33]
//Math.random() has only been executed once.
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
sourceFactory | () => Iterable<T> | Function to generate source. | 
Returns
Seq<T>
A sequence in which the generation of sources is delayed until the actual enumeration begins.
Defined in
deferValue
▸ deferValue<T>(sourceFactory): Seq<T>
Generates a sequence that delays the generation of the source until the actual enumeration is performed. the source in deferValue consists of a single value.
const result1 = deferValue(() => Math.floor(Math.random() * 100)).pipe(repeat(3)).toArray();
//result1: [72,14,91]
//Math.random() is executed every time.
const result2 = from(Math.floor(Math.random() * 100)).pipe(repeat(3)).toArray();
//result2: [33,33,33]
//Math.random() has only been executed once.
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
sourceFactory | () => T | Function to generate a single value. | 
Returns
Seq<T>
A sequence in which the generation of sources is delayed until the actual enumeration begins.
Defined in
from
▸ from<T>(source): Seq<T>
Generates a sequence from an iterable object.
const result = from([1,2,3]).toArray();
//result: [1,2,3]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source | Iterable<T> | Enumerable source. | 
Returns
Seq<T>
Sequence.
Defined in
fromConcat
▸ fromConcat<T>(...args): Seq<T>
Generates a concatenated sequence of multiple iterable objects.
const result = fromConcat([1,2],[3,4,5]).toArray();
//result: [1,2,3,4,5]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
...args | Iterable<T>[] | Enumerable sources. | 
Returns
Seq<T>
Sequence.
Defined in
fromValue
▸ fromValue<T>(element): Seq<T>
Generates a sequence from a single value.
const result = fromValue(1).toArray();
//result: [1]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | 
|---|---|
element | T | 
Returns
Seq<T>
Sequence.
Defined in
range
▸ range(start, count): Seq<number>
Generates a sequential number sequence.
const result = range(5,10).toArray();
//result: [5,6,7,8,9,10,11,12,13,14]
Parameters
| Name | Type | Description | 
|---|---|---|
start | number | Starting number of sequential numbers. | 
count | number | Number of pieces to be generated. | 
Returns
Seq<number>
Sequence.
Defined in
zip
▸ zip<T1, T2, T3, T4, T5>(source1, source2, source3, source4, source5): Seq<[T1, T2, T3, T4, T5]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = zip([1,2,3],['a','b']).toArray();
//result1: [[1,'a'],[2,'b']]
const result2 = zip([1,2,3],['a','b'],[true,false,true]).toArray();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
T4 | Fourth element type. | 
T5 | Fifth element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | Iterable<T1> | First iterable. | 
source2 | Iterable<T2> | Second iterable. | 
source3 | Iterable<T3> | Third iterable. | 
source4 | Iterable<T4> | Fourth iterable. | 
source5 | Iterable<T5> | Fifth iterable. | 
Returns
Seq<[T1, T2, T3, T4, T5]>
[T1,T2,T3,T4,T5] sequence.
Defined in
▸ zip<T1, T2, T3, T4>(source1, source2, source3, source4): Seq<[T1, T2, T3, T4]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = zip([1,2,3],['a','b']).toArray();
//result1: [[1,'a'],[2,'b']]
const result2 = zip([1,2,3],['a','b'],[true,false,true]).toArray();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
T4 | Fourth element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | Iterable<T1> | First iterable. | 
source2 | Iterable<T2> | Second iterable. | 
source3 | Iterable<T3> | Third iterable. | 
source4 | Iterable<T4> | Fourth iterable. | 
Returns
Seq<[T1, T2, T3, T4]>
[T1,T2,T3,T4] sequence.
Defined in
▸ zip<T1, T2, T3>(source1, source2, source3): Seq<[T1, T2, T3]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = zip([1,2,3],['a','b']).toArray();
//result1: [[1,'a'],[2,'b']]
const result2 = zip([1,2,3],['a','b'],[true,false,true]).toArray();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | Iterable<T1> | First iterable. | 
source2 | Iterable<T2> | Second iterable. | 
source3 | Iterable<T3> | Third iterable. | 
Returns
Seq<[T1, T2, T3]>
[T1,T2,T3] sequence.
Defined in
▸ zip<T1, T2>(source1, source2): Seq<[T1, T2]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = zip([1,2,3],['a','b']).toArray();
//result1: [[1,'a'],[2,'b']]
const result2 = zip([1,2,3],['a','b'],[true,false,true]).toArray();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | Iterable<T1> | First iterable. | 
source2 | Iterable<T2> | Second iterable. | 
Returns
Seq<[T1, T2]>
[T1,T2] sequence.
Defined in
▸ zip<T>(...sources): Seq<T[]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = zip([1,2,3],['a','b']).toArray();
//result1: [[1,'a'],[2,'b']]
const result2 = zip([1,2,3],['a','b'],[true,false,true]).toArray();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T | Element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
...sources | Iterable<T>[] | Sequences. | 
Returns
Seq<T[]>
[T] sequence.
Defined in
Async Generators
deferAsAsync
▸ deferAsAsync<T>(sourceFactory): AsyncSeq<T>
Generates a sequence that delays the generation of sources until the actual enumeration is performed.
const result1 = await deferAsAsync(() => [Math.floor(Math.random() * 100)]).pipe(repeatAsync(3)).toArrayAsync();
//result1: [72,14,91]
//Math.random() is executed every time.
const result2 = await fromAsAsync([Math.floor(Math.random() * 100)]).pipe(repeatAsync(3)).toArrayAsync();
//result2: [33,33,33]
//Math.random() has only been executed once.
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
sourceFactory | () => AllIterables<T> | Function to generate source. | 
Returns
AsyncSeq<T>
A sequence in which the generation of sources is delayed until the actual enumeration begins.
Defined in
deferFromPromise
▸ deferFromPromise<T>(sourceFactory): AsyncSeq<T>
Generates a sequence whose values are the result of sequential execution of a single Promise or multiple Promises; Promise execution is delayed until the sequence is enumerated.
const sleepAndRandom = (ms: number) => new Promise(resolve => setTimeout(() => resolve(Math.floor(Math.random() * 100)),ms));
const result1 = await deferFromPromise(async () => await sleepAndRandom(1000)).pipe(repeatAsync(3)).toArrayAsync();
//3 seconds later...result1: [72,14,91]
//sleepAndRandom is executed every time.
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
sourceFactory | () => Promise<T> | AllIterables<Promise<T>> | Function that returns Promise or multiple enumerable Promises. | 
Returns
AsyncSeq<T>
A sequence in which the generation of sources is delayed until the actual enumeration begins.
Defined in
deferValueAsAsync
▸ deferValueAsAsync<T>(sourceFactory): AsyncSeq<T>
Generates a sequence that delays the generation of the source until the actual enumeration is performed. the source in deferValue consists of a single value.
const result = await deferValueAsAsync(() => Math.floor(Math.random() * 100)).pipe(repeatAsync(3)).toArrayAsync();
//result: [72,14,91]
//Math.random() is executed every time.
const result = await fromValueAsAsync(Math.floor(Math.random() * 100)).pipe(repeatAsync(3)).toArrayAsync();
//result: [33,33,33]
//Math.random() has only been executed once.
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
sourceFactory | () => T | Function to generate a single value. | 
Returns
AsyncSeq<T>
A sequence in which the generation of sources is delayed until the actual enumeration begins.
Defined in
fromAsAsync
▸ fromAsAsync<T>(source): AsyncSeq<T>
Generates a sequence from an iterable/async iterable object.
const result = await fromAsAsync([1,2,3]).toArrayAsync();
//result: [1,2,3]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source | AllIterables<T> | Enumerable source. | 
Returns
AsyncSeq<T>
Sequence.
Defined in
fromConcatAsAsync
▸ fromConcatAsAsync<T>(...args): AsyncSeq<T>
Generates a concatenated sequence of multiple iterable/async iterable objects.
const result = await fromConcatAsAsync([1,2],[3,4,5]).toArrayAsync();
//result: [1,2,3,4,5]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
...args | AllIterables<T>[] | Enumerable sources. | 
Returns
AsyncSeq<T>
Sequence.
Defined in
fromValueAsAsync
▸ fromValueAsAsync<T>(element): AsyncSeq<T>
Generates a sequence from a single value.
const result = await fromValueAsAsync(1).toArrayAsync();
//result: [1]
Type parameters
| Name | Description | 
|---|---|
T | Source element type. | 
Parameters
| Name | Type | 
|---|---|
element | T | 
Returns
AsyncSeq<T>
Sequence.
Defined in
rangeAsAsync
▸ rangeAsAsync(start, count): AsyncSeq<number>
Generates a sequential number sequence.
const result = await rangeAsAsync(5,10).toArrayAsync();
//result: [5,6,7,8,9,10,11,12,13,14]
Parameters
| Name | Type | Description | 
|---|---|---|
start | number | Starting number of sequential numbers. | 
count | number | Number of pieces to be generated. | 
Returns
AsyncSeq<number>
Sequence.
Defined in
zipAsAsync
▸ zipAsAsync<T1, T2, T3, T4, T5>(source1, source2, source3, source4, source5): AsyncSeq<[T1, T2, T3, T4, T5]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = await zipAsAsync([1,2,3],['a','b']).toArrayAsync();
//result1: [[1,'a'],[2,'b']]
const result2 = await zipAsAsync([1,2,3],['a','b'],[true,false,true]).toArrayAsync();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
T4 | Fourth element type. | 
T5 | Fifth element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | AllIterables<T1> | First iterable. | 
source2 | AllIterables<T2> | Second iterable. | 
source3 | AllIterables<T3> | Third iterable. | 
source4 | AllIterables<T4> | Fourth iterable. | 
source5 | AllIterables<T5> | Fifth iterable. | 
Returns
AsyncSeq<[T1, T2, T3, T4, T5]>
[T1,T2,T3,T4,T5] sequence.
Defined in
▸ zipAsAsync<T1, T2, T3, T4>(source1, source2, source3, source4): AsyncSeq<[T1, T2, T3, T4]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = await zipAsAsync([1,2,3],['a','b']).toArrayAsync();
//result1: [[1,'a'],[2,'b']]
const result2 = await zipAsAsync([1,2,3],['a','b'],[true,false,true]).toArrayAsync();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
T4 | Fourth element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | AllIterables<T1> | First iterable. | 
source2 | AllIterables<T2> | Second iterable. | 
source3 | AllIterables<T3> | Third iterable. | 
source4 | AllIterables<T4> | Fourth iterable. | 
Returns
AsyncSeq<[T1, T2, T3, T4]>
[T1,T2,T3,T4] sequence.
Defined in
▸ zipAsAsync<T1, T2, T3>(source1, source2, source3): AsyncSeq<[T1, T2, T3]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = await zipAsAsync([1,2,3],['a','b']).toArrayAsync();
//result1: [[1,'a'],[2,'b']]
const result2 = await zipAsAsync([1,2,3],['a','b'],[true,false,true]).toArrayAsync();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
T3 | Third element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | AllIterables<T1> | First iterable. | 
source2 | AllIterables<T2> | Second iterable. | 
source3 | AllIterables<T3> | Third iterable. | 
Returns
AsyncSeq<[T1, T2, T3]>
[T1,T2,T3] sequence.
Defined in
▸ zipAsAsync<T1, T2>(source1, source2): AsyncSeq<[T1, T2]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = await zipAsAsync([1,2,3],['a','b']).toArrayAsync();
//result1: [[1,'a'],[2,'b']]
const result2 = await zipAsAsync([1,2,3],['a','b'],[true,false,true]).toArrayAsync();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T1 | First element type. | 
T2 | Second element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
source1 | AllIterables<T1> | First iterable. | 
source2 | AllIterables<T2> | Second iterable. | 
Returns
AsyncSeq<[T1, T2]>
[T1,T2] sequence.
Defined in
▸ zipAsAsync<T>(...sources): AsyncSeq<T[]>
Generates a sequence of arrays made by concatenating the elements of multiple sequences one at a time.
const result1 = await zipAsAsync([1,2,3],['a','b']).toArrayAsync();
//result1: [[1,'a'],[2,'b']]
const result2 = await zipAsAsync([1,2,3],['a','b'],[true,false,true]).toArrayAsync();
//result2: [[1,'a',true],[2,'b',false]]
Type parameters
| Name | Description | 
|---|---|
T | Element type. | 
Parameters
| Name | Type | Description | 
|---|---|---|
...sources | AllIterables<T>[] | Sequences. | 
Returns
AsyncSeq<T[]>
[T] sequence.