nanocustomassert
Version:
more than assert
64 lines (40 loc) • 2.24 kB
Markdown
//travis-ci.com/geut/nanocustomassert.svg?branch=master)](https://travis-ci.com/geut/nanocustomassert)
[](https://standardjs.com)
[](https://github.com/RichardLitt/standard-readme)
> assert your code + throw custom errors = 🎰
```
npm i nanocustomassert
```
```javascript
const assert = require('nanocustomassert')
// simple assert => AssertionError
assert('a' === 'a', 'should be equal')
// or custom errors => MyError
class MyError extends Error {}
const key1 = 'a1'
const key2 = 'b2'
assert(key1 === key2, MyError)
// or nanoerrors!!!
const nanoerror = require('nanoerror')
const CoolError = nanoerror('COOL_ERR', '🤖COOL ERROR FOUND: %s')
assert(false, CoolError, "Oops 🙈")
```
`const assert = require('nanocustomassert')`
> `assert(expresion: JS expresion, message: string || function constructor, ...params)`
Evaluates the expresion, if falsy throws an AssertionError or a custom error. See [nanoerror](https://github.com/geut/nanoerror).
- expression: the expresion to assert
- message: can be a `string` used as a message for the AssertionError or a `function` constructor. This is useful to throw a custom error. **Optional**
- params: these params are applied to the custom constructor function. **Optional**
This module is heavily inspired by [nanoassert](https://github.com/emilbayes/nanoassert) from Emil Bayes. :clap:
:bug: If you found an issue we encourage you to report it on [github](https://github.com/geut/nanocustomassert/issues). Please specify your OS and the actions to reproduce it.
:busts_in_silhouette: Ideas and contributions to the project are welcome. You must follow this [guideline](https://github.com/geut/nanocustomassert/blob/master/CONTRIBUTING.md).
MIT © A [**GEUT**](http://geutstudio.com/) project
[![Build Status](https: