https://github.com/geut/nanocustomassert
more than assert!
https://github.com/geut/nanocustomassert
assertion-library error-handling geut
Last synced: about 1 year ago
JSON representation
more than assert!
- Host: GitHub
- URL: https://github.com/geut/nanocustomassert
- Owner: geut
- License: mit
- Created: 2019-10-30T00:15:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-14T15:14:30.000Z (over 6 years ago)
- Last Synced: 2024-01-18T12:53:37.560Z (over 2 years ago)
- Topics: assertion-library, error-handling, geut
- Language: JavaScript
- Size: 75.2 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# nanocustomassert
[](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
> `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).
## License
MIT © A [**GEUT**](http://geutstudio.com/) project