nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
63 lines (62 loc) • 4.79 kB
TypeScript
import { IParallelOrderedQueryable } from './IParallelOrderedQueryable';
import { ICollection } from '../collections/ICollection';
import { IList } from '../collections/IList';
import { Comparator } from '../core/Comparator';
import { Func, Predicate } from '../core/Func';
import { IAsyncEnumerable } from '../core/IAsyncEnumerable';
import { IGroup } from './IGroup';
export interface IParallelQueryable<T> extends IAsyncEnumerable<T> {
aggregate(action: (seed: T, item: T, index?: number, source?: IAsyncEnumerable<T>) => T, seed?: T): Promise<T>;
all(predicate?: Predicate<T>): Promise<boolean>;
any(predicate?: Predicate<T>): Promise<boolean>;
first(predicate?: Predicate<T>, defValue?: T): Promise<T>;
last(predicate?: Predicate<T>, defValue?: T): Promise<T>;
single(predicate: Predicate<T>, defValue?: T): Promise<T>;
contains(item: T): Promise<boolean>;
isEmpty(): Promise<boolean>;
skip(count: number): IParallelQueryable<T>;
skipWhile(predicate: Predicate<T>): IParallelQueryable<T>;
take(count: number): IParallelQueryable<T>;
takeWhile(predicate: Predicate<T>): IParallelQueryable<T>;
distinct(): IParallelQueryable<T>;
reverse(): IParallelQueryable<T>;
shuffles(count?: number): IParallelQueryable<T>;
asParallelEnumerable(): IAsyncEnumerable<T>;
select<TResult>(selector?: Func<TResult, T>): IParallelQueryable<TResult>;
selectMany<TResult>(selector: Func<IAsyncEnumerable<TResult>, T>): IParallelQueryable<TResult>;
selectMany<TCollection, TResult>(selector: Func<IAsyncEnumerable<TResult>, T>, collectionSelector?: Func<TResult, TCollection>): IParallelQueryable<TResult>;
join<TOuter, TInner, TKey, TResult>(inner: IAsyncEnumerable<TInner>, outerSelector: Func<TKey, TOuter>, innerSelector: Func<TKey, TInner>, resultSelector: (innerItem: TInner, outerItem: TOuter) => TResult): IParallelQueryable<TResult>;
where(predicate: Predicate<T>): IParallelQueryable<T>;
except(predicate: Predicate<T>): IParallelQueryable<T>;
orderBy<TSelected>(selector: Func<TSelected, T>, comparator?: Comparator<T, T>): IParallelOrderedQueryable<T>;
orderByDesc<TSelected>(selector: Func<TSelected, T>, comparator?: Comparator<T, T>): IParallelOrderedQueryable<T>;
groupBy<TKey>(keySelector: Func<TKey, T>): IParallelQueryable<IGroup<TKey, T>>;
count(predicate?: Predicate<T>): Promise<number>;
average(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
max(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
min(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
sum(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
stdDev(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
stdDevP(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
variance(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
range(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
varianceP(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
percentile(percentile: number, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
percentileInclusive(percentile: number, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
percentileExclusive(percentile: number, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
percentRank(value: number, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
mean(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
median(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
mode(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
covariance(other: IParallelQueryable<T>, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
pearson(other: IParallelQueryable<T>, selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
rootMeanSquare(selector?: Func<number, T>, predicate?: Predicate<T>): Promise<number>;
forEach(action: (element: T, index: number) => void): Promise<void>;
toArray(): Promise<T[]>;
toList(): Promise<IList<T>>;
toCollection(): Promise<ICollection<T>>;
intersect(source: IAsyncEnumerable<T>, equalityComparator?: Comparator<T, T>): IParallelQueryable<T>;
subtract(source: IAsyncEnumerable<T>, equalityComparator?: Comparator<T, T>): IParallelQueryable<T>;
union(source: IAsyncEnumerable<T>, equalityComparator?: Comparator<T, T>): IParallelQueryable<T>;
zip<TSecond, TResult>(second: IAsyncEnumerable<TSecond>, selector: (tfirst: T, tsecond: TSecond) => TResult): IParallelQueryable<TResult>;
}