diff options
Diffstat (limited to 'node_modules/core-js/library/modules/web.timers.js')
-rw-r--r-- | node_modules/core-js/library/modules/web.timers.js | 21 |
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), |