Skip to content

Commit

Permalink
⬆️ update stage 3 November 2020
Browse files Browse the repository at this point in the history
  • Loading branch information
DerekNonGeneric committed Nov 20, 2020
1 parent c58cea1 commit 81dba6d
Showing 1 changed file with 137 additions and 99 deletions.
236 changes: 137 additions & 99 deletions _data/stage3.yml
Original file line number Diff line number Diff line change
@@ -1,82 +1,106 @@
- title: Legacy RegExp features in JavaScript
id: proposal-regexp-legacy-features
presented:
- date: May 2017
url: >-
https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3
has_specification: false
description: This is a specification draft for the legacy (deprecated) RegExp features in JavaScript, i.e., static properties of the constructor like RegExp.$1 as well as the RegExp.prototype.compile method.
- id: proposal-regexp-legacy-features
authors:
- Claude Pache
champions:
- Mark Miller
- Claude Pache
description: >-
This is a specification draft for the legacy (deprecated) RegExp features in
JavaScript, i.e., static properties of the constructor like RegExp.$1 as
well as the RegExp.prototype.compile method.
has_specification: false
presented:
- date: "May\_2017"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3
title: Legacy RegExp features in JavaScript
tests:
- 'https://github.com/tc39/test262/pull/2650'
- title: Private instance methods and accessors
id: proposal-private-methods
- id: proposal-private-methods
authors:
- Daniel Ehrenberg
champions:
- Daniel Ehrenberg
- Kevin Gibbons
description: >-
Keeping state and behavior private to a class lets library authors present a
clear, stable interface, while changing their code over time behind the
scenes.
example: |-
class Counter extends HTMLElement {
#xValue = 0;
get #x() { return #xValue; }
set #x(value) {
this.#xValue = value;
window.requestAnimationFrame(this.#render.bind(this));
}
#clicked() {
this.#x++;
}
constructor() {
super();
this.onclick = this.#clicked.bind(this);
}
connectedCallback() { this.#render(); }
#render() {
this.textContent = this.#x.toString();
}
}
window.customElements.define('num-counter', Counter);
has_specification: true
presented:
- date: January 2019
- date: "September\_2020"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher
has_specification: true
description: Keeping state and behavior private to a class lets library authors present a clear, stable interface, while changing their code over time behind the scenes.
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
title: Private instance methods and accessors
tests:
- >-
https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods
- id: proposal-class-fields
authors:
- Daniel Ehrenberg
- Kevin Gibbons
champions:
- Daniel Ehrenberg
- Jeff Morrison
- Kevin Smith
- Kevin Gibbons
tests:
- >-
https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods
- title: Class Public Instance Fields & Private Instance Fields
id: proposal-class-fields
description: >-
This proposes a combined vision for public fields and private fields,
drawing on the earlier Orthogonal Classes and Class Evaluation Order
proposals.
example: |-
class X {
#foo;
method() {
console.log(this.#foo)
}
}
has_specification: true
presented:
- date: March 2019
- date: "September\_2020"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals
has_specification: true
description: This proposes a combined vision for public fields and private fields, drawing on the earlier Orthogonal Classes and Class Evaluation Order proposals.
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
title: Class Public Instance Fields & Private Instance Fields
tests:
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields'
- id: proposal-static-class-features
authors:
- Daniel Ehrenberg
- Kevin Gibbons
champions:
- Daniel Ehrenberg
- Jeff Morrison
- Kevin Smith
- Kevin Gibbons
tests:
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields'
- title: Static class fields and private static methods
id: proposal-static-class-features
champions:
- Shu-Yu Guo
- Daniel Ehrenberg
description: >-
A proposal to add three features to JavaScript classes, building on the
previous class fields and private methods proposals.
example: |-
class ColorFinder {
static #red = "#ff0000";
Expand All @@ -94,111 +118,129 @@
// Somehow use colorName
}
has_specification: true
presented:
- date: January 2019
- date: "September\_2020"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher
has_specification: true
description: A proposal to add three features to JavaScript classes, building on the previous class fields and private methods proposals.
authors:
- Daniel Ehrenberg
- Kevin Gibbons
- Jeff Morrison
- Kevin Smith
champions:
- Shu-Yu Guo
- Daniel Ehrenberg
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
title: Static class fields and private static methods
tests:
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields'
- title: Hashbang Grammar
id: proposal-hashbang
- id: proposal-hashbang
authors:
- Bradley Farias
champions:
- Bradley Farias
description: >-
This proposal is to match de-facto usage in some CLI JS hosts that allow for
Shebangs / Hashbang. Such hosts strip the hashbang in order to generate
valid JS source texts before passing to JS engines currently. This would
unify and standardize how that is done.
example: |-
#!/usr/bin/env node
// in the Module Goal
export {};
console.log(1);
has_specification: true
presented:
- date: November 2018
- date: "November\_2018"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2018-11/nov-28.md#hash-bang-grammar
has_specification: true
description: This proposal is to match de-facto usage in some CLI JS hosts that allow for Shebangs / Hashbang. Such hosts strip the hashbang in order to generate valid JS source texts before passing to JS engines currently. This would unify and standardize how that is done.
authors:
- Bradley Farias
champions:
- Bradley Farias
title: Hashbang Grammar
tests:
- 'https://github.com/tc39/test262/pull/2065'
- title: Top-level <code>await</code>
id: proposal-top-level-await
- id: proposal-top-level-await
authors:
- Myles Borins
champions:
- Myles Borins
description: >-
Top-level <code>await</code> lets us rely on the module system itself to
handle all of these promises, and make sure that things are
well-coordinated.
example: |-
// file.html
&#x3C;script type=module src=&#x22;a.mjs&#x22;&#x3E;&#x3C;/script&#x3E;
// a.mjs
await import(&#x22;./b.mjs&#x22;);
// b.mjs
await import(&#x22;./a.mjs&#x22;);
has_specification: true
presented:
- date: June&#xA0;2019
- date: "June\_2019"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-06/june-6.md#top-level-await-for-stage-3
has_specification: true
description: Top-level <code>await</code> lets us rely on the module system itself to handle all of these promises, and make sure that things are well-coordinated.
authors:
- Myles Borins
champions:
- Myles Borins
title: Top-level <code>await</code>
tests:
- 'https://github.com/tc39/test262/pull/2274'
- title: RegExp Match Indices
id: proposal-regexp-match-indices
- id: proposal-regexp-match-indices
authors:
- Ron Buckton
champions:
- Ron Buckton
description: >-
ECMAScript RegExp Match Indicies provide additional information about the
start and end indices of captured substrings relative to the start of the
input string.
example: |-
const re1 = /a+(?&#x3C;Z&#x3E;z)?/;
// indices are relative to start of the input string:
const s1 = &#x22;xaaaz&#x22;;
const m1 = re1.exec(s1);
m1.indices[0][0] === 1;
m1.indices[0][1] === 5;
s1.slice(...m1.indices[0]) === &#x22;aaaz&#x22;;
m1.indices[1][0] === 4;
m1.indices[1][1] === 5;
s1.slice(...m1.indices[1]) === &#x22;z&#x22;;
m1.indices.groups[&#x22;Z&#x22;][0] === 4;
m1.indices.groups[&#x22;Z&#x22;][1] === 5;
s1.slice(...m1.indices.groups[&#x22;Z&#x22;]) === &#x22;z&#x22;;
// capture groups that are not matched return &#x60;undefined&#x60;:
const m2 = re1.exec(&#x22;xaaay&#x22;);
m2.indices[1] === undefined;
m2.indices.groups[&#x22;Z&#x22;] === undefined;
has_specification: false
presented:
- date: December&#xA0;2019
- date: "December\_2019"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-3.md#regexp-match-indices-performance-feedback
has_specification: false
description: ECMAScript RegExp Match Indicies provide additional information about the start and end indices of captured substrings relative to the start of the input string.
authors:
- Ron Buckton
champions:
- Ron Buckton
title: RegExp Match Indices
tests:
- 'https://github.com/tc39/test262/pull/2309'
- title: <code>Atomics.waitAsync</code>
id: proposal-atomics-wait-async
presented:
- date: December&#xA0;2019
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3
has_specification: true
description: A proposal for an "asynchronous atomic wait" for ECMAScript, primarily for use in agents that are not allowed to block.
- id: proposal-atomics-wait-async
authors:
- Lars Hansen
champions:
- Shu-yu Guo
- Lars Hansen
description: >-
A proposal for an "asynchronous atomic wait" for ECMAScript, primarily for
use in agents that are not allowed to block.
has_specification: true
presented:
- date: "December\_2019"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3
title: <code>Atomics.waitAsync</code>
tests:
- 'https://github.com/tc39/test262/issues/2511'
- title: <code>.item()</code>
id: proposal-item-method
- id: proposal-item-method
authors:
- Shu-yu Guo
- Tab Atkins
champions:
- Shu-yu Guo
- Tab Atkins
description: >-
A proposal to add a <code>.item()</code> method to all the basic indexable
classes (<code>Array</code>, <code>String</code>, <code>TypedArray</code>).
example: |-
function item(n) {
&#x9;// ToInteger() abstract op
Expand All @@ -210,6 +252,7 @@
&#x9;// Otherwise, this is just normal property access
&#x9;return this[n];
}
// Other TypedArray constructors omitted for brevity.
for (let C of [Array, String, Uint8Array]) {
Object.defineProperty(C.prototype, &#x22;item&#x22;,
Expand All @@ -218,29 +261,14 @@
enumerable: false,
configurable: true });
}
presented:
- date: September&#xA0;2020
url: item
has_specification: true
description: A proposal to add a <code>.item()</code> method to all the basic indexable classes (<code>Array</code>, <code>String</code>, <code>TypedArray</code>).
authors:
- Shu-yu Guo
- Tab Atkins
champions:
- Shu-yu Guo
- Tab Atkins
presented:
- date: "November\_2020"
url: at
title: <code>.at()</code>
tests:
- 'https://github.com/tc39/test262/pull/2812'
- title: Import Assertions
id: proposal-import-assertions
example: >-
new Worker(&#x22;foo.wasm&#x22;, { type: &#x22;module&#x22;, assert: { type:
&#x22;webassembly&#x22; } });
presented:
- date: September&#xA0;2020
url: import-assertions
has_specification: true
description: A proposal for syntax to import ES modules with assertions.
- id: proposal-import-assertions
authors:
- Myles Borins
- Sven Sauleau
Expand All @@ -251,3 +279,13 @@
- Sven Sauleau
- Dan Clark
- Daniel Ehrenberg
description: A proposal for syntax to import ES modules with assertions.
example: >-
new Worker(&#x22;foo.wasm&#x22;, { type: &#x22;module&#x22;, assert: { type:
&#x22;webassembly&#x22; } });
has_specification: true
presented:
- date: "September\_2020"
url: >-
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-22.md#import-assertions-for-stage-3
title: Import Assertions

0 comments on commit 81dba6d

Please sign in to comment.