UNPKG

ts-generic-collections-linq

Version:

TypeScript library provides strongly-typed, queryable collections.

59 lines (58 loc) 3.81 kB
import { IEnumerable, IComparer, IEqualityComparer } from './interfaces'; import { Group } from './common'; export interface IDictionary<TKey, TValue> extends IEnumerable<KeyValuePair<TKey, TValue>> { add(key: TKey, value: TValue): void; addRange(items: KeyValuePair<TKey, TValue>[]): void; remove(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): void; removeAt(index: number): void; clear(): void; containsKey(key: TKey): boolean; containsValue(value: TValue): boolean; tryGetValue(key: TKey): TValue; } export declare class Dictionary<TKey, TValue> implements IDictionary<TKey, TValue> { private list; constructor(list?: Array<KeyValuePair<TKey, TValue>>); add(key: TKey, value: TValue): void; addRange(items: KeyValuePair<TKey, TValue>[]): void; removeAt(index: number): void; clear(): void; remove(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): void; containsKey(key: TKey): boolean; containsValue(value: TValue): boolean; tryGetValue(key: TKey): TValue; asEnumerable(): IEnumerable<KeyValuePair<TKey, TValue>>; readonly length: number; elementAt(index: number): KeyValuePair<TKey, TValue>; any(predicate?: (item: KeyValuePair<TKey, TValue>) => boolean): boolean; all(predicate?: (item: KeyValuePair<TKey, TValue>) => boolean): boolean; single(predicate?: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; first(predicate?: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; last(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; singleOrDefault(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; firstOrDefault(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; lastOrDefault(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): KeyValuePair<TKey, TValue>; where(predicate: (item: KeyValuePair<TKey, TValue>) => boolean): IDictionary<TKey, TValue>; select<TResult>(predicate: (item: KeyValuePair<TKey, TValue>) => TResult): IEnumerable<TResult>; forEach(predicate: (item: KeyValuePair<TKey, TValue>) => void): void; toArray(): Array<KeyValuePair<TKey, TValue>>; join<TOuter, TMatch, TResult>(outer: IEnumerable<TOuter>, conditionInner: (item: KeyValuePair<TKey, TValue>) => TMatch, conditionOuter: (item: TOuter) => TMatch, select: (x: KeyValuePair<TKey, TValue>, y: TOuter) => TResult, leftJoin?: boolean): IEnumerable<TResult>; groupBy(predicate: (item: KeyValuePair<TKey, TValue>) => Array<any>): IEnumerable<Group<KeyValuePair<TKey, TValue>>>; selectMany<TResult>(predicate: (item: KeyValuePair<TKey, TValue>) => Array<TResult>): IEnumerable<TResult>; orderBy(comparer: IComparer<KeyValuePair<TKey, TValue>>): IEnumerable<KeyValuePair<TKey, TValue>>; distinct(comparer: IEqualityComparer<KeyValuePair<TKey, TValue>>): IEnumerable<KeyValuePair<TKey, TValue>>; union(list: IEnumerable<KeyValuePair<TKey, TValue>>): IDictionary<TKey, TValue>; reverse(): IEnumerable<KeyValuePair<TKey, TValue>>; skip(no: number): IDictionary<TKey, TValue>; take(no: number): IDictionary<TKey, TValue>; sum(predicate: (item: KeyValuePair<TKey, TValue>) => number): number; avg(predicate: (item: KeyValuePair<TKey, TValue>) => number): number; min(predicate: (item: KeyValuePair<TKey, TValue>) => number): number; max(predicate: (item: KeyValuePair<TKey, TValue>) => number): number; count(predicate?: (item: KeyValuePair<TKey, TValue>) => boolean): number; } export declare class KeyValuePair<TKey, TValue> { key: TKey; value: TValue; constructor(key: TKey, value: TValue); }