Skip to content

Commit b7f7b12

Browse files
⬆️ update stage 3 November 2020
1 parent 859eee5 commit b7f7b12

File tree

1 file changed

+140
-101
lines changed

1 file changed

+140
-101
lines changed

_data/stage3.yml

Lines changed: 140 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,112 @@
1-
- title: Legacy RegExp features in JavaScript
2-
id: proposal-regexp-legacy-features
3-
presented:
4-
- date: May 2017
5-
url: >-
6-
https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3
7-
has_specification: false
8-
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.
1+
- id: proposal-regexp-legacy-features
92
authors:
103
- Claude Pache
114
champions:
125
- Mark Miller
136
- Claude Pache
7+
description: >-
8+
This is a specification draft for the legacy (deprecated) RegExp features in
9+
JavaScript, i.e., static properties of the constructor like RegExp.$1 as
10+
well as the RegExp.prototype.compile method.
11+
has_specification: false
12+
presented:
13+
- date: "May\_2017"
14+
url: >-
15+
https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3
16+
title: Legacy RegExp features in JavaScript
1417
tests:
1518
- 'https://github.com/tc39/test262/pull/2650'
16-
- title: Private instance methods and accessors
17-
id: proposal-private-methods
19+
- id: proposal-private-methods
20+
authors:
21+
- Daniel Ehrenberg
22+
champions:
23+
- Daniel Ehrenberg
24+
- Kevin Gibbons
25+
description: >-
26+
Keeping state and behavior private to a class lets library authors present a
27+
clear, stable interface, while changing their code over time behind the
28+
scenes.
1829
example: |-
1930
class Counter extends HTMLElement {
2031
#xValue = 0;
32+
2133
get #x() { return #xValue; }
2234
set #x(value) {
2335
this.#xValue = value;
2436
window.requestAnimationFrame(this.#render.bind(this));
2537
}
38+
2639
#clicked() {
2740
this.#x++;
2841
}
42+
2943
constructor() {
3044
super();
3145
this.onclick = this.#clicked.bind(this);
3246
}
47+
3348
connectedCallback() { this.#render(); }
49+
3450
#render() {
3551
this.textContent = this.#x.toString();
3652
}
3753
}
3854
window.customElements.define('num-counter', Counter);
55+
has_specification: true
3956
presented:
40-
- date: January 2019
57+
- date: "September\_2020"
4158
url: >-
42-
https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher
43-
has_specification: true
44-
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.
59+
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
60+
title: Private instance methods and accessors
61+
tests:
62+
- >-
63+
https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods
64+
- id: proposal-class-fields
4565
authors:
4666
- Daniel Ehrenberg
67+
- Kevin Gibbons
4768
champions:
4869
- Daniel Ehrenberg
70+
- Jeff Morrison
71+
- Kevin Smith
4972
- Kevin Gibbons
50-
tests:
51-
- >-
52-
https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods
53-
- title: Class Public Instance Fields & Private Instance Fields
54-
id: proposal-class-fields
73+
description: >-
74+
This proposes a combined vision for public fields and private fields,
75+
drawing on the earlier Orthogonal Classes and Class Evaluation Order
76+
proposals.
5577
example: |-
5678
class X {
5779
#foo;
5880
method() {
5981
console.log(this.#foo)
6082
}
6183
}
84+
has_specification: true
6285
presented:
63-
- date: March 2019
86+
- date: "September\_2020"
6487
url: >-
65-
https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals
66-
has_specification: true
67-
description: This proposes a combined vision for public fields and private fields, drawing on the earlier Orthogonal Classes and Class Evaluation Order proposals.
88+
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
89+
title: Class Public Instance Fields & Private Instance Fields
90+
tests:
91+
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields'
92+
- id: proposal-static-class-features
6893
authors:
6994
- Daniel Ehrenberg
7095
- Kevin Gibbons
71-
champions:
72-
- Daniel Ehrenberg
7396
- Jeff Morrison
7497
- Kevin Smith
75-
- Kevin Gibbons
76-
tests:
77-
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields'
78-
- title: Static class fields and private static methods
79-
id: proposal-static-class-features
98+
champions:
99+
- Shu-Yu Guo
100+
- Daniel Ehrenberg
101+
description: >-
102+
A proposal to add three features to JavaScript classes, building on the
103+
previous class fields and private methods proposals.
80104
example: |-
81105
class ColorFinder {
82106
static #red = "#ff0000";
83107
static #green = "#00ff00";
84108
static #blue = "#0000ff";
85-
109+
86110
static colorName(name) {
87111
switch (name) {
88112
case "red": return ColorFinder.#red;
@@ -91,114 +115,132 @@
91115
default: throw new RangeError("unknown color");
92116
}
93117
}
94-
118+
95119
// Somehow use colorName
96120
}
121+
has_specification: true
97122
presented:
98-
- date: January 2019
123+
- date: "September\_2020"
99124
url: >-
100-
https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher
101-
has_specification: true
102-
description: A proposal to add three features to JavaScript classes, building on the previous class fields and private methods proposals.
103-
authors:
104-
- Daniel Ehrenberg
105-
- Kevin Gibbons
106-
- Jeff Morrison
107-
- Kevin Smith
108-
champions:
109-
- Shu-Yu Guo
110-
- Daniel Ehrenberg
125+
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features
126+
title: Static class fields and private static methods
111127
tests:
112128
- 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields'
113-
- title: Hashbang Grammar
114-
id: proposal-hashbang
129+
- id: proposal-hashbang
130+
authors:
131+
- Bradley Farias
132+
champions:
133+
- Bradley Farias
134+
description: >-
135+
This proposal is to match de-facto usage in some CLI JS hosts that allow for
136+
Shebangs / Hashbang. Such hosts strip the hashbang in order to generate
137+
valid JS source texts before passing to JS engines currently. This would
138+
unify and standardize how that is done.
115139
example: |-
116140
#!/usr/bin/env node
117141
// in the Module Goal
118142
export {};
119143
console.log(1);
144+
has_specification: true
120145
presented:
121-
- date: November 2018
146+
- date: "November\_2018"
122147
url: >-
123148
https://github.com/tc39/notes/blob/master/meetings/2018-11/nov-28.md#hash-bang-grammar
124-
has_specification: true
125-
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.
126-
authors:
127-
- Bradley Farias
128-
champions:
129-
- Bradley Farias
149+
title: Hashbang Grammar
130150
tests:
131151
- 'https://github.com/tc39/test262/pull/2065'
132-
- title: Top-level <code>await</code>
133-
id: proposal-top-level-await
152+
- id: proposal-top-level-await
153+
authors:
154+
- Myles Borins
155+
champions:
156+
- Myles Borins
157+
description: >-
158+
Top-level <code>await</code> lets us rely on the module system itself to
159+
handle all of these promises, and make sure that things are
160+
well-coordinated.
134161
example: |-
135162
// file.html
136163
&#x3C;script type=module src=&#x22;a.mjs&#x22;&#x3E;&#x3C;/script&#x3E;
164+
137165
// a.mjs
138166
await import(&#x22;./b.mjs&#x22;);
167+
139168
// b.mjs
140169
await import(&#x22;./a.mjs&#x22;);
170+
has_specification: true
141171
presented:
142-
- date: June&#xA0;2019
172+
- date: "June\_2019"
143173
url: >-
144174
https://github.com/tc39/notes/blob/master/meetings/2019-06/june-6.md#top-level-await-for-stage-3
145-
has_specification: true
146-
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.
147-
authors:
148-
- Myles Borins
149-
champions:
150-
- Myles Borins
175+
title: Top-level <code>await</code>
151176
tests:
152177
- 'https://github.com/tc39/test262/pull/2274'
153-
- title: RegExp Match Indices
154-
id: proposal-regexp-match-indices
178+
- id: proposal-regexp-match-indices
179+
authors:
180+
- Ron Buckton
181+
champions:
182+
- Ron Buckton
183+
description: >-
184+
ECMAScript RegExp Match Indicies provide additional information about the
185+
start and end indices of captured substrings relative to the start of the
186+
input string.
155187
example: |-
156188
const re1 = /a+(?&#x3C;Z&#x3E;z)?/;
189+
157190
// indices are relative to start of the input string:
158191
const s1 = &#x22;xaaaz&#x22;;
159192
const m1 = re1.exec(s1);
160193
m1.indices[0][0] === 1;
161194
m1.indices[0][1] === 5;
162195
s1.slice(...m1.indices[0]) === &#x22;aaaz&#x22;;
196+
163197
m1.indices[1][0] === 4;
164198
m1.indices[1][1] === 5;
165199
s1.slice(...m1.indices[1]) === &#x22;z&#x22;;
200+
166201
m1.indices.groups[&#x22;Z&#x22;][0] === 4;
167202
m1.indices.groups[&#x22;Z&#x22;][1] === 5;
168203
s1.slice(...m1.indices.groups[&#x22;Z&#x22;]) === &#x22;z&#x22;;
204+
169205
// capture groups that are not matched return &#x60;undefined&#x60;:
170206
const m2 = re1.exec(&#x22;xaaay&#x22;);
171207
m2.indices[1] === undefined;
172208
m2.indices.groups[&#x22;Z&#x22;] === undefined;
209+
has_specification: false
173210
presented:
174-
- date: December&#xA0;2019
211+
- date: "December\_2019"
175212
url: >-
176213
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-3.md#regexp-match-indices-performance-feedback
177-
has_specification: false
178-
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.
179-
authors:
180-
- Ron Buckton
181-
champions:
182-
- Ron Buckton
214+
title: RegExp Match Indices
183215
tests:
184216
- 'https://github.com/tc39/test262/pull/2309'
185-
- title: <code>Atomics.waitAsync</code>
186-
id: proposal-atomics-wait-async
187-
presented:
188-
- date: December&#xA0;2019
189-
url: >-
190-
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3
191-
has_specification: true
192-
description: A proposal for an "asynchronous atomic wait" for ECMAScript, primarily for use in agents that are not allowed to block.
217+
- id: proposal-atomics-wait-async
193218
authors:
194219
- Lars Hansen
195220
champions:
196221
- Shu-yu Guo
197222
- Lars Hansen
223+
description: >-
224+
A proposal for an "asynchronous atomic wait" for ECMAScript, primarily for
225+
use in agents that are not allowed to block.
226+
has_specification: true
227+
presented:
228+
- date: "December\_2019"
229+
url: >-
230+
https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3
231+
title: <code>Atomics.waitAsync</code>
198232
tests:
199233
- 'https://github.com/tc39/test262/issues/2511'
200-
- title: <code>.item()</code>
201-
id: proposal-item-method
234+
- id: proposal-item-method
235+
authors:
236+
- Shu-yu Guo
237+
- Tab Atkins
238+
champions:
239+
- Shu-yu Guo
240+
- Tab Atkins
241+
description: >-
242+
A proposal to add a <code>.item()</code> method to all the basic indexable
243+
classes (<code>Array</code>, <code>String</code>, <code>TypedArray</code>).
202244
example: |-
203245
function item(n) {
204246
&#x9;// ToInteger() abstract op
@@ -210,6 +252,7 @@
210252
&#x9;// Otherwise, this is just normal property access
211253
&#x9;return this[n];
212254
}
255+
213256
// Other TypedArray constructors omitted for brevity.
214257
for (let C of [Array, String, Uint8Array]) {
215258
Object.defineProperty(C.prototype, &#x22;item&#x22;,
@@ -218,29 +261,15 @@
218261
enumerable: false,
219262
configurable: true });
220263
}
221-
presented:
222-
- date: September&#xA0;2020
223-
url: item
224264
has_specification: true
225-
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>).
226-
authors:
227-
- Shu-yu Guo
228-
- Tab Atkins
229-
champions:
230-
- Shu-yu Guo
231-
- Tab Atkins
265+
presented:
266+
- date: "September\_2020"
267+
url: >-
268+
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-22.md#item-for-stage-3
269+
title: <code>.item()</code>
232270
tests:
233271
- 'https://github.com/tc39/test262/pull/2812'
234-
- title: Import Assertions
235-
id: proposal-import-assertions
236-
example: >-
237-
new Worker(&#x22;foo.wasm&#x22;, { type: &#x22;module&#x22;, assert: { type:
238-
&#x22;webassembly&#x22; } });
239-
presented:
240-
- date: September&#xA0;2020
241-
url: import-assertions
242-
has_specification: true
243-
description: A proposal for syntax to import ES modules with assertions.
272+
- id: proposal-import-assertions
244273
authors:
245274
- Myles Borins
246275
- Sven Sauleau
@@ -251,3 +280,13 @@
251280
- Sven Sauleau
252281
- Dan Clark
253282
- Daniel Ehrenberg
283+
description: A proposal for syntax to import ES modules with assertions.
284+
example: >-
285+
new Worker(&#x22;foo.wasm&#x22;, { type: &#x22;module&#x22;, assert: { type:
286+
&#x22;webassembly&#x22; } });
287+
has_specification: true
288+
presented:
289+
- date: "September\_2020"
290+
url: >-
291+
https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-22.md#import-assertions-for-stage-3
292+
title: Import Assertions

0 commit comments

Comments
 (0)