diff --git a/index.js b/index.js index f3076a7..89c3c71 100644 --- a/index.js +++ b/index.js @@ -225,6 +225,9 @@ function copy (src) { else if (src instanceof Date) { dst = new Date(src); } + else if (src instanceof Error) { + dst = { message: src.message }; + } else if (src instanceof Boolean) { dst = new Boolean(src); } diff --git a/test/error.js b/test/error.js new file mode 100644 index 0000000..30e37d2 --- /dev/null +++ b/test/error.js @@ -0,0 +1,13 @@ +var assert = require('assert'); +var Traverse = require('../'); + +exports['traverse an Error'] = function () { + var obj = new Error("test"); + + var results = Traverse(obj).map(function (node) { }); + + assert.deepEqual(results, { + message: 'test' + }); +}; +