From 44189dc2da222c78376a9571a93e56b45f0a434f Mon Sep 17 00:00:00 2001 From: DeMoorJasper Date: Thu, 19 Jul 2018 11:00:32 -0700 Subject: [PATCH] support error strings --- src/workerfarm/errorUtils.js | 38 ++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/workerfarm/errorUtils.js b/src/workerfarm/errorUtils.js index fd7de98d092..f6dd3a7e542 100644 --- a/src/workerfarm/errorUtils.js +++ b/src/workerfarm/errorUtils.js @@ -1,22 +1,30 @@ function errorToJson(error) { - let jsonError = { - message: error.message, - stack: error.stack, - name: error.name - }; - // Add all custom codeFrame properties - Object.keys(error).forEach(key => { - jsonError[key] = error[key]; - }); - return jsonError; + if (typeof error === 'string') { + return {message: error}; + } + + if (error instanceof Error) { + let jsonError = { + message: error.message, + stack: error.stack, + name: error.name + }; + // Add all custom codeFrame properties + Object.keys(error).forEach(key => { + jsonError[key] = error[key]; + }); + return jsonError; + } } function jsonToError(json) { - let error = new Error(json.message); - Object.keys(json).forEach(key => { - error[key] = json[key]; - }); - return error; + if (json) { + let error = new Error(json.message); + Object.keys(json).forEach(key => { + error[key] = json[key]; + }); + return error; + } } exports.errorToJson = errorToJson;