Skip to main content

Variable: windowConcur()

const windowConcur: {<Size>(options): <Value>(concurIterable) => ConcurIterable<Value[]>; <Size, Value>(options, concurIterable): ConcurIterable<Value[]>; }

Defined in: splices.d.ts:1256

Returns a concur iterable containing a rolling window of the values of concurIterable as arrays of length size.

Call Signature​

<Size>(options): <Value>(concurIterable) => ConcurIterable<Value[]>

Type Parameters​

Size​

Size extends number

Parameters​

options​

WindowOptions<Size>

Returns​

<Value>(concurIterable): ConcurIterable<Value[]>

Type Parameters​

Value​

Value

Parameters​

concurIterable​

ConcurIterable<Value>

Returns​

ConcurIterable<Value[]>

Call Signature​

<Size, Value>(options, concurIterable): ConcurIterable<Value[]>

Type Parameters​

Size​

Size extends number

Value​

Value

Parameters​

options​

WindowOptions<Size>

concurIterable​

ConcurIterable<Value>

Returns​

ConcurIterable<Value[]>

Throws​

if size is not a positive integer.

Example​

console.log(
await pipe(
asConcur([1, 2, 3, 4, 5, 6, `sloth`]),
windowConcur(3),
reduceConcur(toArray()),
),
)
//=> [ [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ], [ 4, 5, 6 ], [ 5, 6, 'sloth' ] ]

console.log(
await pipe(
asConcur([1, 2, 3, 4, 5, 6, `sloth`]),
windowConcur({ size: 3, partialStart: true }),
reduceConcur(toArray()),
),
)
//=> [ [ 1 ], [ 1, 2 ], [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ], [ 4, 5, 6 ], [ 5, 6, 'sloth' ] ]

console.log(
await pipe(
asConcur([1, 2, 3, 4, 5, 6, `sloth`]),
windowConcur({ size: 3, partialStart: true, partialEnd: true }),
reduceConcur(toArray()),
),
)
//=> [ [ 1 ], [ 1, 2 ], [ 1, 2, 3 ], [ 2, 3, 4 ], [ 3, 4, 5 ], [ 4, 5, 6 ], [ 5, 6, 'sloth' ], [ 6, 'sloth' ], [ 'sloth' ] ]

Since​

v2.0.0