mirror of
https://github.com/S2-/minifyfromhtml.git
synced 2025-08-04 12:40:05 +02:00
add some packages
This commit is contained in:
84
node_modules/core-js/modules/_task.js
generated
vendored
Normal file
84
node_modules/core-js/modules/_task.js
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
var ctx = require('./_ctx');
|
||||
var invoke = require('./_invoke');
|
||||
var html = require('./_html');
|
||||
var cel = require('./_dom-create');
|
||||
var global = require('./_global');
|
||||
var process = global.process;
|
||||
var setTask = global.setImmediate;
|
||||
var clearTask = global.clearImmediate;
|
||||
var MessageChannel = global.MessageChannel;
|
||||
var Dispatch = global.Dispatch;
|
||||
var counter = 0;
|
||||
var queue = {};
|
||||
var ONREADYSTATECHANGE = 'onreadystatechange';
|
||||
var defer, channel, port;
|
||||
var run = function () {
|
||||
var id = +this;
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
if (queue.hasOwnProperty(id)) {
|
||||
var fn = queue[id];
|
||||
delete queue[id];
|
||||
fn();
|
||||
}
|
||||
};
|
||||
var listener = function (event) {
|
||||
run.call(event.data);
|
||||
};
|
||||
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
||||
if (!setTask || !clearTask) {
|
||||
setTask = function setImmediate(fn) {
|
||||
var args = [];
|
||||
var i = 1;
|
||||
while (arguments.length > i) args.push(arguments[i++]);
|
||||
queue[++counter] = function () {
|
||||
// eslint-disable-next-line no-new-func
|
||||
invoke(typeof fn == 'function' ? fn : Function(fn), args);
|
||||
};
|
||||
defer(counter);
|
||||
return counter;
|
||||
};
|
||||
clearTask = function clearImmediate(id) {
|
||||
delete queue[id];
|
||||
};
|
||||
// Node.js 0.8-
|
||||
if (require('./_cof')(process) == 'process') {
|
||||
defer = function (id) {
|
||||
process.nextTick(ctx(run, id, 1));
|
||||
};
|
||||
// Sphere (JS game engine) Dispatch API
|
||||
} else if (Dispatch && Dispatch.now) {
|
||||
defer = function (id) {
|
||||
Dispatch.now(ctx(run, id, 1));
|
||||
};
|
||||
// Browsers with MessageChannel, includes WebWorkers
|
||||
} else if (MessageChannel) {
|
||||
channel = new MessageChannel();
|
||||
port = channel.port2;
|
||||
channel.port1.onmessage = listener;
|
||||
defer = ctx(port.postMessage, port, 1);
|
||||
// Browsers with postMessage, skip WebWorkers
|
||||
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
||||
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
|
||||
defer = function (id) {
|
||||
global.postMessage(id + '', '*');
|
||||
};
|
||||
global.addEventListener('message', listener, false);
|
||||
// IE8-
|
||||
} else if (ONREADYSTATECHANGE in cel('script')) {
|
||||
defer = function (id) {
|
||||
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
|
||||
html.removeChild(this);
|
||||
run.call(id);
|
||||
};
|
||||
};
|
||||
// Rest old browsers
|
||||
} else {
|
||||
defer = function (id) {
|
||||
setTimeout(ctx(run, id, 1), 0);
|
||||
};
|
||||
}
|
||||
}
|
||||
module.exports = {
|
||||
set: setTask,
|
||||
clear: clearTask
|
||||
};
|
Reference in New Issue
Block a user