From 53803111bade29a20c9a0d6fc5e5c90e9742441a Mon Sep 17 00:00:00 2001 From: Jasper De Moor Date: Sat, 21 Jul 2018 13:38:34 -0700 Subject: [PATCH] support error strings (#1761) --- .../core/parcel/src/workerfarm/errorUtils.js | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/packages/core/parcel/src/workerfarm/errorUtils.js b/packages/core/parcel/src/workerfarm/errorUtils.js index fd7de98d092..f6dd3a7e542 100644 --- a/packages/core/parcel/src/workerfarm/errorUtils.js +++ b/packages/core/parcel/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;