diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts index b827111201..203180150e 100644 --- a/jquery/jquery.d.ts +++ b/jquery/jquery.d.ts @@ -283,12 +283,12 @@ interface JQueryGenericPromise { * Interface for the JQuery promise/deferred callbacks */ interface JQueryPromiseCallback { - (value?: T, ...args: any[]): void; + (value?: T, ...args: T[]): void; } -interface JQueryPromiseOperator { - (callback: JQueryPromiseCallback, ...callbacks: JQueryPromiseCallback[]): JQueryPromise; - (callback: JQueryPromiseCallback[], ...callbacks: JQueryPromiseCallback[]): JQueryPromise; +interface JQueryPromiseOperator { + (callback1: JQueryPromiseCallback, ...callbackN: JQueryPromiseCallback[]): JQueryPromise; + (callbacks1: JQueryPromiseCallback[], ...callbacksN: JQueryPromiseCallback[][]): JQueryPromise; } /** @@ -301,28 +301,31 @@ interface JQueryPromise { * @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: JQueryPromiseOperator; + always(alwaysCallback1?: JQueryPromiseCallback, ...alwaysCallbackN: JQueryPromiseCallback[]): JQueryPromise; + always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacksN: JQueryPromiseCallback[][]): JQueryPromise; /** * 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: JQueryPromiseOperator; + done(doneCallback1?: JQueryPromiseCallback, ...doneCallbackN: JQueryPromiseCallback[]): JQueryPromise; + done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacksN: JQueryPromiseCallback[][]): JQueryPromise; /** * 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: JQueryPromiseOperator; + fail(failCallback1?: JQueryPromiseCallback, ...failCallbackN: JQueryPromiseCallback[]): JQueryPromise; + fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacksN: JQueryPromiseCallback[][]): JQueryPromise; /** * 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(progressCallback: JQueryPromiseCallback): JQueryPromise; - progress(progressCallbacks: JQueryPromiseCallback[]): JQueryPromise; + progress(progressCallback1?: JQueryPromiseCallback, ...progressCallbackN: JQueryPromiseCallback[]): JQueryPromise; + progress(progressCallback1s?: JQueryPromiseCallback[], ...progressCallbacksN: JQueryPromiseCallback[][]): JQueryPromise; /** * Determine the current state of a Deferred object. @@ -362,44 +365,38 @@ interface JQueryDeferred extends JQueryPromise { * @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, ...alwaysCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - always(alwaysCallbacks1?: JQueryPromiseCallback, ...alwaysCallbacks2: any[]): JQueryDeferred; - always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacks2: any[]): JQueryDeferred; + always(alwaysCallback1?: JQueryPromiseCallback, ...alwaysCallbackN: JQueryPromiseCallback[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback[], ...alwaysCallbacksN: JQueryPromiseCallback[][]): JQueryDeferred; /** * 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, ...doneCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - done(doneCallbacks1?: JQueryPromiseCallback, ...doneCallbacks2: any[]): JQueryDeferred; - done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacks2: any[]): JQueryDeferred; + done(doneCallback1?: JQueryPromiseCallback, ...doneCallbackN: JQueryPromiseCallback[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback[], ...doneCallbacksN: JQueryPromiseCallback[][]): JQueryDeferred; /** * 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, ...failCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacks2: JQueryPromiseCallback[]): JQueryDeferred; - fail(failCallbacks1?: JQueryPromiseCallback, ...failCallbacks2: any[]): JQueryDeferred; - fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacks2: any[]): JQueryDeferred; + fail(failCallback1?: JQueryPromiseCallback, ...failCallbackN: JQueryPromiseCallback[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback[], ...failCallbacksN: JQueryPromiseCallback[][]): JQueryDeferred; /** * 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(progressCallback: JQueryPromiseCallback): JQueryDeferred; - progress(progressCallbacks: JQueryPromiseCallback[]): JQueryDeferred; + progress(progressCallback1?: JQueryPromiseCallback, ...progressCallbackN: JQueryPromiseCallback[]): JQueryDeferred; + progress(progressCallbacks1?: JQueryPromiseCallback[], ...progressCallbacksN: JQueryPromiseCallback[][]): JQueryDeferred; /** * Call the progressCallbacks on a Deferred object with the given args. * * @param args Optional arguments that are passed to the progressCallbacks. */ - notify(...args: any[]): JQueryDeferred; + notify(...args: T[]): JQueryDeferred; /** * Call the progressCallbacks on a Deferred object with the given context and args. @@ -407,21 +404,21 @@ interface JQueryDeferred extends JQueryPromise { * @param context Context passed to the progressCallbacks as the this object. * @param args Optional arguments that are passed to the progressCallbacks. */ - notifyWith(context: any, ...args: any[]): JQueryDeferred; + notifyWith(context: any, ...args: T[]): JQueryDeferred; /** * Reject a Deferred object and call any failCallbacks with the given args. * * @param args Optional arguments that are passed to the failCallbacks. */ - reject(...args: any[]): JQueryDeferred; + reject(...args: T[]): JQueryDeferred; /** * Reject a Deferred object and call any failCallbacks with the given context and args. * * @param context Context passed to the failCallbacks as the this object. * @param args An optional array of arguments that are passed to the failCallbacks. */ - rejectWith(context: any, ...args: any[]): JQueryDeferred; + rejectWith(context: any, ...args: T[]): JQueryDeferred; /** * Resolve a Deferred object and call any doneCallbacks with the given args. @@ -429,7 +426,7 @@ interface JQueryDeferred extends JQueryPromise { * @param value First argument passed to doneCallbacks. * @param args Optional subsequent arguments that are passed to the doneCallbacks. */ - resolve(value?: T, ...args: any[]): JQueryDeferred; + resolve(value?: T, ...args: T[]): JQueryDeferred; /** * Resolve a Deferred object and call any doneCallbacks with the given context and args. @@ -437,7 +434,7 @@ interface JQueryDeferred extends JQueryPromise { * @param context Context passed to the doneCallbacks as the this object. * @param args An optional array of arguments that are passed to the doneCallbacks. */ - resolveWith(context: any, ...args: any[]): JQueryDeferred; + resolveWith(context: any, ...args: T[]): JQueryDeferred; /** * Return a Deferred's Promise object.