Fixed jquery promises operators (fixes #2913).

This commit is contained in:
Igor Oleinikov
2014-10-08 20:34:15 -07:00
parent 8fa5f68d40
commit d00760ca0f
2 changed files with 14 additions and 32 deletions
+1 -1
View File
@@ -2461,7 +2461,7 @@ function test_isNumeric() {
$.isNumeric("8e5");
$.isNumeric(3.1415);
$.isNumeric(+10);
$.isNumeric(0144);
$.isNumeric(144);
$.isNumeric("");
$.isNumeric({});
$.isNumeric(NaN);
+13 -31
View File
@@ -307,6 +307,11 @@ interface JQueryPromiseCallback<T> {
(value?: T, ...args: any[]): void;
}
interface JQueryPromiseOperator<T, R> {
(callback: JQueryPromiseCallback<T>, ...callbacks: JQueryPromiseCallback<T>[]): JQueryPromise<R>;
(callback: JQueryPromiseCallback<T>[], ...callbacks: JQueryPromiseCallback<T>[]): JQueryPromise<R>;
}
/**
* Interface for the JQuery promise, part of callbacks
*/
@@ -317,52 +322,28 @@ interface JQueryPromise<T> {
* @param alwaysCallbacks1 A function, or array of functions, that is called when the Deferred is resolved or rejected.
* @param alwaysCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected.
*/
always(alwaysCallbacks1?: JQueryPromiseCallback<T>, ...alwaysCallbacks2: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
always: JQueryPromiseOperator<any, T>;
/**
* Add handlers to be called when the Deferred object is resolved.
*
* @param doneCallbacks1 A function, or array of functions, that are called when the Deferred is resolved.
* @param doneCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is resolved.
*/
done(doneCallbacks1?: JQueryPromiseCallback<T>, ...doneCallbacks2: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
done: JQueryPromiseOperator<T, T>;
/**
* Add handlers to be called when the Deferred object is rejected.
*
* @param failCallbacks1 A function, or array of functions, that are called when the Deferred is rejected.
* @param failCallbacks2 Optional additional functions, or arrays of functions, that are called when the Deferred is rejected.
*/
fail(failCallbacks1?: JQueryPromiseCallback<T>, ...failCallbacks2: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
fail: JQueryPromiseOperator<any, T>;
/**
* Add handlers to be called when the Deferred object generates progress notifications.
*
* @param progressCallbacks A function, or array of functions, to be called when the Deferred generates progress notifications.
*/
progress(...progressCallbacks: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
/**
* Add handlers to be called when the Deferred object is either resolved or rejected.
*
* @param alwaysCallbacks A function, or array of functions, that is called when the Deferred is resolved or rejected.
*/
always(...alwaysCallbacks: any[]): JQueryPromise<T>;
/**
* Add handlers to be called when the Deferred object is resolved.
*
* @param doneCallbacks A function, or array of functions, that are called when the Deferred is resolved.
*/
done(...doneCallbacks: any[]): JQueryPromise<T>;
/**
* Add handlers to be called when the Deferred object is rejected.
*
* @param failCallbacks A function, or array of functions, that are called when the Deferred is rejected.
*/
fail(...failCallbacks: any[]): JQueryPromise<T>;
/**
* Add handlers to be called when the Deferred object generates progress notifications.
*
* @param progressCallbacks A function, or array of functions, to be called when the Deferred generates progress notifications.
*/
progress(...progressCallbacks: any[]): JQueryPromise<T>;
progress(progressCallback: JQueryPromiseCallback<T>): JQueryPromise<T>;
progress(progressCallbacks: JQueryPromiseCallback<T>[]): JQueryPromise<T>;
/**
* Determine the current state of a Deferred object.
@@ -479,8 +460,9 @@ interface JQueryDeferred<T> extends JQueryPromise<T> {
*
* @param progressCallbacks A function, or array of functions, to be called when the Deferred generates progress notifications.
*/
progress(...progressCallbacks: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
progress(progressCallback: JQueryPromiseCallback<T>): JQueryDeferred<T>;
progress(progressCallbacks: JQueryPromiseCallback<T>[]): JQueryDeferred<T>;
/**
* Call the progressCallbacks on a Deferred object with the given args.
*