1
1
var $ = require ( '../internals/export' ) ;
2
+ var global = require ( '../internals/global' ) ;
3
+ var uncurryThis = require ( '../internals/function-uncurry-this' ) ;
2
4
var toIndexedObject = require ( '../internals/to-indexed-object' ) ;
3
5
var toString = require ( '../internals/to-string' ) ;
4
6
var lengthOfArrayLike = require ( '../internals/length-of-array-like' ) ;
5
7
8
+ var TypeError = global . TypeError ;
6
9
var ArrayPrototype = Array . prototype ;
7
- var push = ArrayPrototype . push ;
8
- var join = ArrayPrototype . join ;
10
+ var push = uncurryThis ( ArrayPrototype . push ) ;
11
+ var join = uncurryThis ( ArrayPrototype . join ) ;
9
12
10
13
// `String.cooked` method
11
14
// https://github.com/bathos/proposal-string-cooked
@@ -19,9 +22,9 @@ $({ target: 'String', stat: true }, {
19
22
while ( literalSegments > i ) {
20
23
var nextVal = cookedTemplate [ i ++ ] ;
21
24
if ( nextVal === undefined ) throw TypeError ( 'Incorrect template' ) ;
22
- push . call ( elements , toString ( nextVal ) ) ;
23
- if ( i === literalSegments ) return join . call ( elements , '' ) ;
24
- if ( i < argumentsLength ) push . call ( elements , toString ( arguments [ i ] ) ) ;
25
+ push ( elements , toString ( nextVal ) ) ;
26
+ if ( i === literalSegments ) return join ( elements , '' ) ;
27
+ if ( i < argumentsLength ) push ( elements , toString ( arguments [ i ] ) ) ;
25
28
}
26
29
}
27
30
} ) ;
0 commit comments