@xylabs/assert


Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Reference
@xylabs/assert
Functions
functions
assertDefinedEx
@xylabs/assert
Implementation of assertDefinedEx that handles all overloads.
Call Signature
function assertDefinedEx<T>(expr, messageFunc?): T;
Asserts that a value is defined (not undefined) and returns the value.
Throws an error if the value is undefined.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for being defined
undefined | T
messageFunc?
AssertExMessageFunc<T>
Function that returns a message for the error if expression is undefined
Returns
T
The value of the expression (guaranteed to be defined)
Throws
Error with the message returned by messageFunc
Example
const value = assertDefinedEx(possiblyUndefined, () => 'Value must be defined')
const config: Config | undefined = loadConfig()
const safeConfig = assertDefinedEx(config, () => 'Config failed to load')
Call Signature
function assertDefinedEx<T, R>(expr, errorFunc?): T;
Asserts that a value is defined (not undefined) and returns the value.
Throws a custom error if the value is undefined.
Type Parameters
T
T
The type of value to check
R
R extends Error
The type of error to throw
Parameters
expr
Expression to be evaluated for being defined
undefined | T
errorFunc?
AssertExErrorFunc<T, R>
Function that returns a custom error instance if expression is undefined
Returns
T
The value of the expression (guaranteed to be defined)
Throws
Custom error returned by errorFunc
Example
const user = assertDefinedEx(getUser(), () => new UserNotFoundError('User not found'))
Call Signature
function assertDefinedEx<T>(expr): T;
Asserts that a value is defined (not undefined) and returns the value.
Throws an error if the value is undefined.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for being defined
undefined | T
Returns
T
The value of the expression (guaranteed to be defined)
Deprecated
Use overload with message function instead - passing a message will soon be required
Throws
Error with a generic message
Call Signature
function assertDefinedEx<T>(expr, message?): T;
Asserts that a value is defined (not undefined) and returns the value.
Throws an error with the provided message if the value is undefined.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for being defined
undefined | T
message?
string
Error message if expression is undefined
Returns
T
The value of the expression (guaranteed to be defined)
Deprecated
Replace string with () => string for consistency
Throws
Error with the provided message
assertEx
@xylabs/assert
Implementation of assertEx that handles all overloads.
Call Signature
function assertEx<T>(expr, messageFunc?): T;
Asserts that an expression is truthy and returns the value.
Throws an error if the expression is falsy.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for truthiness
undefined | null | T
messageFunc?
AssertExMessageFunc<T>
Function that returns a message for the error if expression is falsy
Returns
T
The value of the expression (guaranteed to be truthy)
Throws
Error with the message returned by messageFunc
Example
const value = assertEx(possiblyFalsy, () => 'Value must be truthy')
const config: Config | null = loadConfig()
const safeConfig = assertEx(config, () => 'Config failed to load')
Call Signature
function assertEx<T, R>(expr, errorFunc?): T;
Asserts that an expression is truthy and returns the value.
Throws a custom error if the expression is falsy.
Type Parameters
T
T
The type of value to check
R
R extends Error
The type of error to throw
Parameters
expr
Expression to be evaluated for truthiness
undefined | null | T
errorFunc?
AssertExErrorFunc<T, R>
Function that returns a custom error instance if expression is falsy
Returns
T
The value of the expression (guaranteed to be truthy)
Throws
Custom error returned by errorFunc
Example
const user = assertEx(getUser(), () => new UserNotFoundError('User not found'))
Call Signature
function assertEx<T>(expr): T;
Asserts that an expression is truthy and returns the value.
Throws an error if the expression is falsy.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for truthiness
undefined | null | T
Returns
T
The value of the expression (guaranteed to be truthy)
Deprecated
Use overload with message function instead - passing a message will soon be required
Throws
Error with a generic message
Call Signature
function assertEx<T>(expr, message?): T;
Asserts that an expression is truthy and returns the value.
Throws an error with the provided message if the expression is falsy.
Type Parameters
T
T
The type of value to check
Parameters
expr
Expression to be evaluated for truthiness
undefined | null | T
message?
string
Error message if expression is falsy
Returns
T
The value of the expression (guaranteed to be truthy)
Deprecated
Replace string with () => string for consistency
Throws
Error with the provided message
Part of sdk-js
Maintainers
License
See the LICENSE file for license details
Credits
Made with 🔥 and ❄️ by XYLabs