first
This commit is contained in:
31
node_modules/core-js/internals/schedulers-fix.js
generated
vendored
Normal file
31
node_modules/core-js/internals/schedulers-fix.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
var global = require('../internals/global');
|
||||
var apply = require('../internals/function-apply');
|
||||
var isCallable = require('../internals/is-callable');
|
||||
var ENGINE_IS_BUN = require('../internals/engine-is-bun');
|
||||
var USER_AGENT = require('../internals/engine-user-agent');
|
||||
var arraySlice = require('../internals/array-slice');
|
||||
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
||||
|
||||
var Function = global.Function;
|
||||
// dirty IE9- and Bun 0.3.0- checks
|
||||
var WRAP = /MSIE .\./.test(USER_AGENT) || ENGINE_IS_BUN && (function () {
|
||||
var version = global.Bun.version.split('.');
|
||||
return version.length < 3 || version[0] == 0 && (version[1] < 3 || version[1] == 3 && version[2] == 0);
|
||||
})();
|
||||
|
||||
// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix
|
||||
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
|
||||
// https://github.com/oven-sh/bun/issues/1633
|
||||
module.exports = function (scheduler, hasTimeArg) {
|
||||
var firstParamIndex = hasTimeArg ? 2 : 1;
|
||||
return WRAP ? function (handler, timeout /* , ...arguments */) {
|
||||
var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex;
|
||||
var fn = isCallable(handler) ? handler : Function(handler);
|
||||
var params = boundArgs ? arraySlice(arguments, firstParamIndex) : [];
|
||||
var callback = boundArgs ? function () {
|
||||
apply(fn, this, params);
|
||||
} : fn;
|
||||
return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);
|
||||
} : scheduler;
|
||||
};
|
Reference in New Issue
Block a user