UNPKG

nanoassert

Version:
51 lines (31 loc) 1.49 kB
# `nanoassert` [![NPM](https://github.com/emilbayes/nanoassert/actions/workflows/npm.yml/badge.svg)](https://github.com/emilbayes/nanoassert/actions/workflows/npm.yml) > Nanoscale assertion module ## Usage ```js const assert = require('nanoassert') assert(a !== b, `${a} !== ${b}`) ``` ## API ### `assert(predicate, [message])` Assert that `predicate` is truthy, otherwise throw `AssertionError` with optional `message`. In Javascript runtimes that support `Error.captureStackTrace`, you will get a nicer stack trace with this error. If you want friendlier messages you can use template strings to show the assertion made like in the example above. ## Why I like to write public facing code very defensively, but have reservations about the size incurred by the `assert` module. I only use the top-level `assert` method anyway. ## `nanoassert@^1.1.0` Docs for the previous version, which is used by many modules on npm, can be [found here](https://github.com/emilbayes/nanoassert/tree/v1.1.0) ## `nanoassert@^3.0.0` Modernise `nanoassert` some, and add the small type definition from `DefinitelyTyped`. Functionally there should be no changes for most users, but the `name` property of the `AssertionError` is no longer set on the prototype, and newer syntax is employed, which might break some downstream modules. Thank you to the folks that created and maintained the original type definitions. ## Install ```sh npm install nanoassert ``` ## License [ISC](LICENSE)