diff --git a/src/async/impl.ts b/src/async/impl.ts index 9d7e421..303a0c0 100644 --- a/src/async/impl.ts +++ b/src/async/impl.ts @@ -620,7 +620,7 @@ export abstract class BaseAsyncSequence extends AsyncSequenceMarker im return new ReversedAsyncSequence(this); } - chunked(size: number): AsyncSequence { + chunked(size: number): AsyncSequence> { if (size <= 0) { throw new Error("Chunk size must be positive."); } @@ -967,7 +967,7 @@ export class DelegatedAsyncSequence extends AsyncSequenceMarker implem return this.#sequence.reversed(); } - chunked(size: number): AsyncSequence { + chunked(size: number): AsyncSequence> { return this.#sequence.chunked(size); } @@ -2010,7 +2010,7 @@ class GroupByAsyncSequence extends BaseAsyncSequence extends BaseAsyncSequence { +class ChunkedAsyncSequence extends BaseAsyncSequence> { readonly #sequence: AsyncSequence; readonly #size: number; @@ -2033,13 +2033,13 @@ class ChunkedAsyncSequence extends BaseAsyncSequence { chunk.push(obj); if (chunk.length === this.#size) { - yield chunk; + yield array(chunk); chunk = []; } } if (chunk.length > 0) { - yield chunk; + yield array(chunk); } } } diff --git a/src/async/types.ts b/src/async/types.ts index bfd949d..ed3c1da 100644 --- a/src/async/types.ts +++ b/src/async/types.ts @@ -105,7 +105,7 @@ export interface AsyncSequence extends AsyncIterable { reversed(): AsyncSequence; - chunked(size: number): AsyncSequence; + chunked(size: number): AsyncSequence>; random(options?: AsyncRandomOptions): Promise; diff --git a/src/sync/impl.ts b/src/sync/impl.ts index db76bdd..86b042f 100644 --- a/src/sync/impl.ts +++ b/src/sync/impl.ts @@ -612,7 +612,7 @@ export abstract class BaseSequence extends SequenceMarker implements S return new ReversedSequence(this); } - chunked(size: number): Sequence { + chunked(size: number): Sequence> { if (size <= 0) { throw new Error("Chunk size must be positive."); } @@ -2245,7 +2245,7 @@ class GroupBySequence extends BaseSequence extends BaseSequence { +class ChunkedSequence extends BaseSequence> { readonly #sequence: Sequence; readonly #size: number; @@ -2272,13 +2272,13 @@ class ChunkedSequence extends BaseSequence { chunk.push(obj); if (chunk.length === this.#size) { - yield chunk; + yield array(chunk); chunk = []; } } if (chunk.length > 0) { - yield chunk; + yield array(chunk); } } } diff --git a/src/sync/types.ts b/src/sync/types.ts index 8aa9022..8190762 100644 --- a/src/sync/types.ts +++ b/src/sync/types.ts @@ -107,7 +107,7 @@ export interface Sequence extends Iterable { reversed(): Sequence; - chunked(size: number): Sequence; + chunked(size: number): Sequence>; random(options?: RandomOptions): TElement | undefined;