UNPKG

ts-generic-collections-linq

Version:

TypeScript library provides strongly-typed, queryable collections.

42 lines (41 loc) 1.91 kB
export interface IEnumerable<T> { elementAt(index: number): T; any(predicate?: (item: T) => boolean): boolean; all(predicate?: (item: T) => boolean): boolean; single(predicate?: (item: T) => boolean): T; first(predicate?: (item: T) => boolean): T; last(predicate?: (item: T) => boolean): T; singleOrDefault(predicate: (item: T) => boolean): T; firstOrDefault(predicate: (item: T) => boolean): T; lastOrDefault(predicate: (item: T) => boolean): T; where(predicate: (item: T) => boolean): IEnumerable<T>; select<TResult>(predicate: (item: T) => TResult): IEnumerable<TResult>; selectMany<TResult>(predicate: (item: T) => Array<TResult>): IEnumerable<TResult>; join<TOuter, TMatch, TResult>(outer: IEnumerable<TOuter>, conditionInner: (item: T) => TMatch, conditionOuter: (item: TOuter) => TMatch, select: (x: T, y: TOuter) => TResult, leftJoin?: boolean): IEnumerable<TResult>; groupBy(predicate: (item: T) => Array<any>): IEnumerable<IGroup<T>>; orderBy(comparer: IComparer<T>): IEnumerable<T>; distinct(comparer: IEqualityComparer<T>): IEnumerable<T>; union(list: IEnumerable<T>): IEnumerable<T>; reverse(): IEnumerable<T>; skip(no: number): IEnumerable<T>; take(no: number): IEnumerable<T>; sum(predicate: (item: T) => number): number; avg(predicate: (item: T) => number): number; min(predicate: (item: T) => number): number; max(predicate: (item: T) => number): number; count(predicate?: (item: T) => boolean): number; forEach(predicate: (item: T) => void): void; length: number; toArray(): Array<T>; asEnumerable(): IEnumerable<T>; } export interface IGroup<T> { groups: any[]; list: IEnumerable<T>; } export interface IComparer<T> { compare(x: T, y: T): number; } export interface IEqualityComparer<T> { equals(x: T, y: T): boolean; }