Skip to main content

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

NameDescription
TSource element type.

Parameters

NameTypeDescription
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

defer.ts:23


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
sourceFactory() => TFunction 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

deferValue.ts:23


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
sourceIterable<T>Enumerable source.

Returns

Seq<T>

Sequence.

Defined in

from.ts:16


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
...argsIterable<T>[]Enumerable sources.

Returns

Seq<T>

Sequence.

Defined in

fromConcat.ts:23


fromValue

fromValue<T>(element): Seq<T>

Generates a sequence from a single value.

const result = fromValue(1).toArray();
//result: [1]

Type parameters

NameDescription
TSource element type.

Parameters

NameType
elementT

Returns

Seq<T>

Sequence.

Defined in

fromValue.ts:17


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

NameTypeDescription
startnumberStarting number of sequential numbers.
countnumberNumber of pieces to be generated.

Returns

Seq<number>

Sequence.

Defined in

range.ts:25


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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.
T4Fourth element type.
T5Fifth element type.

Parameters

NameTypeDescription
source1Iterable<T1>First iterable.
source2Iterable<T2>Second iterable.
source3Iterable<T3>Third iterable.
source4Iterable<T4>Fourth iterable.
source5Iterable<T5>Fifth iterable.

Returns

Seq<[T1, T2, T3, T4, T5]>

[T1,T2,T3,T4,T5] sequence.

Defined in

zip.ts:28

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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.
T4Fourth element type.

Parameters

NameTypeDescription
source1Iterable<T1>First iterable.
source2Iterable<T2>Second iterable.
source3Iterable<T3>Third iterable.
source4Iterable<T4>Fourth iterable.

Returns

Seq<[T1, T2, T3, T4]>

[T1,T2,T3,T4] sequence.

Defined in

zip.ts:58

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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.

Parameters

NameTypeDescription
source1Iterable<T1>First iterable.
source2Iterable<T2>Second iterable.
source3Iterable<T3>Third iterable.

Returns

Seq<[T1, T2, T3]>

[T1,T2,T3] sequence.

Defined in

zip.ts:80

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

NameDescription
T1First element type.
T2Second element type.

Parameters

NameTypeDescription
source1Iterable<T1>First iterable.
source2Iterable<T2>Second iterable.

Returns

Seq<[T1, T2]>

[T1,T2] sequence.

Defined in

zip.ts:100

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

NameDescription
TElement type.

Parameters

NameTypeDescription
...sourcesIterable<T>[]Sequences.

Returns

Seq<T[]>

[T] sequence.

Defined in

zip.ts:118

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

NameDescription
TSource element type.

Parameters

NameTypeDescription
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

async/deferAsAsync.ts:23


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
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

async/deferFromPromise.ts:25


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
sourceFactory() => TFunction 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

async/deferValueAsAsync.ts:23


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
sourceAllIterables<T>Enumerable source.

Returns

AsyncSeq<T>

Sequence.

Defined in

async/fromAsAsync.ts:15


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

NameDescription
TSource element type.

Parameters

NameTypeDescription
...argsAllIterables<T>[]Enumerable sources.

Returns

AsyncSeq<T>

Sequence.

Defined in

async/fromConcatAsAsync.ts:22


fromValueAsAsync

fromValueAsAsync<T>(element): AsyncSeq<T>

Generates a sequence from a single value.

const result = await fromValueAsAsync(1).toArrayAsync();
//result: [1]

Type parameters

NameDescription
TSource element type.

Parameters

NameType
elementT

Returns

AsyncSeq<T>

Sequence.

Defined in

async/fromValueAsAsync.ts:16


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

NameTypeDescription
startnumberStarting number of sequential numbers.
countnumberNumber of pieces to be generated.

Returns

AsyncSeq<number>

Sequence.

Defined in

async/rangeAsAsync.ts:25


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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.
T4Fourth element type.
T5Fifth element type.

Parameters

NameTypeDescription
source1AllIterables<T1>First iterable.
source2AllIterables<T2>Second iterable.
source3AllIterables<T3>Third iterable.
source4AllIterables<T4>Fourth iterable.
source5AllIterables<T5>Fifth iterable.

Returns

AsyncSeq<[T1, T2, T3, T4, T5]>

[T1,T2,T3,T4,T5] sequence.

Defined in

async/zipAsAsync.ts:28

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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.
T4Fourth element type.

Parameters

NameTypeDescription
source1AllIterables<T1>First iterable.
source2AllIterables<T2>Second iterable.
source3AllIterables<T3>Third iterable.
source4AllIterables<T4>Fourth iterable.

Returns

AsyncSeq<[T1, T2, T3, T4]>

[T1,T2,T3,T4] sequence.

Defined in

async/zipAsAsync.ts:58

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

NameDescription
T1First element type.
T2Second element type.
T3Third element type.

Parameters

NameTypeDescription
source1AllIterables<T1>First iterable.
source2AllIterables<T2>Second iterable.
source3AllIterables<T3>Third iterable.

Returns

AsyncSeq<[T1, T2, T3]>

[T1,T2,T3] sequence.

Defined in

async/zipAsAsync.ts:85

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

NameDescription
T1First element type.
T2Second element type.

Parameters

NameTypeDescription
source1AllIterables<T1>First iterable.
source2AllIterables<T2>Second iterable.

Returns

AsyncSeq<[T1, T2]>

[T1,T2] sequence.

Defined in

async/zipAsAsync.ts:105

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

NameDescription
TElement type.

Parameters

NameTypeDescription
...sourcesAllIterables<T>[]Sequences.

Returns

AsyncSeq<T[]>

[T] sequence.

Defined in

async/zipAsAsync.ts:123