From 12b39a17a0fff1115b53c42b1916239f1d9f4ee3 Mon Sep 17 00:00:00 2001 From: basarat Date: Wed, 13 Nov 2013 17:39:09 +1100 Subject: [PATCH 1/3] For #1258 --- angularjs/angular.d.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/angularjs/angular.d.ts b/angularjs/angular.d.ts index 921cbafc98..d420b6a57a 100755 --- a/angularjs/angular.d.ts +++ b/angularjs/angular.d.ts @@ -448,14 +448,15 @@ declare module ng { } interface IPromise { - then(successCallback: (promiseValue: T) => IHttpPromise, errorCallback?: (reason: any) => any): IPromise; - then(successCallback: (promiseValue: T) => IPromise, errorCallback?: (reason: any) => any): IPromise; - then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult): IPromise; + then(successCallback: (promiseValue: T) => IHttpPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => IHttpPromise): IPromise; + then(successCallback: (promiseValue: T) => IPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => IPromise): IPromise; + then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult, notifyCallback?: (state: any) => TResult): IPromise; } interface IDeferred { resolve(value?: T): void; reject(reason?: any): void; + notify(state?:any): void; promise: IPromise; } From ba8c8ffdf707b03c60fc993a154b1a791ba85bd2 Mon Sep 17 00:00:00 2001 From: basarat Date: Wed, 13 Nov 2013 19:37:34 +1100 Subject: [PATCH 2/3] No unwrapping for notify callback (ofcourse) --- angularjs/angular.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/angularjs/angular.d.ts b/angularjs/angular.d.ts index d420b6a57a..05cab37b3f 100755 --- a/angularjs/angular.d.ts +++ b/angularjs/angular.d.ts @@ -448,9 +448,9 @@ declare module ng { } interface IPromise { - then(successCallback: (promiseValue: T) => IHttpPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => IHttpPromise): IPromise; - then(successCallback: (promiseValue: T) => IPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => IPromise): IPromise; - then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult, notifyCallback?: (state: any) => TResult): IPromise; + then(successCallback: (promiseValue: T) => IHttpPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => any): IPromise; + then(successCallback: (promiseValue: T) => IPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => any): IPromise; + then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult, notifyCallback?: (state: any) => any): IPromise; } interface IDeferred { From b6d875402f4d6ece5c5f0fe0fa11e9f213138529 Mon Sep 17 00:00:00 2001 From: basarat Date: Wed, 13 Nov 2013 19:46:46 +1100 Subject: [PATCH 3/3] Catch and finally --- angularjs/angular.d.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/angularjs/angular.d.ts b/angularjs/angular.d.ts index 05cab37b3f..0618f05805 100755 --- a/angularjs/angular.d.ts +++ b/angularjs/angular.d.ts @@ -451,6 +451,13 @@ declare module ng { then(successCallback: (promiseValue: T) => IHttpPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => any): IPromise; then(successCallback: (promiseValue: T) => IPromise, errorCallback?: (reason: any) => any, notifyCallback?: (state: any) => any): IPromise; then(successCallback: (promiseValue: T) => TResult, errorCallback?: (reason: any) => TResult, notifyCallback?: (state: any) => any): IPromise; + + + catch(onRejected: (reason: any) => IHttpPromise): IPromise; + catch(onRejected: (reason: any) => IPromise): IPromise; + catch(onRejected: (reason: any) => TResult): IPromise; + + finally(finallyCallback: ()=>any):IPromise; } interface IDeferred {