Made $.when work with mixed type values without specifiying <any>

This commit is contained in:
Andrew Gaspar
2013-07-07 18:05:42 -07:00
parent 6eb08d6fdb
commit e1cfc4aa71
2 changed files with 10 additions and 7 deletions

View File

@@ -2296,6 +2296,8 @@ function test_EventIsCallable() {
var ev = jQuery.Event('click');
}
var f1: JQueryPromise<string> = $.when("fetch");
$.when(3, "asdf").then(x => x.asdf, x => x.length); // is type JQueryPromise<any>
var f1 = $.when("fetch"); // Is type JQueryPromise<string>
var f2: JQueryPromise<string[]> = f1.then(s => [s, s]);
var f3: JQueryPromise<number> = f2.then(v => 3);

13
jquery/jquery.d.ts vendored
View File

@@ -105,11 +105,11 @@ interface JQueryPromise<T> {
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
/* Because JQuery Promises Suck */
then<U>(onFulfill: (...args) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...args) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
// Because JQuery Promises Suck
then<U>(onFulfill: (...values) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (...values) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
}
/*
@@ -265,7 +265,8 @@ interface JQueryStatic {
noConflict(removeAll?: boolean): Object;
when<T>(...deferreds: T[]): JQueryPromise<T>;
when<T>(...deferreds: T[]): JQueryPromise<T>;
when(...deferreds: any[]): JQueryPromise<any>;
// CSS
css(e: any, propertyName: string, value?: any);