diff options
Diffstat (limited to 'ext/js')
-rw-r--r-- | ext/js/core.js | 13 | ||||
-rw-r--r-- | ext/js/templates/sandbox/template-renderer-frame-api.js | 9 |
2 files changed, 15 insertions, 7 deletions
diff --git a/ext/js/core.js b/ext/js/core.js index 16d81b67..c43d7828 100644 --- a/ext/js/core.js +++ b/ext/js/core.js @@ -23,12 +23,15 @@ function serializeError(error) { try { if (typeof error === 'object' && error !== null) { - return { + const result = { name: error.name, message: error.message, - stack: error.stack, - data: error.data + stack: error.stack }; + if (Object.prototype.hasOwnProperty.call(error, 'data')) { + result.data = error.data; + } + return result; } } catch (e) { // NOP @@ -51,7 +54,9 @@ function deserializeError(serializedError) { const error = new Error(serializedError.message); error.name = serializedError.name; error.stack = serializedError.stack; - error.data = serializedError.data; + if (Object.prototype.hasOwnProperty.call(serializedError, 'data')) { + error.data = serializedError.data; + } return error; } diff --git a/ext/js/templates/sandbox/template-renderer-frame-api.js b/ext/js/templates/sandbox/template-renderer-frame-api.js index f234c8e0..af83425b 100644 --- a/ext/js/templates/sandbox/template-renderer-frame-api.js +++ b/ext/js/templates/sandbox/template-renderer-frame-api.js @@ -72,12 +72,15 @@ class TemplateRendererFrameApi { _serializeError(error) { try { if (typeof error === 'object' && error !== null) { - return { + const result = { name: error.name, message: error.message, - stack: error.stack, - data: error.data + stack: error.stack }; + if (Object.prototype.hasOwnProperty.call(error, 'data')) { + result.data = error.data; + } + return result; } } catch (e) { // NOP |