| 'use strict'; | 
| /* eslint-disable no-unused-vars -- required for functions `.length` */ | 
| var $ = require('../internals/export'); | 
| var globalThis = require('../internals/global-this'); | 
| var apply = require('../internals/function-apply'); | 
| var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause'); | 
|   | 
| var WEB_ASSEMBLY = 'WebAssembly'; | 
| var WebAssembly = globalThis[WEB_ASSEMBLY]; | 
|   | 
| // eslint-disable-next-line es/no-error-cause -- feature detection | 
| var FORCED = new Error('e', { cause: 7 }).cause !== 7; | 
|   | 
| var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { | 
|   var O = {}; | 
|   O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); | 
|   $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); | 
| }; | 
|   | 
| var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { | 
|   if (WebAssembly && WebAssembly[ERROR_NAME]) { | 
|     var O = {}; | 
|     O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); | 
|     $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); | 
|   } | 
| }; | 
|   | 
| // https://tc39.es/ecma262/#sec-nativeerror | 
| exportGlobalErrorCauseWrapper('Error', function (init) { | 
|   return function Error(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('EvalError', function (init) { | 
|   return function EvalError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('RangeError', function (init) { | 
|   return function RangeError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('ReferenceError', function (init) { | 
|   return function ReferenceError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('SyntaxError', function (init) { | 
|   return function SyntaxError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('TypeError', function (init) { | 
|   return function TypeError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportGlobalErrorCauseWrapper('URIError', function (init) { | 
|   return function URIError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { | 
|   return function CompileError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { | 
|   return function LinkError(message) { return apply(init, this, arguments); }; | 
| }); | 
| exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { | 
|   return function RuntimeError(message) { return apply(init, this, arguments); }; | 
| }); |