From 9f9d58db2154e4d86890b0acc4fdb9efeba01172 Mon Sep 17 00:00:00 2001 From: MaceWindu Date: Wed, 26 Mar 2014 17:20:55 +0100 Subject: [PATCH] Fix callback parameters type for $.Deffered methods --- jquery/jquery.d.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts index b42f77aaa..07a4062d9 100644 --- a/jquery/jquery.d.ts +++ b/jquery/jquery.d.ts @@ -287,6 +287,13 @@ interface JQueryGenericPromise { then(doneFilter: (value: T) => JQueryGenericPromise, failFilter?: (reason: any) => JQueryGenericPromise): JQueryGenericPromise; } +/** + * Interface for the JQuery promise/deffered callbacks + */ +interface JQueryPromiseCallback { + (value?: T, ...args: any[]): void; +} + /** * Interface for the JQuery promise, part of callbacks */ @@ -297,27 +304,27 @@ 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(alwaysCallbacks1?: T, ...alwaysCallbacks2: T[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback, ...alwaysCallbacks2: 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?: T, ...doneCallbacks2: T[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback, ...doneCallbacks2: 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?: T, ...failCallbacks2: T[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback, ...failCallbacks2: 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(...progressCallbacks: T[]): JQueryDeferred; + progress(...progressCallbacks: JQueryPromiseCallback[]): JQueryDeferred; /** * Add handlers to be called when the Deferred object is either resolved or rejected. @@ -425,27 +432,27 @@ 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?: T, ...alwaysCallbacks2: T[]): JQueryDeferred; + always(alwaysCallbacks1?: JQueryPromiseCallback, ...alwaysCallbacks2: 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?: T, ...doneCallbacks2: T[]): JQueryDeferred; + done(doneCallbacks1?: JQueryPromiseCallback, ...doneCallbacks2: 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?: T, ...failCallbacks2: T[]): JQueryDeferred; + fail(failCallbacks1?: JQueryPromiseCallback, ...failCallbacks2: 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(...progressCallbacks: T[]): JQueryDeferred; + progress(...progressCallbacks: JQueryPromiseCallback[]): JQueryDeferred; /** * Call the progressCallbacks on a Deferred object with the given args.