nanoassert
Version:
Nanoscale assertion module
51 lines (31 loc) • 1.49 kB
Markdown
[](https://github.com/emilbayes/nanoassert/actions/workflows/npm.yml)
> Nanoscale assertion module
```js
const assert = require('nanoassert')
assert(a !== b, `${a} !== ${b}`)
```
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.
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.
Docs for the previous version, which is used by many modules on npm, can be
[](https://github.com/emilbayes/nanoassert/tree/v1.1.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.
```sh
npm install nanoassert
```
[](LICENSE)