diff --git a/_data/de/stage3.yml b/_data/de/stage3.yml index 518f2f09..1f934b81 100644 --- a/_data/de/stage3.yml +++ b/_data/de/stage3.yml @@ -260,6 +260,10 @@ - Dan Clark - title: Ergonomic Brand Checks id: proposal-private-fields-in-in + authors: + - Jordan Harband + champions: + - Jordan Harband example: >- class C { #brand; @@ -269,13 +273,89 @@ return #brand in obj && #method in obj && #getter in obj; } } + has_specification: true + description: EcmaScript proposal to provide brand checks without exceptions. presented: - - date: January 2021 + - date: "January\_2021" url: >- https://github.com/tc39/notes/blob/master/meetings/2021-01/jan-27.md#ergonomic-brand-checks +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal. + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } has_specification: true - description: EcmaScript proposal to provide brand checks without exceptions. + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause authors: - - Jordan Harband + - Chengzhong Wu champions: - - Jordan Harband + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause. + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: "March\_2021" +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme. + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 diff --git a/_data/en/stage3.yml b/_data/en/stage3.yml index 6548a80a..8b27e2ac 100644 --- a/_data/en/stage3.yml +++ b/_data/en/stage3.yml @@ -279,3 +279,83 @@ - Jordan Harband champions: - Jordan Harband +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal. + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause + authors: + - Chengzhong Wu + champions: + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause. + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: "March\_2021" +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme. + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 diff --git a/_data/ja/stage3.yml b/_data/ja/stage3.yml index e875ee14..3d9ce168 100644 --- a/_data/ja/stage3.yml +++ b/_data/ja/stage3.yml @@ -279,3 +279,84 @@ - Jordan Harband champions: - Jordan Harband + has_specification: true +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blockは、クラス定義の評価中に追加の静的初期化を実行する仕組みを提供します。これは、静的解析ツールに役立つ情報を提供し、デコレーターのための妥当なターゲットであるため、パブリックフィールドの置き換えを意図したものではありません。むしろ、これは既存のユースケースを補強し、このプロポーザルで現在処理されていない新しいユースケースを実現できるようにすることを目的としています。 + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } + has_specification: true + presented: + - date: 3月 2021 + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause + authors: + - Chengzhong Wu + champions: + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: エラーは、実行時の異常を表現するために作られます。予期しない動作の診断を容易にするためは、エラーメッセージやエラーインスタンスのプロパティなど、その時点で何が起こったかを明らかにする状況情報をエラーに追加する必要があります。エラーが内部の深いメソッドからスローされた場合、スローされたエラーは、適切な例外設計パターンなしに簡単に処理できるとは限りません。このプロポーザルは原因を伝達するための便利な手段を導入します。 + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: 3月 2021 +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: ECMAScriptでは、Dateが長年の悩みの種でした。そこで提案されたのがTemporalであり、これは(Mathのような)トップレベルの名前空間として振る舞い、ECMAScriptに最新のdate/time APIをもたらすグローバルオブジェクトです。動機の詳しい説明については、プロポーザルのREADMEをご覧ください。 + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: 3月 2021 + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 diff --git a/_data/ru/stage3.yml b/_data/ru/stage3.yml index 0fa390c8..97bd8ba7 100644 --- a/_data/ru/stage3.yml +++ b/_data/ru/stage3.yml @@ -279,3 +279,83 @@ - Jordan Harband champions: - Jordan Harband +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal. + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause + authors: + - Chengzhong Wu + champions: + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause. + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: "March\_2021" +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme. + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 diff --git a/_data/stage3.yml b/_data/stage3.yml index 27ed1153..51e0e54d 100644 --- a/_data/stage3.yml +++ b/_data/stage3.yml @@ -307,11 +307,91 @@ return #brand in obj && #method in obj && #getter in obj; } } + description: EcmaScript proposal to provide brand checks without exceptions. + authors: + - Jordan Harband + has_specification: true presented: - - date: January\_2021 + - date: "January\_2021" url: >- https://github.com/tc39/notes/blob/master/meetings/2021-01/jan-27.md#ergonomic-brand-checks +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal. + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } has_specification: true - description: EcmaScript proposal to provide brand checks without exceptions. + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause authors: - - Jordan Harband + - Chengzhong Wu + champions: + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause. + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: "March\_2021" +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme. + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 diff --git a/_data/zh-Hans/stage3.yml b/_data/zh-Hans/stage3.yml index bc306152..cf941701 100644 --- a/_data/zh-Hans/stage3.yml +++ b/_data/zh-Hans/stage3.yml @@ -279,3 +279,88 @@ - Jordan Harband champions: - Jordan Harband + has_specification: true + presented: + - date: "January\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-01/jan-27.md#ergonomic-brand-checks +- id: proposal-class-static-block + title: Class Static Block + authors: + - Ron Buckton + champions: + - Ron Buckton + description: Class static blocks provide a mechanism to perform additional static initialization during class definition evaluation. This is not intended as a replacement for public fields, as they provide useful information for static analysis tools and are a valid target for decorators. Rather, this is intended to augment existing use cases and enable new use cases not currently handled by that proposal. + example: >- + // "friend" access (same module) + let A, B; + { + let friendA; + + A = class A { + #x; + + static { + friendA = { + getX(obj) { return obj.#x }, + setX(obj, value) { obj.#x = value } + }; + } + }; + + B = class B { + constructor(a) { + const x = friendA.getX(a); // ok + friendA.setX(a, x); // ok + } + }; + } + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#class-static-initialization-blocks +- id: proposal-error-cause + title: Error Cause + authors: + - Chengzhong Wu + champions: + - Ron Buckton + - Chengzhong Wu + - Hemanth HM + description: Errors will be constructed to represent runtime abnormalities. To help unexpected behavior diagnosis, errors need to be augmented with contextual information like error messages, error instance properties to explain what happened at the time. If the error were thrown from deep internal methods, the thrown error may not be straightforward to be easily conducted without proper exception design pattern. This proposal introduces a convenient way to forward the cause. + example: >- + await fetch('http://domain/upload', { method: 'POST', body: jobResult }) + .catch(err => { + throw new Error('Upload job result failed', { cause: err }); + }); + has_specification: true + presented: + - date: "March\_2021" +- id: proposal-temporal + title: Temporal + authors: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + champions: + - Maggie Pint + - Matt Johnson + - Philipp Dunkel + description: Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (like Math), that brings a modern date/time API to the ECMAScript language. For a detailed breakdown of motivations, see the proposal readme. + example: >- + // See the repo for detailed examples. + // small example from the cook book + + const date = Temporal.now.plainDateISO(); // Gets the current date + + date.toString(); // returns the date in ISO 8601 date format + + // If you additionally want the time + + Temporal.now.plainDateTimeISO().toString(); // date and time in ISO 8601 format + has_specification: true + presented: + - date: "March\_2021" + url: >- + https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3