From b25ee43255b939a28e99bae697bb82f73c0e8129 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Fri, 27 Nov 2020 10:11:40 +0100 Subject: [PATCH] Make isBoom type definition laxer Especially useful in hapijs context, where request.response can be a Boom object. This change allows the TypeScript code to leverage isBoom() to check if request.response is a Boom object or not, without any noisy typecast. --- lib/index.d.ts | 6 +++--- test/index.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/index.d.ts b/lib/index.d.ts index b5f9dd4..62391f1 100755 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -127,14 +127,14 @@ export interface Output { /** -* Specifies if an error object is a valid boom object +* Specifies if an object is a valid boom object * -* @param err - The error object +* @param obj - The object to assess * @param statusCode - Optional status code * * @returns Returns a boolean stating if the error object is a valid boom object and it has the provided statusCode (if present) */ -export function isBoom(err: Error, statusCode?: number): err is Boom; +export function isBoom(obj: unknown, statusCode?: number): obj is Boom; /** diff --git a/test/index.ts b/test/index.ts index 2cf23da..a4d6f5d 100755 --- a/test/index.ts +++ b/test/index.ts @@ -60,11 +60,11 @@ expect.type(Boom.boomify(error).isBoom); expect.type(Boom.isBoom(error)); expect.type(Boom.isBoom(error, 404)); expect.type(Boom.isBoom(Boom.boomify(error))); +expect.type(Boom.isBoom('error')); +expect.type(Boom.isBoom({ foo: 'bar' })); +expect.type(Boom.isBoom({ error: true })); expect.error(Boom.isBoom(error, 'test')); -expect.error(Boom.isBoom('error')); -expect.error(Boom.isBoom({ foo: 'bar' })); -expect.error(Boom.isBoom({ error: true })); expect.error(Boom.isBoom());