From e1cfc4aa71dcd77819e3435fab1fd28d92b2adaa Mon Sep 17 00:00:00 2001 From: Andrew Gaspar Date: Sun, 7 Jul 2013 18:05:42 -0700 Subject: [PATCH] Made $.when work with mixed type values without specifiying --- jquery/jquery-tests.ts | 4 +++- jquery/jquery.d.ts | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/jquery/jquery-tests.ts b/jquery/jquery-tests.ts index d76613e2da..9e1649ea9a 100644 --- a/jquery/jquery-tests.ts +++ b/jquery/jquery-tests.ts @@ -2296,6 +2296,8 @@ function test_EventIsCallable() { var ev = jQuery.Event('click'); } -var f1: JQueryPromise = $.when("fetch"); +$.when(3, "asdf").then(x => x.asdf, x => x.length); // is type JQueryPromise + +var f1 = $.when("fetch"); // Is type JQueryPromise var f2: JQueryPromise = f1.then(s => [s, s]); var f3: JQueryPromise = f2.then(v => 3); diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts index 67851c859e..20def68779 100644 --- a/jquery/jquery.d.ts +++ b/jquery/jquery.d.ts @@ -105,11 +105,11 @@ interface JQueryPromise { then(onFulfill: (value: T) => U, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; then(onFulfill: (value: T) => JQueryGenericPromise, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; - /* Because JQuery Promises Suck */ - then(onFulfill: (...args) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise; - then(onFulfill: (...args) => JQueryGenericPromise, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise; - then(onFulfill: (...args) => U, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; - then(onFulfill: (...args) => JQueryGenericPromise, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; + // Because JQuery Promises Suck + then(onFulfill: (...values) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise; + then(onFulfill: (...values) => JQueryGenericPromise, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise; + then(onFulfill: (...values) => U, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; + then(onFulfill: (...values) => JQueryGenericPromise, onReject?: (...reasons) => JQueryGenericPromise, onProgress?: (...progression) => any): JQueryPromise; } /* @@ -265,7 +265,8 @@ interface JQueryStatic { noConflict(removeAll?: boolean): Object; - when(...deferreds: T[]): JQueryPromise; + when(...deferreds: T[]): JQueryPromise; + when(...deferreds: any[]): JQueryPromise; // CSS css(e: any, propertyName: string, value?: any);