Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/floatdrop/create-error-class
Create Error classes
https://github.com/floatdrop/create-error-class
Last synced: 5 days ago
JSON representation
Create Error classes
- Host: GitHub
- URL: https://github.com/floatdrop/create-error-class
- Owner: floatdrop
- License: mit
- Created: 2015-07-19T15:33:02.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-11-27T16:33:48.000Z (about 6 years ago)
- Last Synced: 2024-12-24T16:08:13.853Z (12 days ago)
- Language: JavaScript
- Size: 11.7 KB
- Stars: 42
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# create-error-class [![Build Status](https://travis-ci.org/floatdrop/create-error-class.svg?branch=master)](https://travis-ci.org/floatdrop/create-error-class)
> Create error class
## Install
```
$ npm install --save create-error-class
```## Usage
```js
var createErrorClass = require('create-error-class');var HTTPError = createErrorClass('HTTPError', function (props) {
this.message = 'Status code is ' + props.statusCode;
});throw new HTTPError({statusCode: 404});
```## API
### createErrorClass(className, [setup])
Return constructor of Errors with `className`.
#### className
*Required*
Type: `string`Class name of Error Object. Should contain characters from `[0-9a-zA-Z_$]` range.
#### setup
Type: `function`Setup function, that will be called after each Error object is created from constructor with context of Error object.
By default `setup` function sets `this.message` as first argument:
```js
var MyError = createErrorClass('MyError');new MyError('Something gone wrong!').message; // => 'Something gone wrong!'
```## License
MIT © [Vsevolod Strukchinsky](http://github.com/floatdrop)