Skip to content

Commit a53e4a1

Browse files
magic-akariRyanCavanaugh
authored andcommitted
Allow to omit the begin parameter of %TypedArray%.prototype.subarray (microsoft#32125)
* Allow to omit the begin parameter of %TypedArray%.prototype.subarray * update baselines
1 parent dcb763f commit a53e4a1

11 files changed

+770
-20
lines changed

src/lib/es5.d.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,7 +1887,7 @@ interface Int8Array {
18871887
* @param begin The index of the beginning of the array.
18881888
* @param end The index of the end of the array.
18891889
*/
1890-
subarray(begin: number, end?: number): Int8Array;
1890+
subarray(begin?: number, end?: number): Int8Array;
18911891

18921892
/**
18931893
* Converts a number to a string by using the current locale.
@@ -2162,7 +2162,7 @@ interface Uint8Array {
21622162
* @param begin The index of the beginning of the array.
21632163
* @param end The index of the end of the array.
21642164
*/
2165-
subarray(begin: number, end?: number): Uint8Array;
2165+
subarray(begin?: number, end?: number): Uint8Array;
21662166

21672167
/**
21682168
* Converts a number to a string by using the current locale.
@@ -2437,7 +2437,7 @@ interface Uint8ClampedArray {
24372437
* @param begin The index of the beginning of the array.
24382438
* @param end The index of the end of the array.
24392439
*/
2440-
subarray(begin: number, end?: number): Uint8ClampedArray;
2440+
subarray(begin?: number, end?: number): Uint8ClampedArray;
24412441

24422442
/**
24432443
* Converts a number to a string by using the current locale.
@@ -2710,7 +2710,7 @@ interface Int16Array {
27102710
* @param begin The index of the beginning of the array.
27112711
* @param end The index of the end of the array.
27122712
*/
2713-
subarray(begin: number, end?: number): Int16Array;
2713+
subarray(begin?: number, end?: number): Int16Array;
27142714

27152715
/**
27162716
* Converts a number to a string by using the current locale.
@@ -2986,7 +2986,7 @@ interface Uint16Array {
29862986
* @param begin The index of the beginning of the array.
29872987
* @param end The index of the end of the array.
29882988
*/
2989-
subarray(begin: number, end?: number): Uint16Array;
2989+
subarray(begin?: number, end?: number): Uint16Array;
29902990

29912991
/**
29922992
* Converts a number to a string by using the current locale.
@@ -3261,7 +3261,7 @@ interface Int32Array {
32613261
* @param begin The index of the beginning of the array.
32623262
* @param end The index of the end of the array.
32633263
*/
3264-
subarray(begin: number, end?: number): Int32Array;
3264+
subarray(begin?: number, end?: number): Int32Array;
32653265

32663266
/**
32673267
* Converts a number to a string by using the current locale.
@@ -3535,7 +3535,7 @@ interface Uint32Array {
35353535
* @param begin The index of the beginning of the array.
35363536
* @param end The index of the end of the array.
35373537
*/
3538-
subarray(begin: number, end?: number): Uint32Array;
3538+
subarray(begin?: number, end?: number): Uint32Array;
35393539

35403540
/**
35413541
* Converts a number to a string by using the current locale.
@@ -3810,7 +3810,7 @@ interface Float32Array {
38103810
* @param begin The index of the beginning of the array.
38113811
* @param end The index of the end of the array.
38123812
*/
3813-
subarray(begin: number, end?: number): Float32Array;
3813+
subarray(begin?: number, end?: number): Float32Array;
38143814

38153815
/**
38163816
* Converts a number to a string by using the current locale.
@@ -4086,7 +4086,7 @@ interface Float64Array {
40864086
* @param begin The index of the beginning of the array.
40874087
* @param end The index of the end of the array.
40884088
*/
4089-
subarray(begin: number, end?: number): Float64Array;
4089+
subarray(begin?: number, end?: number): Float64Array;
40904090

40914091
/**
40924092
* Converts a number to a string by using the current locale.

src/lib/esnext.bigint.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ interface BigInt64Array {
260260
* @param begin The index of the beginning of the array.
261261
* @param end The index of the end of the array.
262262
*/
263-
subarray(begin: number, end?: number): BigInt64Array;
263+
subarray(begin?: number, end?: number): BigInt64Array;
264264

265265
/** Converts the array to a string by using the current locale. */
266266
toLocaleString(): string;
@@ -529,7 +529,7 @@ interface BigUint64Array {
529529
* @param begin The index of the beginning of the array.
530530
* @param end The index of the end of the array.
531531
*/
532-
subarray(begin: number, end?: number): BigUint64Array;
532+
subarray(begin?: number, end?: number): BigUint64Array;
533533

534534
/** Converts the array to a string by using the current locale. */
535535
toLocaleString(): string;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//// [bigint64ArraySubarray.ts]
2+
function bigInt64ArraySubarray() {
3+
var arr = new BigInt64Array(10);
4+
arr.subarray();
5+
arr.subarray(0);
6+
arr.subarray(0, 10);
7+
}
8+
9+
10+
//// [bigint64ArraySubarray.js]
11+
function bigInt64ArraySubarray() {
12+
var arr = new BigInt64Array(10);
13+
arr.subarray();
14+
arr.subarray(0);
15+
arr.subarray(0, 10);
16+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
=== tests/cases/compiler/bigint64ArraySubarray.ts ===
2+
function bigInt64ArraySubarray() {
3+
>bigInt64ArraySubarray : Symbol(bigInt64ArraySubarray, Decl(bigint64ArraySubarray.ts, 0, 0))
4+
5+
var arr = new BigInt64Array(10);
6+
>arr : Symbol(arr, Decl(bigint64ArraySubarray.ts, 1, 7))
7+
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
8+
9+
arr.subarray();
10+
>arr.subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
11+
>arr : Symbol(arr, Decl(bigint64ArraySubarray.ts, 1, 7))
12+
>subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
13+
14+
arr.subarray(0);
15+
>arr.subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
16+
>arr : Symbol(arr, Decl(bigint64ArraySubarray.ts, 1, 7))
17+
>subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
18+
19+
arr.subarray(0, 10);
20+
>arr.subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
21+
>arr : Symbol(arr, Decl(bigint64ArraySubarray.ts, 1, 7))
22+
>subarray : Symbol(BigInt64Array.subarray, Decl(lib.esnext.bigint.d.ts, --, --))
23+
}
24+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
=== tests/cases/compiler/bigint64ArraySubarray.ts ===
2+
function bigInt64ArraySubarray() {
3+
>bigInt64ArraySubarray : () => void
4+
5+
var arr = new BigInt64Array(10);
6+
>arr : BigInt64Array
7+
>new BigInt64Array(10) : BigInt64Array
8+
>BigInt64Array : BigInt64ArrayConstructor
9+
>10 : 10
10+
11+
arr.subarray();
12+
>arr.subarray() : BigInt64Array
13+
>arr.subarray : (begin?: number, end?: number) => BigInt64Array
14+
>arr : BigInt64Array
15+
>subarray : (begin?: number, end?: number) => BigInt64Array
16+
17+
arr.subarray(0);
18+
>arr.subarray(0) : BigInt64Array
19+
>arr.subarray : (begin?: number, end?: number) => BigInt64Array
20+
>arr : BigInt64Array
21+
>subarray : (begin?: number, end?: number) => BigInt64Array
22+
>0 : 0
23+
24+
arr.subarray(0, 10);
25+
>arr.subarray(0, 10) : BigInt64Array
26+
>arr.subarray : (begin?: number, end?: number) => BigInt64Array
27+
>arr : BigInt64Array
28+
>subarray : (begin?: number, end?: number) => BigInt64Array
29+
>0 : 0
30+
>10 : 10
31+
}
32+
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
//// [typedArraysSubarray.ts]
2+
function int8ArraySubarray() {
3+
var arr = new Int8Array(10);
4+
arr.subarray();
5+
arr.subarray(0);
6+
arr.subarray(0, 10);
7+
}
8+
9+
function uint8ArraySubarray() {
10+
var arr = new Uint8Array(10);
11+
arr.subarray();
12+
arr.subarray(0);
13+
arr.subarray(0, 10);
14+
}
15+
16+
function uint8ClampedArraySubarray() {
17+
var arr = new Uint8ClampedArray(10);
18+
arr.subarray();
19+
arr.subarray(0);
20+
arr.subarray(0, 10);
21+
}
22+
23+
function int16ArraySubarray() {
24+
var arr = new Int16Array(10);
25+
arr.subarray();
26+
arr.subarray(0);
27+
arr.subarray(0, 10);
28+
}
29+
30+
function uint16ArraySubarray() {
31+
var arr = new Uint16Array(10);
32+
arr.subarray();
33+
arr.subarray(0);
34+
arr.subarray(0, 10);
35+
}
36+
37+
function int32ArraySubarray() {
38+
var arr = new Int32Array(10);
39+
arr.subarray();
40+
arr.subarray(0);
41+
arr.subarray(0, 10);
42+
}
43+
44+
function uint32ArraySubarray() {
45+
var arr = new Uint32Array(10);
46+
arr.subarray();
47+
arr.subarray(0);
48+
arr.subarray(0, 10);
49+
}
50+
51+
function float32ArraySubarray() {
52+
var arr = new Float32Array(10);
53+
arr.subarray();
54+
arr.subarray(0);
55+
arr.subarray(0, 10);
56+
}
57+
58+
function float64ArraySubarray() {
59+
var arr = new Float64Array(10);
60+
arr.subarray();
61+
arr.subarray(0);
62+
arr.subarray(0, 10);
63+
}
64+
65+
66+
//// [typedArraysSubarray.js]
67+
function int8ArraySubarray() {
68+
var arr = new Int8Array(10);
69+
arr.subarray();
70+
arr.subarray(0);
71+
arr.subarray(0, 10);
72+
}
73+
function uint8ArraySubarray() {
74+
var arr = new Uint8Array(10);
75+
arr.subarray();
76+
arr.subarray(0);
77+
arr.subarray(0, 10);
78+
}
79+
function uint8ClampedArraySubarray() {
80+
var arr = new Uint8ClampedArray(10);
81+
arr.subarray();
82+
arr.subarray(0);
83+
arr.subarray(0, 10);
84+
}
85+
function int16ArraySubarray() {
86+
var arr = new Int16Array(10);
87+
arr.subarray();
88+
arr.subarray(0);
89+
arr.subarray(0, 10);
90+
}
91+
function uint16ArraySubarray() {
92+
var arr = new Uint16Array(10);
93+
arr.subarray();
94+
arr.subarray(0);
95+
arr.subarray(0, 10);
96+
}
97+
function int32ArraySubarray() {
98+
var arr = new Int32Array(10);
99+
arr.subarray();
100+
arr.subarray(0);
101+
arr.subarray(0, 10);
102+
}
103+
function uint32ArraySubarray() {
104+
var arr = new Uint32Array(10);
105+
arr.subarray();
106+
arr.subarray(0);
107+
arr.subarray(0, 10);
108+
}
109+
function float32ArraySubarray() {
110+
var arr = new Float32Array(10);
111+
arr.subarray();
112+
arr.subarray(0);
113+
arr.subarray(0, 10);
114+
}
115+
function float64ArraySubarray() {
116+
var arr = new Float64Array(10);
117+
arr.subarray();
118+
arr.subarray(0);
119+
arr.subarray(0, 10);
120+
}

0 commit comments

Comments
 (0)