diff --git a/linq/linq.d.ts b/linq/linq.d.ts
index d155ba806b..3650ef0285 100644
--- a/linq/linq.d.ts
+++ b/linq/linq.d.ts
@@ -1,3 +1,4 @@
+///
// Type definitions for linq.js 2.2
// Project: http://linqjs.codeplex.com/
// Definitions by: Marcin Najder
@@ -8,107 +9,107 @@
declare module linq {
interface EnumerableStatic {
- Choice(...contents: any[]): Enumerable;
- Choice(contents: any[]): Enumerable;
- Cycle(...contents: any[]): Enumerable;
- Cycle(contents: any[]): Enumerable;
- Empty(): Enumerable;
- From(obj: any[]): Enumerable;
- From(obj: any): Enumerable;
- Return(element: any): Enumerable;
- Matches(input: string, pattern: RegExp): Enumerable;
- Matches(input: string, pattern: string, flags?: string): Enumerable;
- Range(start: number, count: number, step?: number): Enumerable;
- RangeDown(start: number, count: number, step?: number): Enumerable;
- RangeTo(start: number, to: number, step?: number): Enumerable;
- Repeat(obj: any, count?: number): Enumerable;
- RepeatWithFinalize(initializer: () => any, finalizer: (resource: any) =>void ): Enumerable;
- Generate(func: () => any, count?: number): Enumerable;
- Generate(func: string, count?: number): Enumerable;
- ToInfinity(start?: number, step?: number): Enumerable;
- ToNegativeInfinity(start?: number, step?: number): Enumerable;
- Unfold(seed, func: ($) => any): Enumerable;
- Unfold(seed, func: string): Enumerable;
+ Choice(...contents: any[]): Enumerable;
+ Choice(contents: any[]): Enumerable;
+ Cycle(...contents: any[]): Enumerable;
+ Cycle(contents: any[]): Enumerable;
+ Empty(): Enumerable;
+ From(obj: any[]): Enumerable;
+ From(obj: any): Enumerable;
+ Return(element: any): Enumerable;
+ Matches(input: string, pattern: RegExp): Enumerable;
+ Matches(input: string, pattern: string, flags?: string): Enumerable;
+ Range(start: number, count: number, step?: number): Enumerable;
+ RangeDown(start: number, count: number, step?: number): Enumerable;
+ RangeTo(start: number, to: number, step?: number): Enumerable;
+ Repeat(obj: any, count?: number): Enumerable;
+ RepeatWithFinalize(initializer: () => any, finalizer: (resource: any) =>void ): Enumerable;
+ Generate(func: () => any, count?: number): Enumerable;
+ Generate(func: string, count?: number): Enumerable;
+ ToInfinity(start?: number, step?: number): Enumerable;
+ ToNegativeInfinity(start?: number, step?: number): Enumerable;
+ Unfold(seed, func: ($) => any): Enumerable;
+ Unfold(seed, func: string): Enumerable;
}
- interface Enumerable {
+ interface Enumerable {
//Projection and Filtering Methods
- CascadeBreadthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
- CascadeBreadthFirst(func: string, resultSelector: string): Enumerable;
- CascadeDepthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
- CascadeDepthFirst(func: string, resultSelector: string): Enumerable;
- Flatten(...items: any[]): Enumerable;
- Pairwise(selector: (prev, next) => any): Enumerable;
- Pairwise(selector: string): Enumerable;
- Scan(func: (a, b) => any): Enumerable;
- Scan(func: string): Enumerable;
- Scan(seed, func: (a, b) => any, resultSelector?: ($) => any): Enumerable;
- Scan(seed, func: string, resultSelector?: string): Enumerable;
- Select(selector: ($, i: number) => any): Enumerable;
- Select(selector: string): Enumerable;
- SelectMany(collectionSelector: ($, i: number) => any[], resultSelector?: ($, item) => any): Enumerable;
- SelectMany(collectionSelector: ($, i: number) => Enumerable, resultSelector?: ($, item) => any): Enumerable;
- SelectMany(collectionSelector: string, resultSelector?: string): Enumerable;
- Where(predicate: ($, i: number) => boolean): Enumerable;
- Where(predicate: string): Enumerable;
- OfType(type: Function): Enumerable;
- Zip(second: any[], selector: (v1, v2, i: number) => any): Enumerable;
- Zip(second: any[], selector: string): Enumerable;
- Zip(second: Enumerable, selector: (v1, v2, i: number) => any): Enumerable;
- Zip(second: Enumerable, selector: string): Enumerable;
+ CascadeBreadthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
+ CascadeBreadthFirst(func: string, resultSelector: string): Enumerable;
+ CascadeDepthFirst(func: ($) => any[], resultSelector: (v, i: number) => any): Enumerable;
+ CascadeDepthFirst(func: string, resultSelector: string): Enumerable;
+ Flatten(...items: any[]): Enumerable;
+ Pairwise(selector: (prev, next) => any): Enumerable;
+ Pairwise(selector: string): Enumerable;
+ Scan(func: (a, b) => any): Enumerable;
+ Scan(func: string): Enumerable;
+ Scan(seed, func: (a, b) => any, resultSelector?: ($) => any): Enumerable;
+ Scan(seed, func: string, resultSelector?: string): Enumerable;
+ Select(selector: ($, i: number) => any): Enumerable;
+ Select(selector: string): Enumerable;
+ SelectMany(collectionSelector: ($, i: number) => any[], resultSelector?: ($, item) => any): Enumerable;
+ SelectMany(collectionSelector: ($, i: number) => Enumerable, resultSelector?: ($, item) => any): Enumerable;
+ SelectMany(collectionSelector: string, resultSelector?: string): Enumerable;
+ Where(predicate: ($, i: number) => boolean): Enumerable;
+ Where(predicate: string): Enumerable;
+ OfType(type: Function): Enumerable;
+ Zip(second: any[], selector: (v1, v2, i: number) => any): Enumerable;
+ Zip(second: any[], selector: string): Enumerable;
+ Zip(second: Enumerable, selector: (v1, v2, i: number) => any): Enumerable;
+ Zip(second: Enumerable, selector: string): Enumerable;
//Join Methods
- Join(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
- Join(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
- Join(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
- Join(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
- GroupJoin(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
- GroupJoin(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
- GroupJoin(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
- GroupJoin(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
+ Join(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
+ Join(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
+ Join(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2) => any, compareSelector?: (v) => any): Enumerable;
+ Join(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
+ GroupJoin(inner: any[], outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
+ GroupJoin(inner: any[], outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
+ GroupJoin(inner: Enumerable, outerKeySelector: (v1) => any, innerKeySelector: (v1) => any, resultSelector: (v1, v2: Enumerable) => any, compareSelector?: (v) => any): Enumerable;
+ GroupJoin(inner: Enumerable, outerKeySelector: string, innerKeySelector: string, resultSelector: string, compareSelector?: string): Enumerable;
//Set Methods
All(predicate: ($) => boolean): boolean;
All(predicate: string): boolean;
Any(predicate?: ($) => boolean): boolean;
Any(predicate?: string): boolean;
- Concat(second: any[]): Enumerable;
- Concat(second: Enumerable): Enumerable;
- Insert(index: number, second: any[]): Enumerable;
- Insert(index: number, second: Enumerable): Enumerable;
- Alternate(value): Enumerable;
+ Concat(second: any[]): Enumerable;
+ Concat(second: Enumerable): Enumerable;
+ Insert(index: number, second: any[]): Enumerable;
+ Insert(index: number, second: Enumerable): Enumerable;
+ Alternate(value): Enumerable;
Contains(value, compareSelector?: ($) => any): boolean;
Contains(value, compareSelector?: string): boolean;
- DefaultIfEmpty(defaultValue): Enumerable;
- Distinct(compareSelector?: ($) => any): Enumerable;
- Distinct(compareSelector?: string): Enumerable;
- Except(second: any[], compareSelector?: ($) => any): Enumerable;
- Except(second: any[], compareSelector?: string): Enumerable;
- Except(second: Enumerable, compareSelector?: ($) => any): Enumerable;
- Except(second: Enumerable, compareSelector?: string): Enumerable;
- Intersect(second: any[], compareSelector?: ($) => any): Enumerable;
- Intersect(second: any[], compareSelector?: string): Enumerable;
- Intersect(second: Enumerable, compareSelector?: ($) => any): Enumerable;
- Intersect(second: Enumerable, compareSelector?: string): Enumerable;
+ DefaultIfEmpty(defaultValue): Enumerable;
+ Distinct(compareSelector?: ($) => any): Enumerable;
+ Distinct(compareSelector?: string): Enumerable;
+ Except(second: any[], compareSelector?: ($) => any): Enumerable;
+ Except(second: any[], compareSelector?: string): Enumerable;
+ Except(second: Enumerable, compareSelector?: ($) => any): Enumerable;
+ Except(second: Enumerable, compareSelector?: string): Enumerable;
+ Intersect(second: any[], compareSelector?: ($) => any): Enumerable;
+ Intersect(second: any[], compareSelector?: string): Enumerable;
+ Intersect(second: Enumerable, compareSelector?: ($) => any): Enumerable;
+ Intersect(second: Enumerable, compareSelector?: string): Enumerable;
SequenceEqual(second: any[], compareSelector?: ($) => any): boolean;
SequenceEqual(second: any[], compareSelector?: string): boolean;
- SequenceEqual(second: Enumerable, compareSelector?: ($) => any): boolean;
- SequenceEqual(second: Enumerable, compareSelector?: string): boolean;
- Union(second: any[], compareSelector?: ($) => any): Enumerable;
- Union(second: any[], compareSelector?: string): Enumerable;
- Union(second: Enumerable, compareSelector?: ($) => any): Enumerable;
- Union(second: Enumerable, compareSelector?: string): Enumerable;
+ SequenceEqual(second: Enumerable, compareSelector?: ($) => any): boolean;
+ SequenceEqual(second: Enumerable, compareSelector?: string): boolean;
+ Union(second: any[], compareSelector?: ($) => any): Enumerable;
+ Union(second: any[], compareSelector?: string): Enumerable;
+ Union(second: Enumerable, compareSelector?: ($) => any): Enumerable;
+ Union(second: Enumerable, compareSelector?: string): Enumerable;
//Ordering Methods
- OrderBy(keySelector?: ($) => any): OrderedEnumerable;
- OrderBy(keySelector?: string): OrderedEnumerable;
- OrderByDescending(keySelector?: ($) => any): OrderedEnumerable;
- OrderByDescending(keySelector?: string): OrderedEnumerable;
- Reverse(): Enumerable;
- Shuffle(): Enumerable;
+ OrderBy(keySelector?: ($) => any): OrderedEnumerable;
+ OrderBy(keySelector?: string): OrderedEnumerable;
+ OrderByDescending(keySelector?: ($) => any): OrderedEnumerable;
+ OrderByDescending(keySelector?: string): OrderedEnumerable;
+ Reverse(): Enumerable;
+ Shuffle(): Enumerable;
//Grouping Methods
- GroupBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
- GroupBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
- PartitionBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
- PartitionBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
- BufferWithCount(count: number): Enumerable;
+ GroupBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
+ GroupBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
+ PartitionBy(keySelector: ($) => any, elementSelector?: ($) => any, resultSelector?: (key, e) => any, compareSelector?: ($) =>any): Enumerable;
+ PartitionBy(keySelector: string, elementSelector?: string, resultSelector?: string, compareSelector?: string): Enumerable;
+ BufferWithCount(count: number): Enumerable;
// Aggregate Methods
Aggregate(func: (a, b) => any);
Aggregate(seed, func: (a, b) => any, resultSelector?: ($) => any);
@@ -143,14 +144,14 @@ declare module linq {
Single(predicate?: string): any;
SingleOrDefault(defaultValue, predicate?: ($) => boolean): any;
SingleOrDefault(defaultValue, predicate?: string): any;
- Skip(count: number): Enumerable;
- SkipWhile(predicate: ($, i: number) => boolean): Enumerable;
- SkipWhile(predicate: string): Enumerable;
- Take(count: number): Enumerable;
- TakeWhile(predicate: ($, i: number) => boolean): Enumerable;
- TakeWhile(predicate: string): Enumerable;
- TakeExceptLast(count?: number): Enumerable;
- TakeFromLast(count: number): Enumerable;
+ Skip(count: number): Enumerable;
+ SkipWhile(predicate: ($, i: number) => boolean): Enumerable;
+ SkipWhile(predicate: string): Enumerable;
+ Take(count: number): Enumerable;
+ TakeWhile(predicate: ($, i: number) => boolean): Enumerable;
+ TakeWhile(predicate: string): Enumerable;
+ TakeExceptLast(count?: number): Enumerable;
+ TakeFromLast(count: number): Enumerable;
IndexOf(item): number;
LastIndexOf(item): number;
// Convert Methods
@@ -166,8 +167,8 @@ declare module linq {
ToString(separator?: string, selector?: ($) =>any): string;
ToString(separator?: string, selector?: string): string;
//Action Methods
- Do(action: ($, i: number) => void ): Enumerable;
- Do(action: string): Enumerable;
+ Do(action: ($, i: number) => void ): Enumerable;
+ Do(action: string): Enumerable;
ForEach(action: ($, i: number) => void ): void;
ForEach(func: ($, i: number) => boolean): void;
ForEach(action_func: string): void;
@@ -176,38 +177,38 @@ declare module linq {
WriteLine(selector?: ($) =>any): void;
Force(): void;
//Functional Methods
- Let(func: (e: Enumerable) => Enumerable): Enumerable;
- Share(): Enumerable;
- MemoizeAll(): Enumerable;
+ Let(func: (e: Enumerable) => Enumerable): Enumerable;
+ Share(): Enumerable;
+ MemoizeAll(): Enumerable;
//Error Handling Methods
- Catch(handler: (error: Error) => void ): Enumerable;
- Catch(handler: string): Enumerable;
- Finally(finallyAction: () => void ): Enumerable;
- Finally(finallyAction: string): Enumerable;
+ Catch(handler: (error: Error) => void ): Enumerable;
+ Catch(handler: string): Enumerable;
+ Finally(finallyAction: () => void ): Enumerable;
+ Finally(finallyAction: string): Enumerable;
//For Debug Methods
- Trace(message?: string, selector?: ($) =>any): Enumerable;
- Trace(message?: string, selector?: string): Enumerable;
+ Trace(message?: string, selector?: ($) =>any): Enumerable;
+ Trace(message?: string, selector?: string): Enumerable;
}
- interface OrderedEnumerable extends Enumerable {
- ThenBy(keySelector: ($) => any): OrderedEnumerable;
- ThenBy(keySelector: string): OrderedEnumerable;
- ThenByDescending(keySelector: ($) => any): OrderedEnumerable;
- ThenByDescending(keySelector: string): OrderedEnumerable;
+ interface OrderedEnumerable extends Enumerable {
+ ThenBy(keySelector: ($) => T): OrderedEnumerable;
+ ThenBy(keySelector: string): OrderedEnumerable;
+ ThenByDescending(keySelector: ($) => T): OrderedEnumerable;
+ ThenByDescending(keySelector: T): OrderedEnumerable;
}
- interface Grouping extends Enumerable {
+ interface Grouping extends Enumerable {
Key();
}
- interface Lookup {
+ interface Lookup {
Count(): number;
- Get(key): Enumerable;
+ Get(key): Enumerable;
Contains(key): boolean;
- ToEnumerable(): Enumerable;
+ ToEnumerable(): Enumerable;
}
- interface Dictionary {
+ interface Dictionary {
Add(key, value): void;
Get(key): any;
Set(key, value): boolean;
@@ -215,7 +216,7 @@ declare module linq {
Clear(): void;
Remove(key): void;
Count(): number;
- ToEnumerable(): Enumerable;
+ ToEnumerable(): Enumerable;
}
}