errate
Converts a value into an Error of the specified type.
Installation
Requires Node.js 6.0.0 or above.
npm i errate
API
The module exports a single function.
Parameters
- Optional:
e
(string, Error object, boolean, or null): The error message, or an existing Error object. If null
or a boolean, the returned Error will have no message. - Optional:
Cls
(Error class): The desired class of the returned Error (such as TypeError
or RangeError
). Defaults to Error
. - Optional: Object argument:
defaultMessage
(string): The first argument that will be provided to the constructor if an Error object is being created (i.e. if e
is true
or “falsey”).forceClass
(boolean): If set to true
, instances of other Error
classes will be converted to instances of Cls
. If set to false
, Cls
will only be used to wrap string errors. Defaults to true
.
Return Value
An Error of the specified class.
Examples
Default Class With Message
const errate = require('errate')
const err = errate('Message')
err instanceof Error
err.message
Default Class Without Message
const errate = require('errate')
const err = errate()
err instanceof Error
err.message
Error Subclass With Message
const errate = require('errate')
const err = errate('Message', TypeError)
err instanceof TypeError
err.message
Error Subclass Without Message
const errate = require('errate')
const err = errate(TypeError)
err instanceof TypeError
err.message
Error Class Conversion
const errate = require('errate')
const err = errate(new TypeError('Message'), RangeError)
err instanceof RangeError
err.message