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

@@ -2,42 +2,42 @@ import { Collector } from "../collector/types.js";
import { RandomOptions } from "../random/types.js";
import { Predicate, Converter, FilterPredicate, Equater, BiConverter, Accumulator, Comparer, Action } from "../types.js";
export interface Enumerable<TElement> extends Iterable<TElement> {
export interface Sequence<TElement> extends Iterable<TElement> {
iterator(): Iterator<TElement>;
apply<TResult>(pipeline: (enumerable: Enumerable<TElement>) => TResult): TResult;
apply<TResult>(pipeline: (sequence: Sequence<TElement>) => TResult): TResult;
count(predicate?: Predicate<TElement>): number;
nonEnumeratedCount(): number;
fastCount(): number;
maxCount(): number;
select<TResult>(selector: Converter<TElement, TResult>): Enumerable<TResult>;
selectMany<TResult>(selector: Converter<TElement, Iterable<TResult>>): Enumerable<TResult>;
select<TResult>(selector: Converter<TElement, TResult>): Sequence<TResult>;
selectMany<TResult>(selector: Converter<TElement, Iterable<TResult>>): Sequence<TResult>;
where<TFiltered extends TElement>(predicate: FilterPredicate<TElement, TFiltered>): Enumerable<TFiltered>;
where(predicate: Predicate<TElement>): Enumerable<TElement>;
where<TFiltered extends TElement>(predicate: FilterPredicate<TElement, TFiltered>): Sequence<TFiltered>;
where(predicate: Predicate<TElement>): Sequence<TElement>;
groupBy<TKey>(keySelector: Converter<TElement, TKey>, elementSelector?: undefined, keyComparer?: Equater<TKey>): Enumerable<GroupedEnumerable<TKey, TElement>>;
groupBy<TKey, TResult>(keySelector: Converter<TElement, TKey>, elementSelector: Converter<TElement, TResult>, keyComparer?: Equater<TKey>): Enumerable<GroupedEnumerable<TKey, TResult>>;
groupBy<TKey>(keySelector: Converter<TElement, TKey>, elementSelector?: undefined, keyComparer?: Equater<TKey>): Sequence<GroupedSequence<TKey, TElement>>;
groupBy<TKey, TResult>(keySelector: Converter<TElement, TKey>, elementSelector: Converter<TElement, TResult>, keyComparer?: Equater<TKey>): Sequence<GroupedSequence<TKey, TResult>>;
join<TOther, TKey>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector?: undefined, keyComparer?: Equater<TKey>): Enumerable<[TElement, TOther]>;
join<TOther, TKey, TResult>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector: BiConverter<TElement, TOther, TResult>, keyComparer?: Equater<TKey>): Enumerable<TResult>;
join<TOther, TKey>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector?: undefined, keyComparer?: Equater<TKey>): Sequence<[TElement, TOther]>;
join<TOther, TKey, TResult>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector: BiConverter<TElement, TOther, TResult>, keyComparer?: Equater<TKey>): Sequence<TResult>;
groupJoin<TOther, TKey>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector?: undefined, keyComparer?: Equater<TKey>): Enumerable<GroupedEnumerable<TElement, TOther>>;
groupJoin<TOther, TKey, TResult>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector: BiConverter<TElement, Enumerable<TOther>, TResult>, keyComparer?: Equater<TKey>): Enumerable<TResult>;
groupJoin<TOther, TKey>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector?: undefined, keyComparer?: Equater<TKey>): Sequence<GroupedSequence<TElement, TOther>>;
groupJoin<TOther, TKey, TResult>(iterable: Iterable<TOther>, firstKeySelector: Converter<TElement, TKey>, secondKeySelector: Converter<TOther, TKey>, resultSelector: BiConverter<TElement, Sequence<TOther>, TResult>, keyComparer?: Equater<TKey>): Sequence<TResult>;
contains(obj: TElement, equater?: Equater<TElement>): boolean;
sequenceEquals(iterable: Iterable<TElement>, equater?: Equater<TElement>): boolean;
append(obj: TElement): Enumerable<TElement>;
append(obj: TElement): Sequence<TElement>;
prepend(obj: TElement): Enumerable<TElement>;
prepend(obj: TElement): Sequence<TElement>;
remove(obj: TElement, all?: boolean, equater?: Equater<TElement>): Enumerable<TElement>;
remove(obj: TElement, all?: boolean, equater?: Equater<TElement>): Sequence<TElement>;
concat(...iterables: Iterable<TElement>[]): Enumerable<TElement>;
concat(...iterables: Iterable<TElement>[]): Sequence<TElement>;
first(predicate?: Predicate<TElement>): TElement;
firstOrDefault(predicate?: Predicate<TElement>, def?: TElement): TElement | undefined;
@@ -61,23 +61,23 @@ export interface Enumerable<TElement> extends Iterable<TElement> {
max(comparer?: Comparer<TElement>): TElement;
maxBy<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): TElement;
order(comparer?: Comparer<TElement>): OrderedEnumerable<TElement>;
orderBy<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedEnumerable<TElement>;
order(comparer?: Comparer<TElement>): OrderedSequence<TElement>;
orderBy<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedSequence<TElement>;
orderDescending(comparer?: Comparer<TElement>): OrderedEnumerable<TElement>;
orderByDescending<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedEnumerable<TElement>;
orderDescending(comparer?: Comparer<TElement>): OrderedSequence<TElement>;
orderByDescending<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedSequence<TElement>;
distinct(equater?: Equater<TElement>): Enumerable<TElement>;
distinctBy<TBy>(selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Enumerable<TElement>;
distinct(equater?: Equater<TElement>): Sequence<TElement>;
distinctBy<TBy>(selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Sequence<TElement>;
union(iterable: Iterable<TElement>, equater?: Equater<TElement>): Enumerable<TElement>;
unionBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Enumerable<TElement>;
union(iterable: Iterable<TElement>, equater?: Equater<TElement>): Sequence<TElement>;
unionBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Sequence<TElement>;
except(iterable: Iterable<TElement>, equater?: Equater<TElement>): Enumerable<TElement>;
exceptBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Enumerable<TElement>;
except(iterable: Iterable<TElement>, equater?: Equater<TElement>): Sequence<TElement>;
exceptBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Sequence<TElement>;
intersect(iterable: Iterable<TElement>, equater?: Equater<TElement>): Enumerable<TElement>;
intersectBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Enumerable<TElement>;
intersect(iterable: Iterable<TElement>, equater?: Equater<TElement>): Sequence<TElement>;
intersectBy<TBy>(iterable: Iterable<TElement>, selector: Converter<TElement, TBy>, equater?: Equater<TBy>): Sequence<TElement>;
all(predicate: Predicate<TElement>): boolean;
any(predicate: Predicate<TElement>): boolean;
@@ -85,29 +85,29 @@ export interface Enumerable<TElement> extends Iterable<TElement> {
none(predicate: Predicate<TElement>): boolean;
none(): boolean;
skip(n: number): Enumerable<TElement>;
skipLast(n: number): Enumerable<TElement>;
skipWhile(condition: Predicate<TElement>): Enumerable<TElement>;
skip(n: number): Sequence<TElement>;
skipLast(n: number): Sequence<TElement>;
skipWhile(condition: Predicate<TElement>): Sequence<TElement>;
take(n: number): Enumerable<TElement>;
takeLast(n: number): Enumerable<TElement>;
takeWhile(condition: Predicate<TElement>): Enumerable<TElement>;
take(n: number): Sequence<TElement>;
takeLast(n: number): Sequence<TElement>;
takeWhile(condition: Predicate<TElement>): Sequence<TElement>;
peek(action: Action<TElement>): Enumerable<TElement>;
peek(action: Action<TElement>): Sequence<TElement>;
forEach(action: Action<TElement>): void;
zip<TOther>(iterable: Iterable<TOther>): Enumerable<[TElement, TOther]>;
zip<TOther>(iterable: Iterable<TOther>): Sequence<[TElement, TOther]>;
indexed(): Enumerable<[number, TElement]>;
indexed(): Sequence<[number, TElement]>;
reversed(): Enumerable<TElement>;
reversed(): Sequence<TElement>;
chunked(size: number): Enumerable<TElement[]>;
chunked(size: number): Sequence<TElement[]>;
random(options?: RandomOptions<TElement>): TElement | undefined;
cached(): Enumerable<TElement>;
cached(): Sequence<TElement>;
asArray(): TElement[];
toArray(): TElement[];
@@ -118,18 +118,18 @@ export interface Enumerable<TElement> extends Iterable<TElement> {
collect<TResult>(collector: Collector<TElement, any, TResult>): TResult;
}
export interface GroupedEnumerable<TKey, TElement> extends Enumerable<TElement> {
export interface GroupedSequence<TKey, TElement> extends Sequence<TElement> {
get key(): TKey;
}
export interface OrderedEnumerable<TElement> extends Enumerable<TElement> {
export interface OrderedSequence<TElement> extends Sequence<TElement> {
get comparer(): Comparer<TElement> | undefined;
thenSelf(comparer?: Comparer<TElement>): OrderedEnumerable<TElement>;
thenSelf(comparer?: Comparer<TElement>): OrderedSequence<TElement>;
thenBy<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedEnumerable<TElement>;
thenBy<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedSequence<TElement>;
thenSelfDescending(comparer?: Comparer<TElement>): OrderedEnumerable<TElement>;
thenSelfDescending(comparer?: Comparer<TElement>): OrderedSequence<TElement>;
thenByDescending<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedEnumerable<TElement>;
thenByDescending<TBy>(selector: Converter<TElement, TBy>, comparer?: Comparer<TBy>): OrderedSequence<TElement>;
}