From 4ad9050d4a82711b02256dfd27566cb842481c84 Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Thu, 2 Dec 2021 11:57:58 +0700 Subject: [PATCH] update docs --- CHANGELOG.md | 1 + README.md | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9306f4d202a9..dc73cd1e675f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## Changelog ##### Unreleased +- Added [support of `cause` on all Error types](https://github.com/tc39/proposal-error-cause) - Added NodeJS 17.2 compat data mapping ##### 3.19.2 - 2021.11.29 diff --git a/README.md b/README.md index 67e6eb120da8..ea30493d53ce 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ Promise.resolve(32).then(x => console.log(x)); // => 32 - [ECMAScript](#ecmascript) - [ECMAScript: Object](#ecmascript-object) - [ECMAScript: Function](#ecmascript-function) + - [ECMAScript: Error](#ecmascript-error) - [ECMAScript: Array](#ecmascript-array) - [ECMAScript: String and RegExp](#ecmascript-string-and-regexp) - [ECMAScript: Number](#ecmascript-number) @@ -518,6 +519,7 @@ Object.hasOwn({ foo: 42 }, 'foo'); // => true Object.hasOwn({ foo: 42 }, 'bar'); // => false Object.hasOwn({}, 'toString'); // => false ``` + #### ECMAScript: Function[⬆](#index) Modules [`es.function.name`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.function.name.js), [`es.function.has-instance`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.function.has-instance.js). Just ES5: [`es.function.bind`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.function.bind.js). ```js @@ -542,6 +544,48 @@ core-js/es|stable|features/function/virtual/bind console.log.bind(console, 42)(43); // => 42 43 ``` +#### ECMAScript: Error[⬆](#index) +Modules [`es.aggregate-error`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.aggregate-error.js), [`es.aggregate-error.cause`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.aggregate-error.cause.js), [`es.error.cause`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.error.cause.js). +```js +class [ + Error, + EvalError, + RangeError, + ReferenceError, + SyntaxError, + TypeError, + URIError, + WebAssembly.CompileError, + WebAssembly.LinkError, + WebAssembly.RuntimeError, +] { + constructor(message: string, { cause: any }): %Error%; +} + +class AggregateError { + constructor(errors: Iterable, message: string, { cause: any }): AggregateError; + errors: Array; + message: string; +} +``` +[*CommonJS entry points:*](#commonjs-api) +``` +core-js/es|stable|features/error +core-js/es|stable|features/error/constructor +``` +[*Example*](is.gd/79jmO5): +```js +const error1 = new TypeError('Error 1'); +const error2 = new TypeError('Error 2'); +const aggregate = new AggregateError([error1, error2], 'Collected errors'); +aggregate.errors[0] === error1; // => true +aggregate.errors[1] === error2; // => true + +const cause = new TypeError('Something wrong'); +const error = new TypeError('Here explained what`s wrong', { cause }); +error.cause === cause; // => true +``` + #### ECMAScript: Array[⬆](#index) Modules [`es.array.from`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.from.js), [`es.array.is-array`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.is-array.js), [`es.array.of`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.of.js), [`es.array.copy-within`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.copy-within.js), [`es.array.fill`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.fill.js), [`es.array.find`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.find.js), [`es.array.find-index`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.find-index.js), [`es.array.iterator`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.iterator.js), [`es.array.includes`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.includes.js), [`es.array.slice`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.slice.js), [`es.array.join`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.join.js), [`es.array.index-of`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.index-of.js), [`es.array.last-index-of`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.last-index-of.js), [`es.array.every`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.every.js), [`es.array.some`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.some.js), [`es.array.for-each`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.for-each.js), [`es.array.map`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.map.js), [`es.array.filter`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.filter.js), [`es.array.reduce`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.reduce.js), [`es.array.reduce-right`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.reduce-right.js), [`es.array.reverse`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.reverse.js), [`es.array.sort`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.sort.js), [`es.array.flat`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.flat.js), [`es.array.flat-map`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.flat-map.js), [`es.array.unscopables.flat`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.unscopables.flat.js), [`es.array.unscopables.flat-map`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.unscopables.flat-map.js), [`es.array.at`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.array.at.js). ```js @@ -1006,14 +1050,8 @@ core-js(-pure)/es|stable|features/date/to-primitive new Date(NaN).toString(); // => 'Invalid Date' ``` #### ECMAScript: Promise[⬆](#index) -Modules [`es.aggregate-error`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.aggregate-error.js), [`es.promise`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.js), [`es.promise.all-settled`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.all-settled.js), [`es.promise.any`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.any.js) and [`es.promise.finally`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.finally.js). +Modules [`es.promise`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.js), [`es.promise.all-settled`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.all-settled.js), [`es.promise.any`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.any.js) and [`es.promise.finally`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/es.promise.finally.js). ```js -class AggregateError { - constructor(errors: Iterable, message: string): AggregateError; - errors: Array; - message: string; -} - class Promise { constructor(executor: (resolve: Function, reject: Function) => void): Promise; then(onFulfilled: Function, onRejected: Function): Promise;