'use strict'; 
 | 
var $ = require('../internals/export'); 
 | 
var globalThis = require('../internals/global-this'); 
 | 
var isPrototypeOf = require('../internals/object-is-prototype-of'); 
 | 
var getPrototypeOf = require('../internals/object-get-prototype-of'); 
 | 
var setPrototypeOf = require('../internals/object-set-prototype-of'); 
 | 
var copyConstructorProperties = require('../internals/copy-constructor-properties'); 
 | 
var create = require('../internals/object-create'); 
 | 
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); 
 | 
var createPropertyDescriptor = require('../internals/create-property-descriptor'); 
 | 
var installErrorStack = require('../internals/error-stack-install'); 
 | 
var normalizeStringArgument = require('../internals/normalize-string-argument'); 
 | 
var wellKnownSymbol = require('../internals/well-known-symbol'); 
 | 
var fails = require('../internals/fails'); 
 | 
var IS_PURE = require('../internals/is-pure'); 
 | 
  
 | 
var NativeSuppressedError = globalThis.SuppressedError; 
 | 
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 
 | 
var $Error = Error; 
 | 
  
 | 
// https://github.com/oven-sh/bun/issues/9282 
 | 
var WRONG_ARITY = !!NativeSuppressedError && NativeSuppressedError.length !== 3; 
 | 
  
 | 
// https://github.com/oven-sh/bun/issues/9283 
 | 
var EXTRA_ARGS_SUPPORT = !!NativeSuppressedError && fails(function () { 
 | 
  return new NativeSuppressedError(1, 2, 3, { cause: 4 }).cause === 4; 
 | 
}); 
 | 
  
 | 
var PATCH = WRONG_ARITY || EXTRA_ARGS_SUPPORT; 
 | 
  
 | 
var $SuppressedError = function SuppressedError(error, suppressed, message) { 
 | 
  var isInstance = isPrototypeOf(SuppressedErrorPrototype, this); 
 | 
  var that; 
 | 
  if (setPrototypeOf) { 
 | 
    that = PATCH && (!isInstance || getPrototypeOf(this) === SuppressedErrorPrototype) 
 | 
      ? new NativeSuppressedError() 
 | 
      : setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : SuppressedErrorPrototype); 
 | 
  } else { 
 | 
    that = isInstance ? this : create(SuppressedErrorPrototype); 
 | 
    createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); 
 | 
  } 
 | 
  if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); 
 | 
  installErrorStack(that, $SuppressedError, that.stack, 1); 
 | 
  createNonEnumerableProperty(that, 'error', error); 
 | 
  createNonEnumerableProperty(that, 'suppressed', suppressed); 
 | 
  return that; 
 | 
}; 
 | 
  
 | 
if (setPrototypeOf) setPrototypeOf($SuppressedError, $Error); 
 | 
else copyConstructorProperties($SuppressedError, $Error, { name: true }); 
 | 
  
 | 
var SuppressedErrorPrototype = $SuppressedError.prototype = PATCH ? NativeSuppressedError.prototype : create($Error.prototype, { 
 | 
  constructor: createPropertyDescriptor(1, $SuppressedError), 
 | 
  message: createPropertyDescriptor(1, ''), 
 | 
  name: createPropertyDescriptor(1, 'SuppressedError') 
 | 
}); 
 | 
  
 | 
if (PATCH && !IS_PURE) SuppressedErrorPrototype.constructor = $SuppressedError; 
 | 
  
 | 
// `SuppressedError` constructor 
 | 
// https://github.com/tc39/proposal-explicit-resource-management 
 | 
$({ global: true, constructor: true, arity: 3, forced: PATCH }, { 
 | 
  SuppressedError: $SuppressedError 
 | 
}); 
 |