A simple helper for creating subclassed errors in Javascript.
$ npm install create-error
$ bower install create-error
var createError = require('create-error');
var MyCustomError = createError('MyCustomError');
var SubCustomError = createError(MyCustomError, 'CoolSubError', {messages: []});
var sub = new SubCustomError('My Message', {someVal: 'value'});
sub instanceof SubCustomError // true
sub instanceof MyCustomError // true
sub instanceof Error // true
assert.deepEqual(sub.messages, []) // true
assert.equal(sub.someVal, 'value') // true
Creates a new error by specifying the name of the error to be created, taking an optional hash of properties to be attached to the error class upon creation.
Create a new error by specifying the Target
error class we wish to inherit from,
along with an optional name and properties for the error. If the name
is omitted,
it will have the same name as the parent error.
In the browser, the function will be assigned to window.createError
,
and createError.noConflict()
will restore the original window.createError
if overwritten.
MIT