aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/library/modules/web.timers.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/library/modules/web.timers.js')
-rw-r--r--node_modules/core-js/library/modules/web.timers.js21
1 files changed, 10 insertions, 11 deletions
diff --git a/node_modules/core-js/library/modules/web.timers.js b/node_modules/core-js/library/modules/web.timers.js
index f1c7d047f..c87908304 100644
--- a/node_modules/core-js/library/modules/web.timers.js
+++ b/node_modules/core-js/library/modules/web.timers.js
@@ -1,19 +1,18 @@
// ie9- setTimeout & setInterval additional parameters fix
var global = require('./_global');
var $export = require('./_export');
-var invoke = require('./_invoke');
-var partial = require('./_partial');
-var navigator = global.navigator;
-var MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
+var userAgent = require('./_user-agent');
+var slice = [].slice;
+var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
var wrap = function (set) {
- return MSIE ? function (fn, time /* , ...args */) {
- return set(invoke(
- partial,
- [].slice.call(arguments, 2),
+ return function (fn, time /* , ...args */) {
+ var boundArgs = arguments.length > 2;
+ var args = boundArgs ? slice.call(arguments, 2) : false;
+ return set(boundArgs ? function () {
// eslint-disable-next-line no-new-func
- typeof fn == 'function' ? fn : Function(fn)
- ), time);
- } : set;
+ (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
+ } : fn, time);
+ };
};
$export($export.G + $export.B + $export.F * MSIE, {
setTimeout: wrap(global.setTimeout),