1
0

correctly initialize and expose empty sequences

This commit is contained in:
2024-05-17 22:46:01 +02:00
parent e68b80c8eb
commit 719cb660e6
4 changed files with 9 additions and 9 deletions

View File

@@ -1072,7 +1072,7 @@ abstract class BaseOrderedAsyncSequence<TElement> extends BaseAsyncSequence<TEle
}
}
export class EmptyAsyncSequence<T> extends BaseAsyncSequence<T> {
class EmptyAsyncSequence<T> extends BaseAsyncSequence<T> {
override async nonEnumeratedCount() {
return 0;
}
@@ -1080,6 +1080,8 @@ export class EmptyAsyncSequence<T> extends BaseAsyncSequence<T> {
override async *iterator() { }
}
export const EMPTY = new EmptyAsyncSequence<any>();
export class RangeAsyncSequence extends BaseAsyncSequence<number> {
readonly #min: number;
readonly #max: number;

View File

@@ -1,8 +1,8 @@
import { wrap as wrapSync } from "../sync/index.js";
import { Sequence } from "../sync/types.js";
import { MaybeAsyncGenerator, MaybeAsyncIterable, MaybeAsyncSequence, MaybePromiseLike } from "../types.js";
import { MaybeAsyncGenerator, MaybeAsyncIterable, MaybePromiseLike } from "../types.js";
import { isAsyncIterable } from "../utils.js";
import { WrappedSequence, WrappedAsyncIterable, EmptyAsyncSequence, WrappedObjectAsync, WrappedArrayAsync, WrappedArrayLikeAsync, FunctionAsyncSequence, GeneratorAsyncSequence, RangeAsyncSequence, RepeatForeverAsyncSequence, RepeatAsyncSequence, AsyncSequenceMarker } from "./impl.js";
import { WrappedSequence, WrappedAsyncIterable, WrappedObjectAsync, WrappedArrayAsync, WrappedArrayLikeAsync, FunctionAsyncSequence, GeneratorAsyncSequence, RangeAsyncSequence, RepeatForeverAsyncSequence, RepeatAsyncSequence, AsyncSequenceMarker, EMPTY } from "./impl.js";
import { AsyncSequence } from "./types.js";
export function asAsync<T>(sequence: Sequence<MaybePromiseLike<T>>): AsyncSequence<T> {
@@ -25,8 +25,6 @@ export function sequence<T>(iterable: AsyncIterable<MaybePromiseLike<T>>): Async
return new WrappedAsyncIterable(iterable);
}
export const EMPTY = new EmptyAsyncSequence<any>();
export function empty<T>(): AsyncSequence<T> {
return EMPTY;
}