npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@xylabs/assert

v5.0.80

Published

Base functionality used throughout XY Labs TypeScript/JavaScript libraries

Readme

@xylabs/assert

logo

main-build npm-badge npm-downloads-badge jsdelivr-badge npm-license-badge codacy-badge codeclimate-badge snyk-badge socket-badge

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

// Simple usage with a message function
const value = assertDefinedEx(possiblyUndefined, () => 'Value must be defined')

// Using with type narrowing
const config: Config | undefined = loadConfig()
const safeConfig = assertDefinedEx(config, () => 'Config failed to load')
// safeConfig is now type Config (not Config | undefined)

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

// Using with a custom error
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

// Simple usage with a message function
const value = assertEx(possiblyFalsy, () => 'Value must be truthy')

// Using with type narrowing
const config: Config | null = loadConfig()
const safeConfig = assertEx(config, () => 'Config failed to load')
// safeConfig is now type Config (not Config | null)

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

// Using with a custom error
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