make chunked return sequence of sequences
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user