AggregateError ponyfill.
npm install aggregate-error-ponyfill[![Build Status][ci-img]][ci]
[![BrowserStack Status][browserstack-img]][browserstack]
> The AggregateError object represents an error when several errors need to be
> wrapped in a single error. It is thrown when multiple errors need to be
> reported by an operation, for example by Promise.any(), when all promises
> passed to it reject.
``sh`
npm install aggregate-error-ponyfill --save
`js
import AggregateError from 'aggregate-error-ponyfill';
(async () => {
try {
await Promise.any([Promise.reject(new Error('some error'))]);
} catch (e) {
console.log(e instanceof AggregateError); // true
console.log(e.message); // "All Promises rejected"
console.log(e.name); // "AggregateError"
console.log(e.errors); // [ Error: "some error" ]
}
})();
try {
throw new AggregateError([new Error('some error')], 'Hello');
} catch (e) {
console.log(e instanceof AggregateError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "AggregateError"
console.log(e.errors); // [ Error: "some error" ]
}
`
You can **use named export preferNative if you wish to use native
implementation if it’s available**. In all other cases, ponyfill will be used.
Beware of
caveats!
Returns: AggregateError
Method description.
#### errors
Type: Iterable
An iterable of errors, may not actually be Error instances.
#### message
Type: string
An optional human-readable description of the aggregate error.
Tested in IE11+ and all modern browsers.
It works in older IE versions such as IE9, but you can’t test for
instanceof AggregateError due to
proper subclassing of native classes.
Test suite is taken and modified from
es-shims/AggregateError
polyfill.
For automated tests, run npm run test:automated (append :watch` for watcher
support).
MIT © Ivan Nikolić
[ci]: https://travis-ci.com/niksy/aggregate-error-ponyfill
[ci-img]: https://travis-ci.com/niksy/aggregate-error-ponyfill.svg?branch=master
[browserstack]: https://www.browserstack.com/
[browserstack-img]: https://www.browserstack.com/automate/badge.svg?badge_key=MnlLM05YZTZTOWlVcHNiUjh0WCtnN1RraklaQ3ZkN0VsVStOSisza3ZwYz0tLXFyT0RBTklSaklVZlI3WHJNc3VWQlE9PQ==--f14238d77ebc29dc4dea435f3e3ab0ce47bb40c2