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

@@ -612,7 +612,7 @@ export abstract class BaseSequence<TElement> extends SequenceMarker implements S
return new ReversedSequence<TElement>(this);
}
chunked(size: number): Sequence<TElement[]> {
chunked(size: number): Sequence<Sequence<TElement>> {
if (size <= 0) {
throw new Error("Chunk size must be positive.");
}
@@ -2245,7 +2245,7 @@ class GroupBySequence<TElement, TKey, TResult> extends BaseSequence<GroupedSeque
}
}
class ChunkedSequence<T> extends BaseSequence<T[]> {
class ChunkedSequence<T> extends BaseSequence<Sequence<T>> {
readonly #sequence: Sequence<T>;
readonly #size: number;
@@ -2272,13 +2272,13 @@ class ChunkedSequence<T> extends BaseSequence<T[]> {
chunk.push(obj);
if (chunk.length === this.#size) {
yield chunk;
yield array(chunk);
chunk = [];
}
}
if (chunk.length > 0) {
yield chunk;
yield array(chunk);
}
}
}