1
0

make chunked return sequence of sequences

This commit is contained in:
2024-05-18 13:39:26 +02:00
parent 719cb660e6
commit 8c6693ad98
4 changed files with 11 additions and 11 deletions

View File

@@ -620,7 +620,7 @@ export abstract class BaseAsyncSequence<TElement> extends AsyncSequenceMarker im
return new ReversedAsyncSequence<TElement>(this);
}
chunked(size: number): AsyncSequence<TElement[]> {
chunked(size: number): AsyncSequence<AsyncSequence<TElement>> {
if (size <= 0) {
throw new Error("Chunk size must be positive.");
}
@@ -967,7 +967,7 @@ export class DelegatedAsyncSequence<TElement> extends AsyncSequenceMarker implem
return this.#sequence.reversed();
}
chunked(size: number): AsyncSequence<TElement[]> {
chunked(size: number): AsyncSequence<AsyncSequence<TElement>> {
return this.#sequence.chunked(size);
}
@@ -2010,7 +2010,7 @@ class GroupByAsyncSequence<TElement, TKey, TResult> extends BaseAsyncSequence<Gr
}
}
class ChunkedAsyncSequence<T> extends BaseAsyncSequence<T[]> {
class ChunkedAsyncSequence<T> extends BaseAsyncSequence<AsyncSequence<T>> {
readonly #sequence: AsyncSequence<T>;
readonly #size: number;
@@ -2033,13 +2033,13 @@ class ChunkedAsyncSequence<T> extends BaseAsyncSequence<T[]> {
chunk.push(obj);
if (chunk.length === this.#size) {
yield chunk;
yield array(chunk);
chunk = [];
}
}
if (chunk.length > 0) {
yield chunk;
yield array(chunk);
}
}
}