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 |