You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
976 B
24 lines
976 B
1 month ago
|
'use strict';
|
||
|
var $ = require('../internals/export');
|
||
|
var getBuiltIn = require('../internals/get-built-in');
|
||
|
var apply = require('../internals/function-apply');
|
||
|
var fails = require('../internals/fails');
|
||
|
var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
|
||
|
|
||
|
var AGGREGATE_ERROR = 'AggregateError';
|
||
|
var $AggregateError = getBuiltIn(AGGREGATE_ERROR);
|
||
|
|
||
|
var FORCED = !fails(function () {
|
||
|
return $AggregateError([1]).errors[0] !== 1;
|
||
|
}) && fails(function () {
|
||
|
return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7;
|
||
|
});
|
||
|
|
||
|
// https://tc39.es/ecma262/#sec-aggregate-error
|
||
|
$({ global: true, constructor: true, arity: 2, forced: FORCED }, {
|
||
|
AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
|
||
|
// eslint-disable-next-line no-unused-vars -- required for functions `.length`
|
||
|
return function AggregateError(errors, message) { return apply(init, this, arguments); };
|
||
|
}, FORCED, true)
|
||
|
});
|