From 14466e27acf798e09503d3c48ceed299ad667729 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Thu, 29 Oct 2020 13:28:19 +0100 Subject: [PATCH] assertReturn (#735) --- packages/util/src/assert.ts | 10 ++++++++++ packages/util/src/index.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/util/src/assert.ts b/packages/util/src/assert.ts index cc898df66..559dde9ce 100644 --- a/packages/util/src/assert.ts +++ b/packages/util/src/assert.ts @@ -30,3 +30,13 @@ export default function assert (condition: unknown, message: string | MessageFn) ); } } + +/** + * @name assertReturn + * @summart Returns when the value is truthy, otherwise throws assertion error + */ +export function assertReturn (value: T | undefined | null, message: string | MessageFn): T { + assert(value, message); + + return value; +} diff --git a/packages/util/src/index.ts b/packages/util/src/index.ts index e4e63ae23..cb00c0ab5 100644 --- a/packages/util/src/index.ts +++ b/packages/util/src/index.ts @@ -7,7 +7,7 @@ import './polyfill'; * @summary Utility methods for this package are split into groups */ -export { default as assert } from './assert'; +export { default as assert, assertReturn } from './assert'; export { default as detectPackage } from './detectPackage'; export { default as extractTime } from './extractTime'; export { default as logger } from './logger';