mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Add support for tapCatch to bluebird typings (#15046)
* Add typings for tapCatch * Add tests for tapCatch * Add Promise.version to typings * Bump the version in the description * Add alias for tapCatch to bluebird-global
This commit is contained in:
parent
390f797c4f
commit
6dc2139daf
3
bluebird-global/index.d.ts
vendored
3
bluebird-global/index.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
// Type definitions for bluebird 3.0
|
||||
// Type definitions for bluebird 3.5
|
||||
// Project: https://github.com/petkaantonov/bluebird
|
||||
// Definitions by: d-ph <https://github.com/d-ph>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@ -76,6 +76,7 @@ declare global {
|
||||
spread: typeof Bluebird.prototype.spread;
|
||||
suppressUnhandledRejections: typeof Bluebird.prototype.suppressUnhandledRejections;
|
||||
tap: typeof Bluebird.prototype.tap;
|
||||
tapCatch: typeof Bluebird.prototype.tapCatch;
|
||||
// then: typeof Bluebird.prototype.then;
|
||||
thenReturn: typeof Bluebird.prototype.thenReturn;
|
||||
thenThrow: typeof Bluebird.prototype.thenThrow;
|
||||
|
||||
@ -151,6 +151,10 @@ var BlueBird: typeof Promise;
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
var version: string = Promise.version;
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
var nodeCallbackFunc = (callback: (err: any, result: string) => void) => {}
|
||||
var nodeCallbackFuncErrorOnly = (callback: (err: any) => void) => {}
|
||||
|
||||
@ -336,14 +340,12 @@ fooOrBarProm = fooProm.caught(Promise.CancellationError, (reason: any) => {
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
{
|
||||
class CustomError extends Error {
|
||||
public customField: number;
|
||||
}
|
||||
fooProm = fooProm.catch(CustomError, reason => {
|
||||
let a: number = reason.customField
|
||||
})
|
||||
class CustomError extends Error {
|
||||
public customField: number;
|
||||
}
|
||||
fooProm = fooProm.catch(CustomError, reason => {
|
||||
let a: number = reason.customField
|
||||
})
|
||||
|
||||
{
|
||||
class CustomErrorWithConstructor extends Error {
|
||||
@ -433,6 +435,24 @@ fooProm = fooProm.tap(() => {
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
fooProm = fooProm.tapCatch((err) => {
|
||||
return "foo";
|
||||
});
|
||||
|
||||
fooProm = fooProm.tapCatch(err => {
|
||||
return Promise.resolve("foo");
|
||||
});
|
||||
|
||||
fooProm.tapCatch(CustomError, (err: CustomError) => {
|
||||
return err.customField;
|
||||
});
|
||||
|
||||
fooProm.tapCatch((e: any) => e instanceof CustomError, (err: CustomError) => {
|
||||
return err.customField;
|
||||
});
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
fooProm = fooProm.delay(num);
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
25
bluebird/index.d.ts
vendored
25
bluebird/index.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
// Type definitions for bluebird 3.0.0
|
||||
// Type definitions for bluebird 3.5.0
|
||||
// Project: https://github.com/petkaantonov/bluebird
|
||||
// Definitions by: Leonard Hecker <https://github.com/lhecker>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@ -68,19 +68,19 @@ declare class Bluebird<R> implements Bluebird.Thenable<R>, Bluebird.Inspection<R
|
||||
*/
|
||||
catch(predicate: (error: any) => boolean, onReject: (error: any) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
caught(predicate: (error: any) => boolean, onReject: (error: any) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
|
||||
|
||||
catch<U>(predicate: (error: any) => boolean, onReject: (error: any) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
caught<U>(predicate: (error: any) => boolean, onReject: (error: any) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
|
||||
|
||||
catch<E extends Error>(ErrorClass: new (...args: any[]) => E, onReject: (error: E) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
caught<E extends Error>(ErrorClass: new (...args: any[]) => E, onReject: (error: E) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
|
||||
catch<E extends Error, U>(ErrorClass: new (...args: any[]) => E, onReject: (error: E) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
caught<E extends Error, U>(ErrorClass: new (...args: any[]) => E, onReject: (error: E) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
|
||||
|
||||
catch(predicate: Object, onReject: (error: any) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
caught(predicate: Object, onReject: (error: any) => R | Bluebird.Thenable<R> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
|
||||
|
||||
catch<U>(predicate: Object, onReject: (error: any) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
caught<U>(predicate: Object, onReject: (error: any) => U | Bluebird.Thenable<U>): Bluebird<U | R>;
|
||||
|
||||
@ -114,6 +114,14 @@ declare class Bluebird<R> implements Bluebird.Thenable<R>, Bluebird.Inspection<R
|
||||
tap<U>(onFulFill: (value: R) => Bluebird.Thenable<U>): Bluebird<R>;
|
||||
tap<U>(onFulfill: (value: R) => U): Bluebird<R>;
|
||||
|
||||
/**
|
||||
* Like `.catch()` but rethrows the error
|
||||
*/
|
||||
tapCatch<U>(onReject: (error?: any) => U | Bluebird.Thenable<U> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
tapCatch<U, E extends Error>(ErrorClass: new (...args: any[]) => E, onReject: (error: E) => U | Bluebird.Thenable<U> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
tapCatch<U>(predicate: (error?: any) => boolean, onReject: (error?: any) => U | Bluebird.Thenable<U> | void | Bluebird.Thenable<void>): Bluebird<R>;
|
||||
|
||||
|
||||
/**
|
||||
* Same as calling `Promise.delay(ms, this)`.
|
||||
*/
|
||||
@ -321,7 +329,7 @@ declare class Bluebird<R> implements Bluebird.Thenable<R>, Bluebird.Inspection<R
|
||||
|
||||
/**
|
||||
* Basically sugar for doing: somePromise.catch(function(){});
|
||||
*
|
||||
*
|
||||
* Which is needed in case error handlers are attached asynchronously to the promise later, which would otherwise result in premature unhandled rejection reporting.
|
||||
*/
|
||||
suppressUnhandledRejections(): void;
|
||||
@ -631,6 +639,11 @@ declare class Bluebird<R> implements Bluebird.Thenable<R>, Bluebird.Inspection<R
|
||||
/** Enable monitoring */
|
||||
monitoring?: boolean;
|
||||
}): void;
|
||||
|
||||
/**
|
||||
* The version number of the library
|
||||
*/
|
||||
static version: string;
|
||||
}
|
||||
|
||||
declare namespace Bluebird {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user