https://github.com/tableflip/boom-clone
Like `Boom.wrap`, but returns a cloned boomified error...because `Boom.wrap` mutates your error object.
https://github.com/tableflip/boom-clone
Last synced: 12 months ago
JSON representation
Like `Boom.wrap`, but returns a cloned boomified error...because `Boom.wrap` mutates your error object.
- Host: GitHub
- URL: https://github.com/tableflip/boom-clone
- Owner: tableflip
- License: agpl-3.0
- Created: 2017-05-30T12:51:17.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-31T08:57:24.000Z (about 9 years ago)
- Last Synced: 2025-06-11T00:50:52.552Z (about 1 year ago)
- Language: JavaScript
- Size: 19.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# boom-clone [](https://travis-ci.org/tableflip/boom-clone) [](https://david-dm.org/tableflip/boom-clone)
Like `Boom.wrap`, but returns a cloned boomified error...because `Boom.wrap` mutates your error object.
## Example
```js
var Boom = require('boom')
var boomClone = require('boom-clone')
var Assert = require('assert')
// Boomify a basic error, without mutating:
var basicErr = new Error('Boom!')
// Same API as Boom.wrap
var err = boomClone(basicErr, 500, 'A bad')
Assert.ok(err !== basicErr) // Not same error object
Assert.ok(basicErr.isBoom !== true) // Original NOT boomified
Assert.ok(err.isBoom) // Cloned has been boomified
Assert.equal(err.output.statusCode, 500) // Status set
Assert.equal(err.message, 'A bad') // Message set
// Clone a boom:
var boomErr = Boom.create(500)
var err = boomClone(boomErr)
Assert.ok(err !== basicErr) // Not same error object
Assert.ok(err.isBoom) // still a boom though
```
## API
## `boomClone(error, [statusCode], [message])`
Return a cloned boomified error object.
* `error` A JavaScript Error object
* `[statusCode]` Optional HTTP status code
* `[message]` Optional error message
NOTE: `statusCode` and `message` are invalid params(!) if passed along with an already boomified `error`.
---
A [(╯°□°)╯︵TABLEFLIP](https://tableflip.io) side project.