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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ export interface AsyncSequence<TElement> extends AsyncIterable<TElement> {
|
||||
|
||||
reversed(): AsyncSequence<TElement>;
|
||||
|
||||
chunked(size: number): AsyncSequence<TElement[]>;
|
||||
chunked(size: number): AsyncSequence<AsyncSequence<TElement>>;
|
||||
|
||||
random(options?: AsyncRandomOptions<TElement>): Promise<TElement | undefined>;
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ export interface Sequence<TElement> extends Iterable<TElement> {
|
||||
|
||||
reversed(): Sequence<TElement>;
|
||||
|
||||
chunked(size: number): Sequence<TElement[]>;
|
||||
chunked(size: number): Sequence<Sequence<TElement>>;
|
||||
|
||||
random(options?: RandomOptions<TElement>): TElement | undefined;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user