Skip to content

Commit 5b9905d

Browse files
timocovmhegazy
authored andcommitted
Added empty constructors to TypedArrays from es2017 (#19680)
1 parent 0593ba2 commit 5b9905d

11 files changed

+164
-8
lines changed

Gulpfile.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ const es2017LibrarySource = [
138138
"es2017.sharedmemory.d.ts",
139139
"es2017.string.d.ts",
140140
"es2017.intl.d.ts",
141+
"es2017.typedarrays.d.ts",
141142
];
142143

143144
const es2017LibrarySourceMap = es2017LibrarySource.map(source =>

Jakefile.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ var es2017LibrarySource = [
197197
"es2017.object.d.ts",
198198
"es2017.sharedmemory.d.ts",
199199
"es2017.string.d.ts",
200-
"es2017.intl.d.ts"
200+
"es2017.intl.d.ts",
201+
"es2017.typedarrays.d.ts",
201202
];
202203

203204
var es2017LibrarySourceMap = es2017LibrarySource.map(function (source) {

src/compiler/commandLineParser.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ namespace ts {
141141
"es2017.sharedmemory": "lib.es2017.sharedmemory.d.ts",
142142
"es2017.string": "lib.es2017.string.d.ts",
143143
"es2017.intl": "lib.es2017.intl.d.ts",
144+
"es2017.typedarrays": "lib.es2017.typedarrays.d.ts",
144145
"esnext.asynciterable": "lib.esnext.asynciterable.d.ts",
145146
}),
146147
},

src/harness/unittests/commandLineParsing.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ namespace ts {
6060
assertParseResult(["--lib", "es5,invalidOption", "0.ts"],
6161
{
6262
errors: [{
63-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
63+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
6464
category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category,
6565
code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
6666

@@ -263,7 +263,7 @@ namespace ts {
263263
assertParseResult(["--lib", "es5,", "es7", "0.ts"],
264264
{
265265
errors: [{
266-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
266+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
267267
category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category,
268268
code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
269269

@@ -283,7 +283,7 @@ namespace ts {
283283
assertParseResult(["--lib", "es5, ", "es7", "0.ts"],
284284
{
285285
errors: [{
286-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
286+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
287287
category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category,
288288
code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
289289

src/harness/unittests/convertCompilerOptionsFromJson.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ namespace ts {
266266
file: undefined,
267267
start: 0,
268268
length: 0,
269-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
269+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
270270
code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
271271
category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category
272272
}]
@@ -297,7 +297,7 @@ namespace ts {
297297
file: undefined,
298298
start: 0,
299299
length: 0,
300-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
300+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
301301
code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
302302
category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category
303303
}]
@@ -328,7 +328,7 @@ namespace ts {
328328
file: undefined,
329329
start: 0,
330330
length: 0,
331-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
331+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
332332
code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
333333
category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category
334334
}]
@@ -359,7 +359,7 @@ namespace ts {
359359
file: undefined,
360360
start: 0,
361361
length: 0,
362-
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'esnext.asynciterable'.",
362+
messageText: "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom', 'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'esnext.asynciterable'.",
363363
code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
364364
category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category
365365
}]

src/lib/es2017.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
/// <reference path="lib.es2017.sharedmemory.d.ts" />
44
/// <reference path="lib.es2017.string.d.ts" />
55
/// <reference path="lib.es2017.intl.d.ts" />
6+
/// <reference path="lib.es2017.typedarrays.d.ts" />

src/lib/es2017.typedarrays.d.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
interface Int8ArrayConstructor {
2+
new (): Int8Array;
3+
}
4+
5+
interface Uint8ArrayConstructor {
6+
new (): Uint8Array;
7+
}
8+
9+
interface Uint8ClampedArrayConstructor {
10+
new (): Uint8ClampedArray;
11+
}
12+
13+
interface Int16ArrayConstructor {
14+
new (): Int16Array;
15+
}
16+
17+
interface Uint16ArrayConstructor {
18+
new (): Uint16Array;
19+
}
20+
21+
interface Int32ArrayConstructor {
22+
new (): Int32Array;
23+
}
24+
25+
interface Uint32ArrayConstructor {
26+
new (): Uint32Array;
27+
}
28+
29+
interface Float32ArrayConstructor {
30+
new (): Float32Array;
31+
}
32+
33+
interface Float64ArrayConstructor {
34+
new (): Float64Array;
35+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//// [useTypedArrays1.ts]
2+
var int8Array = new Int8Array();
3+
var uint8Array = new Uint8Array();
4+
var uint8ClampedArray = new Uint8ClampedArray();
5+
var int16Array = new Int16Array();
6+
var uint16Array = new Uint16Array();
7+
var int32Array = new Int32Array();
8+
var uint32Array = new Uint32Array();
9+
var float32Array = new Float32Array();
10+
var float64Array = new Float64Array();
11+
12+
13+
//// [useTypedArrays1.js]
14+
var int8Array = new Int8Array();
15+
var uint8Array = new Uint8Array();
16+
var uint8ClampedArray = new Uint8ClampedArray();
17+
var int16Array = new Int16Array();
18+
var uint16Array = new Uint16Array();
19+
var int32Array = new Int32Array();
20+
var uint32Array = new Uint32Array();
21+
var float32Array = new Float32Array();
22+
var float64Array = new Float64Array();
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
=== tests/cases/conformance/es2017/useTypedArrays1.ts ===
2+
var int8Array = new Int8Array();
3+
>int8Array : Symbol(int8Array, Decl(useTypedArrays1.ts, 0, 3))
4+
>Int8Array : Symbol(Int8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
5+
6+
var uint8Array = new Uint8Array();
7+
>uint8Array : Symbol(uint8Array, Decl(useTypedArrays1.ts, 1, 3))
8+
>Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
9+
10+
var uint8ClampedArray = new Uint8ClampedArray();
11+
>uint8ClampedArray : Symbol(uint8ClampedArray, Decl(useTypedArrays1.ts, 2, 3))
12+
>Uint8ClampedArray : Symbol(Uint8ClampedArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
13+
14+
var int16Array = new Int16Array();
15+
>int16Array : Symbol(int16Array, Decl(useTypedArrays1.ts, 3, 3))
16+
>Int16Array : Symbol(Int16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
17+
18+
var uint16Array = new Uint16Array();
19+
>uint16Array : Symbol(uint16Array, Decl(useTypedArrays1.ts, 4, 3))
20+
>Uint16Array : Symbol(Uint16Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
21+
22+
var int32Array = new Int32Array();
23+
>int32Array : Symbol(int32Array, Decl(useTypedArrays1.ts, 5, 3))
24+
>Int32Array : Symbol(Int32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
25+
26+
var uint32Array = new Uint32Array();
27+
>uint32Array : Symbol(uint32Array, Decl(useTypedArrays1.ts, 6, 3))
28+
>Uint32Array : Symbol(Uint32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
29+
30+
var float32Array = new Float32Array();
31+
>float32Array : Symbol(float32Array, Decl(useTypedArrays1.ts, 7, 3))
32+
>Float32Array : Symbol(Float32Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
33+
34+
var float64Array = new Float64Array();
35+
>float64Array : Symbol(float64Array, Decl(useTypedArrays1.ts, 8, 3))
36+
>Float64Array : Symbol(Float64Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
37+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
=== tests/cases/conformance/es2017/useTypedArrays1.ts ===
2+
var int8Array = new Int8Array();
3+
>int8Array : Int8Array
4+
>new Int8Array() : Int8Array
5+
>Int8Array : Int8ArrayConstructor
6+
7+
var uint8Array = new Uint8Array();
8+
>uint8Array : Uint8Array
9+
>new Uint8Array() : Uint8Array
10+
>Uint8Array : Uint8ArrayConstructor
11+
12+
var uint8ClampedArray = new Uint8ClampedArray();
13+
>uint8ClampedArray : Uint8ClampedArray
14+
>new Uint8ClampedArray() : Uint8ClampedArray
15+
>Uint8ClampedArray : Uint8ClampedArrayConstructor
16+
17+
var int16Array = new Int16Array();
18+
>int16Array : Int16Array
19+
>new Int16Array() : Int16Array
20+
>Int16Array : Int16ArrayConstructor
21+
22+
var uint16Array = new Uint16Array();
23+
>uint16Array : Uint16Array
24+
>new Uint16Array() : Uint16Array
25+
>Uint16Array : Uint16ArrayConstructor
26+
27+
var int32Array = new Int32Array();
28+
>int32Array : Int32Array
29+
>new Int32Array() : Int32Array
30+
>Int32Array : Int32ArrayConstructor
31+
32+
var uint32Array = new Uint32Array();
33+
>uint32Array : Uint32Array
34+
>new Uint32Array() : Uint32Array
35+
>Uint32Array : Uint32ArrayConstructor
36+
37+
var float32Array = new Float32Array();
38+
>float32Array : Float32Array
39+
>new Float32Array() : Float32Array
40+
>Float32Array : Float32ArrayConstructor
41+
42+
var float64Array = new Float64Array();
43+
>float64Array : Float64Array
44+
>new Float64Array() : Float64Array
45+
>Float64Array : Float64ArrayConstructor
46+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// @target: es5
2+
// @lib: es5,es2017.typedarrays
3+
4+
var int8Array = new Int8Array();
5+
var uint8Array = new Uint8Array();
6+
var uint8ClampedArray = new Uint8ClampedArray();
7+
var int16Array = new Int16Array();
8+
var uint16Array = new Uint16Array();
9+
var int32Array = new Int32Array();
10+
var uint32Array = new Uint32Array();
11+
var float32Array = new Float32Array();
12+
var float64Array = new Float64Array();

0 commit comments

Comments
 (0)