diff --git a/ix.js/l2o.d.ts b/ix.js/l2o.d.ts index 5a74c6259..44a5efda4 100644 --- a/ix.js/l2o.d.ts +++ b/ix.js/l2o.d.ts @@ -17,7 +17,7 @@ declare module Ix { create(moveNext: () => boolean, getCurrent: () => T, dispose?: () => void): Enumerator; } - var Enumerator: EnumerableStatic; + var Enumerator: EnumeratorStatic; export interface EnumerableFunc { (item: T, index: number, self: Enumerable): TResult; @@ -26,8 +26,11 @@ declare module Ix { export interface Predicate { (item: T): boolean; } - export interface EqualityComparer { - (item1: T1, item2: T2): boolean; + export interface EqualityComparer { + (item1: TFirst, item2: TSecond): boolean; + } + export interface Comparer { + (item1: TFirst, item2: TSecond): number; } export interface Enumerable { @@ -57,18 +60,19 @@ declare module Ix { concat(...sources: Enumerable[]): Enumerable; contains(value: TValue, comparer: EqualityComparer): boolean; - contains(value: any): boolean; + contains(value: T): boolean; count(predicate?: EnumerablePredicate, thisArg?: any): number; - defaultIfEmpty(defaultValue: T): Enumerable; + defaultIfEmpty(defaultValue?: T): Enumerable; distinct(comparer?: EqualityComparer): Enumerable; elementAt(index: number): T; elementAtOrDefault(index: number): T; - except(second: Enumerable, comparer?: EqualityComparer): Enumerable; + except(second: Enumerable, comparer: EqualityComparer): Enumerable; + except(second: Enumerable): Enumerable; first(predicate?: Predicate): T; firstOrDefault(predicate?: Predicate): T; @@ -146,8 +150,8 @@ declare module Ix { intersect(second: Enumerable): Enumerable; union(second: Enumerable, comparer?: EqualityComparer): Enumerable; - orderBy(keySelector: (item: T) => TKey, comparer?: EqualityComparer): OrderedEnumerable; - orderByDescending(keySelector: (item: T) => TKey, comparer?: EqualityComparer): OrderedEnumerable; + orderBy(keySelector: (item: T) => TKey, comparer?: Comparer): OrderedEnumerable; + orderByDescending(keySelector: (item: T) => TKey, comparer?: Comparer): OrderedEnumerable; reverse(): Enumerable; @@ -219,12 +223,12 @@ declare module Ix { } export interface OrderedEnumerable extends Enumerable { - thenBy(keySelector: (item: T) => TKey, comparer?: EqualityComparer): OrderedEnumerable; - thenByDescending(keySelector: (item: T) => TKey, comparer?: EqualityComparer): OrderedEnumerable; + thenBy(keySelector: (item: T) => TKey, comparer?: Comparer): OrderedEnumerable; + thenByDescending(keySelector: (item: T) => TKey, comparer?: Comparer): OrderedEnumerable; } class Dictionary { - constructor(capacity, comparer?: EqualityComparer); + constructor(capacity?: number, comparer?: EqualityComparer); toEnumerable(): Enumerable>; @@ -258,7 +262,8 @@ declare module Ix { concat(...sources: Enumerable[]): Enumerable; empty(): Enumerable; fromArray(array: T[]): Enumerable; - returnValue(value: T): Enumerable; + return(value: T): Enumerable; + returnValue(value: T): Enumerable; // alias for ; repeat(value: T, repeatCount?: number): Enumerable;