Skip to content

Function: bufferCount()

bufferCount<T>(bufferSize): Operator<T, T[]>

Defined in: operators/bufferCount.ts:11

Buffers a fixed number of values from the source stream and emits them as arrays, tracking pending and phantom values in the PipeContext.

Type Parameters

T

T = any

The type of values in the source stream.

Parameters

bufferSize

number = Infinity

The maximum number of values per buffer (default: Infinity).

Returns

Operator<T, T[]>

An Operator instance for use in a stream's pipe method.

Examples

From bufferCount.spec.ts:12

typescript
let source: Stream<number> = subject;

let subject: ReturnType<typeof createSubject<number>> = createSubject<number>();

const buffered = source.pipe(bufferCount(3));
const results: number[][] = [];
(async () => {
  for await (const value of eachValueFrom(buffered)) {
    results.push(value);
  }
})();
subject.next(1);
subject.next(2);
subject.next(3);
subject.next(4);
subject.next(5);
subject.next(6);
subject.complete();
await new Promise((resolve) => setTimeout(resolve, 100));
expect(results).toEqual([
  [1, 2, 3],
  [4, 5, 6],
]);

Released under the MIT License.