1
0

rename lib to sequence-js

This commit is contained in:
2024-05-11 16:57:34 +02:00
parent 486abefba6
commit 05390027f8
9 changed files with 929 additions and 929 deletions

View File

@@ -1,16 +1,16 @@
import { wrap as wrapSync } from "../sync/index.js";
import { Enumerable } from "../sync/types.js";
import { Sequence } from "../sync/types.js";
import { MaybeAsyncIterable } from "../types.js";
import { isAsyncIterable } from "../utils.js";
import { WrappedEnumerable, WrappedAsyncIterable, EmptyAsyncEnumerable, WrappedObjectAsync, WrappedArrayAsync, WrappedArrayLikeAsync, FunctionAsyncEnumerable, GeneratorAsyncEnumerable, RangeAsyncEnumerable, RepeatForeverAsyncEnumerable, RepeatAsyncEnumerable, AsyncEnumerableMarker } from "./impl.js";
import { AsyncEnumerable } from "./types.js";
import { WrappedSequence, WrappedAsyncIterable, EmptyAsyncSequence, WrappedObjectAsync, WrappedArrayAsync, WrappedArrayLikeAsync, FunctionAsyncSequence, GeneratorAsyncSequence, RangeAsyncSequence, RepeatForeverAsyncSequence, RepeatAsyncSequence, AsyncSequenceMarker } from "./impl.js";
import { AsyncSequence } from "./types.js";
export function asAsync<T>(enumerable: Enumerable<T>): AsyncEnumerable<T> {
return new WrappedEnumerable(enumerable);
export function asAsync<T>(sequence: Sequence<T>): AsyncSequence<T> {
return new WrappedSequence(sequence);
}
export function wrap<T>(iterable: MaybeAsyncIterable<T>): AsyncEnumerable<T> {
if (isAsyncEnumerable<T>(iterable)) {
export function wrap<T>(iterable: MaybeAsyncIterable<T>): AsyncSequence<T> {
if (isAsyncSequence<T>(iterable)) {
return iterable;
}
@@ -21,27 +21,27 @@ export function wrap<T>(iterable: MaybeAsyncIterable<T>): AsyncEnumerable<T> {
return asAsync(wrapSync(iterable));
}
export function sequence<T>(iterable: AsyncIterable<T>): AsyncEnumerable<T> {
export function sequence<T>(iterable: AsyncIterable<T>): AsyncSequence<T> {
return new WrappedAsyncIterable(iterable);
}
export function empty<T>(): AsyncEnumerable<T> {
return EmptyAsyncEnumerable.INSTANCE;
export function empty<T>(): AsyncSequence<T> {
return EmptyAsyncSequence.INSTANCE;
}
export function single<T>(obj: T | PromiseLike<T>): AsyncEnumerable<T> {
export function single<T>(obj: T | PromiseLike<T>): AsyncSequence<T> {
return new WrappedObjectAsync(obj);
}
export function array<T>(array: (T | PromiseLike<T>)[]): AsyncEnumerable<T> {
export function array<T>(array: (T | PromiseLike<T>)[]): AsyncSequence<T> {
return new WrappedArrayAsync(array);
}
export function arrayLike<T>(arrayLike: ArrayLike<(T | PromiseLike<T>)>): AsyncEnumerable<T> {
export function arrayLike<T>(arrayLike: ArrayLike<(T | PromiseLike<T>)>): AsyncSequence<T> {
return new WrappedArrayLikeAsync(arrayLike);
}
export function of<T>(...elements: (T | PromiseLike<T>)[]): AsyncEnumerable<T> {
export function of<T>(...elements: (T | PromiseLike<T>)[]): AsyncSequence<T> {
switch (elements.length) {
case 0:
return empty();
@@ -52,18 +52,18 @@ export function of<T>(...elements: (T | PromiseLike<T>)[]): AsyncEnumerable<T> {
}
}
export function func<T>(f: () => Promise<T>): AsyncEnumerable<T> {
return new FunctionAsyncEnumerable(f);
export function func<T>(f: () => Promise<T>): AsyncSequence<T> {
return new FunctionAsyncSequence(f);
}
export function generator<T>(generator: () => AsyncGenerator<T>): AsyncEnumerable<T> {
return new GeneratorAsyncEnumerable(generator);
export function generator<T>(generator: () => AsyncGenerator<T>): AsyncSequence<T> {
return new GeneratorAsyncSequence(generator);
}
export function range(max: number): AsyncEnumerable<number>
export function range(min: number, max: number): AsyncEnumerable<number>
export function range(min: number, max: number, step: number): AsyncEnumerable<number>
export function range(a: number, b?: number, c?: number): AsyncEnumerable<number> {
export function range(max: number): AsyncSequence<number>
export function range(min: number, max: number): AsyncSequence<number>
export function range(min: number, max: number, step: number): AsyncSequence<number>
export function range(a: number, b?: number, c?: number): AsyncSequence<number> {
if (b === undefined) {
b = a;
a = 0;
@@ -73,12 +73,12 @@ export function range(a: number, b?: number, c?: number): AsyncEnumerable<number
c = 1;
}
return new RangeAsyncEnumerable(a, b, c);
return new RangeAsyncSequence(a, b, c);
}
export function repeat<T>(value: T, count?: number): AsyncEnumerable<T> {
export function repeat<T>(value: T, count?: number): AsyncSequence<T> {
if (count == undefined) {
return new RepeatForeverAsyncEnumerable(value);
return new RepeatForeverAsyncSequence(value);
}
if (count < 0) {
@@ -93,9 +93,9 @@ export function repeat<T>(value: T, count?: number): AsyncEnumerable<T> {
return new WrappedObjectAsync(value);
}
return new RepeatAsyncEnumerable(value, count);
return new RepeatAsyncSequence(value, count);
}
export function isAsyncEnumerable<T = any>(obj: any): obj is AsyncEnumerable<T> {
return obj instanceof AsyncEnumerableMarker;
export function isAsyncSequence<T = any>(obj: any): obj is AsyncSequence<T> {
return obj instanceof AsyncSequenceMarker;
}