2016-10-10 03:43:44 +02:00
|
|
|
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
|
2017-08-14 05:01:11 +02:00
|
|
|
var $export = require('./_export');
|
|
|
|
var aFunction = require('./_a-function');
|
|
|
|
var anObject = require('./_an-object');
|
|
|
|
var rApply = (require('./_global').Reflect || {}).apply;
|
|
|
|
var fApply = Function.apply;
|
2017-05-27 17:36:13 +02:00
|
|
|
// MS Edge argumentsList argument is optional
|
2017-08-14 05:01:11 +02:00
|
|
|
$export($export.S + $export.F * !require('./_fails')(function () {
|
|
|
|
rApply(function () { /* empty */ });
|
2017-05-27 17:36:13 +02:00
|
|
|
}), 'Reflect', {
|
2017-08-14 05:01:11 +02:00
|
|
|
apply: function apply(target, thisArgument, argumentsList) {
|
|
|
|
var T = aFunction(target);
|
|
|
|
var L = anObject(argumentsList);
|
2017-05-27 17:36:13 +02:00
|
|
|
return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
|
2016-10-10 03:43:44 +02:00
|
|
|
}
|
2017-08-14 05:01:11 +02:00
|
|
|
});
|