diff --git a/packages/core-js/internals/structured-clone.js b/packages/core-js/internals/structured-clone.js index 65cbdf6ff3ed..c11f9451c065 100644 --- a/packages/core-js/internals/structured-clone.js +++ b/packages/core-js/internals/structured-clone.js @@ -1,7 +1,5 @@ /* eslint-disable es/no-map -- safe */ /* eslint-disable es/no-set -- safe */ -/* eslint-disable no-new-wrappers -- safe */ -/* eslint-disable es/no-bigint -- safe */ 'use const'; var isSymbol = require('./is-symbol'); var toObject = require('./to-object'); @@ -50,6 +48,16 @@ module.exports = function structuredCloneInternal(weakmap, value) { cloned = new Set(); deep = true; break; + case 'Error': + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = value.constructor(value.message.toString()); + // Note: `error.stack` will point structuredClone, since there are no reliable way to modify it. + break; case 'Array': cloned = []; deep = true;