boom-clone

Like Boom.wrap, but returns a cloned boomified error...because Boom.wrap mutates your error object.
Example
var Boom = require('boom')
var boomClone = require('boom-clone')
var Assert = require('assert')
var basicErr = new Error('Boom!')
var err = boomClone(basicErr, 500, 'A bad')
Assert.ok(err !== basicErr)
Assert.ok(basicErr.isBoom !== true)
Assert.ok(err.isBoom)
Assert.equal(err.output.statusCode, 500)
Assert.equal(err.message, 'A bad')
var boomErr = Boom.create(500)
var err = boomClone(boomErr)
Assert.ok(err !== basicErr)
Assert.ok(err.isBoom)
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 side project.