Merge pull request #622 from nwolverson/jquery-generic-statics

Initial generic types for jquery statics
This commit is contained in:
Diullei Gomes 2013-06-19 10:59:13 -07:00
commit 718e500bef
2 changed files with 16 additions and 9 deletions

View File

@ -1061,6 +1061,9 @@ function test_each() {
$.each({ name: "John", lang: "JS" }, function (k, v) {
alert("Key: " + k + ", Value: " + v);
});
$.each([{a: 1}, {a: 2}, {a: 3}], function (i, o) {
alert("Index #" + i + ": " + o.a);
});
$('li').each(function (index) {
alert(index + ': ' + $(this).text());
});
@ -1550,11 +1553,12 @@ function test_grep() {
return (n != 5 && i > 4);
});
$("p").text(arr.join(", "));
arr = jQuery.grep(arr, function (a) { return a != 9; });
var arr2 = jQuery.grep(arr, function (a) { return a != 9; });
$("span").text(arr.join(", "));
$.grep([0, 1, 2], function (n, i) {
return n > 0;
}, true);
var arr3 = $.grep(["a", "b", "c"], function (n, i) { return n !== "b"; });
}
function test_has() {
@ -1693,6 +1697,9 @@ function test_inArray() {
$spans.eq(1).text(jQuery.inArray(4, arr));
$spans.eq(2).text(jQuery.inArray("Karl", arr));
$spans.eq(3).text(jQuery.inArray("Pete", arr, 2));
var arr2: number[] = [1, 2, 3, 4];
$spans.eq(1).text(jQuery.inArray(4, arr2));
}
function test_index() {
@ -2195,7 +2202,7 @@ function test_map() {
return (a > 50 ? a - 45 : null);
});
var array = [0, 1, 52, 97];
array = $.map(array, function (a, index) {
var array2 = $.map(array, function (a, index) {
return [a - 45, index];
});
}
@ -2207,6 +2214,7 @@ function test_merge() {
var first = ['a', 'b', 'c'];
var second = ['d', 'e', 'f'];
$.merge($.merge([], first), second);
var z = $.merge([0, 1, 2], ['a', 'b', 'c']);
}
function test_prop() {

13
jquery/jquery.d.ts vendored
View File

@ -292,19 +292,17 @@ interface JQueryStatic {
contains(container: Element, contained: Element): boolean;
each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any;
each(collection: any[], callback: (indexInArray: any, valueOfElement: any) => any): any;
each(collection: JQuery, callback: (indexInArray: number, valueOfElement: HTMLElement) => any): any;
each(collection: string[], callback: (indexInArray: number, valueOfElement: string) => any): any;
each(collection: number[], callback: (indexInArray: number, valueOfElement: number) => any): any;
each<T>(collection: T[], callback: (indexInArray: number, valueOfElement: T) => any): any;
extend(target: any, ...objs: any[]): Object;
extend(deep: bool, target: any, ...objs: any[]): Object;
globalEval(code: string): any;
grep(array: any[], func: any, invert?: bool): any[];
grep<T>(array: T[], func: (elementOfArray: T, indexInArray: number) => boolean, invert?: bool): T[];
inArray(value: any, array: any[], fromIndex?: number): number;
inArray<T>(value: T, array: T[], fromIndex?: number): number;
isArray(obj: any): boolean;
isEmptyObject(obj: any): boolean;
@ -316,10 +314,11 @@ interface JQueryStatic {
makeArray(obj: any): any[];
map(array: any[], callback: (elementOfArray: any, indexInArray: any) => any): any[];
map<T, U>(array: T[], callback: (elementOfArray: T, indexInArray: number) => U): U[];
map(array: any, callback: (elementOfArray: any, indexInArray: any) => any): any;
merge(first: any[], second: any[]): any[];
merge<T>(first: T[], second: T[]): T[];
merge<T,U>(first: T[], second: U[]): any[];
noop(): any;