@@ -62,14 +62,21 @@ var d9 = [[...temp1], ...["hello"]];
62
62
// Elisionopt SpreadElement
63
63
// ElementList, Elisionopt AssignmentExpression
64
64
// ElementList, Elisionopt SpreadElement
65
+ var __spreadArrays = ( this && this . __spreadArrays ) || function ( ) {
66
+ for ( var s = 0 , i = 0 , il = arguments . length ; i < il ; i ++ ) s += arguments [ i ] . length ;
67
+ for ( var r = Array ( s ) , k = 0 , i = 0 ; i < il ; i ++ )
68
+ for ( var a = arguments [ i ] , j = 0 , jl = a . length ; j < jl ; j ++ , k ++ )
69
+ r [ k ] = a [ j ] ;
70
+ return r ;
71
+ } ;
65
72
// SpreadElement:
66
73
// ... AssignmentExpression
67
74
var a0 = [ , , 2 , 3 , 4 ] ;
68
75
var a1 = [ "hello" , "world" ] ;
69
- var a2 = [ , , ] . concat ( a0 , [ "hello" ] ) ;
70
- var a3 = [ , ] . concat ( a0 ) ;
76
+ var a2 = __spreadArrays ( [ , , ] , a0 , [ "hello" ] ) ;
77
+ var a3 = __spreadArrays ( [ , ] , a0 ) ;
71
78
var a4 = [ function ( ) { return 1 ; } , ] ;
72
- var a5 = a0 . concat ( [ , ] ) ;
79
+ var a5 = __spreadArrays ( a0 , [ , ] ) ;
73
80
// Each element expression in a non-empty array literal is processed as follows:
74
81
// - If the array literal contains no spread elements, and if the array literal is contextually typed (section 4.19)
75
82
// by a type T and T has a property with the numeric name N, where N is the index of the element expression in the array literal,
@@ -92,13 +99,13 @@ var temp1 = [1, 2, 3];
92
99
var temp2 = [ [ 1 , 2 , 3 ] , [ "hello" , "string" ] ] ;
93
100
var temp3 = [ undefined , null , undefined ] ;
94
101
var temp4 = [ ] ;
95
- var d0 = [ 1 , true ] . concat ( temp ) ; // has type (string|number|boolean)[]
96
- var d1 = temp . slice ( ) ; // has type string[]
97
- var d2 = temp1 . slice ( ) ;
98
- var d3 = temp1 . slice ( ) ;
99
- var d4 = temp . concat ( temp1 ) ;
100
- var d5 = temp3 . slice ( ) ;
101
- var d6 = temp4 . slice ( ) ;
102
- var d7 = temp1 . slice ( ) ;
103
- var d8 = [ temp1 . slice ( ) ] ;
104
- var d9 = [ temp1 . slice ( ) ] . concat ( [ "hello" ] ) ;
102
+ var d0 = __spreadArrays ( [ 1 , true ] , temp ) ; // has type (string|number|boolean)[]
103
+ var d1 = __spreadArrays ( temp ) ; // has type string[]
104
+ var d2 = __spreadArrays ( temp1 ) ;
105
+ var d3 = __spreadArrays ( temp1 ) ;
106
+ var d4 = __spreadArrays ( temp , temp1 ) ;
107
+ var d5 = __spreadArrays ( temp3 ) ;
108
+ var d6 = __spreadArrays ( temp4 ) ;
109
+ var d7 = __spreadArrays ( temp1 ) ;
110
+ var d8 = [ __spreadArrays ( temp1 ) ] ;
111
+ var d9 = __spreadArrays ( [ __spreadArrays ( temp1 ) ] , [ "hello" ] ) ;
0 commit comments