summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/node_modules/create-error-class/readme.md
blob: 1076de88ebc37160787fbc73675ea4567222bd6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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)