fix: Resolve TypeScript errors
Signed-off-by: Hermes Agent <hermes@nosuchhost>
This commit is contained in:
97
client/node_modules/immediate/lib/index.js
generated
vendored
Normal file
97
client/node_modules/immediate/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
'use strict';
|
||||
var types = [
|
||||
require('./nextTick'),
|
||||
require('./queueMicrotask'),
|
||||
require('./mutation.js'),
|
||||
require('./messageChannel'),
|
||||
require('./stateChange'),
|
||||
require('./timeout')
|
||||
];
|
||||
var draining;
|
||||
var currentQueue;
|
||||
var queueIndex = -1;
|
||||
var queue = [];
|
||||
var scheduled = false;
|
||||
function cleanUpNextTick() {
|
||||
if (!draining || !currentQueue) {
|
||||
return;
|
||||
}
|
||||
draining = false;
|
||||
if (currentQueue.length) {
|
||||
queue = currentQueue.concat(queue);
|
||||
} else {
|
||||
queueIndex = -1;
|
||||
}
|
||||
if (queue.length) {
|
||||
nextTick();
|
||||
}
|
||||
}
|
||||
|
||||
//named nextTick for less confusing stack traces
|
||||
function nextTick() {
|
||||
if (draining) {
|
||||
return;
|
||||
}
|
||||
scheduled = false;
|
||||
draining = true;
|
||||
var len = queue.length;
|
||||
var timeout = setTimeout(cleanUpNextTick);
|
||||
while (len) {
|
||||
currentQueue = queue;
|
||||
queue = [];
|
||||
while (currentQueue && ++queueIndex < len) {
|
||||
currentQueue[queueIndex].run();
|
||||
}
|
||||
queueIndex = -1;
|
||||
len = queue.length;
|
||||
}
|
||||
currentQueue = null;
|
||||
queueIndex = -1;
|
||||
draining = false;
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
var scheduleDrain;
|
||||
var i = -1;
|
||||
var len = types.length;
|
||||
while (++i < len) {
|
||||
if (types[i] && types[i].test && types[i].test()) {
|
||||
scheduleDrain = types[i].install(nextTick);
|
||||
break;
|
||||
}
|
||||
}
|
||||
// v8 likes predictible objects
|
||||
function Item(fun, array) {
|
||||
this.fun = fun;
|
||||
this.array = array;
|
||||
}
|
||||
Item.prototype.run = function () {
|
||||
var fun = this.fun;
|
||||
var array = this.array;
|
||||
switch (array.length) {
|
||||
case 0:
|
||||
return fun();
|
||||
case 1:
|
||||
return fun(array[0]);
|
||||
case 2:
|
||||
return fun(array[0], array[1]);
|
||||
case 3:
|
||||
return fun(array[0], array[1], array[2]);
|
||||
default:
|
||||
return fun.apply(null, array);
|
||||
}
|
||||
|
||||
};
|
||||
module.exports = immediate;
|
||||
function immediate(task) {
|
||||
var args = new Array(arguments.length - 1);
|
||||
if (arguments.length > 1) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
args[i - 1] = arguments[i];
|
||||
}
|
||||
}
|
||||
queue.push(new Item(task, args));
|
||||
if (!scheduled && !draining) {
|
||||
scheduled = true;
|
||||
scheduleDrain();
|
||||
}
|
||||
}
|
||||
18
client/node_modules/immediate/lib/messageChannel.js
generated
vendored
Normal file
18
client/node_modules/immediate/lib/messageChannel.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
exports.test = function () {
|
||||
if (global.setImmediate) {
|
||||
// we can only get here in IE10
|
||||
// which doesn't handel postMessage well
|
||||
return false;
|
||||
}
|
||||
return typeof global.MessageChannel !== 'undefined';
|
||||
};
|
||||
|
||||
exports.install = function (func) {
|
||||
var channel = new global.MessageChannel();
|
||||
channel.port1.onmessage = func;
|
||||
return function () {
|
||||
channel.port2.postMessage(0);
|
||||
};
|
||||
};
|
||||
22
client/node_modules/immediate/lib/mutation.js
generated
vendored
Normal file
22
client/node_modules/immediate/lib/mutation.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
//based off rsvp https://github.com/tildeio/rsvp.js
|
||||
//license https://github.com/tildeio/rsvp.js/blob/master/LICENSE
|
||||
//https://github.com/tildeio/rsvp.js/blob/master/lib/rsvp/asap.js
|
||||
|
||||
var Mutation = global.MutationObserver || global.WebKitMutationObserver;
|
||||
|
||||
exports.test = function () {
|
||||
return Mutation;
|
||||
};
|
||||
|
||||
exports.install = function (handle) {
|
||||
var called = 0;
|
||||
var observer = new Mutation(handle);
|
||||
var element = global.document.createTextNode('');
|
||||
observer.observe(element, {
|
||||
characterData: true
|
||||
});
|
||||
return function () {
|
||||
element.data = (called = ++called % 2);
|
||||
};
|
||||
};
|
||||
11
client/node_modules/immediate/lib/nextTick.js
generated
vendored
Normal file
11
client/node_modules/immediate/lib/nextTick.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
exports.test = function () {
|
||||
// Don't get fooled by e.g. browserify environments.
|
||||
return (typeof process !== 'undefined') && !process.browser;
|
||||
};
|
||||
|
||||
exports.install = function (func) {
|
||||
return function () {
|
||||
process.nextTick(func);
|
||||
};
|
||||
};
|
||||
10
client/node_modules/immediate/lib/queueMicrotask.js
generated
vendored
Normal file
10
client/node_modules/immediate/lib/queueMicrotask.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
exports.test = function () {
|
||||
return typeof global.queueMicrotask === 'function';
|
||||
};
|
||||
|
||||
exports.install = function (func) {
|
||||
return function () {
|
||||
global.queueMicrotask(func);
|
||||
};
|
||||
};
|
||||
24
client/node_modules/immediate/lib/stateChange.js
generated
vendored
Normal file
24
client/node_modules/immediate/lib/stateChange.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
'use strict';
|
||||
|
||||
exports.test = function () {
|
||||
return 'document' in global && 'onreadystatechange' in global.document.createElement('script');
|
||||
};
|
||||
|
||||
exports.install = function (handle) {
|
||||
return function () {
|
||||
|
||||
// Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
|
||||
// into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
|
||||
var scriptEl = global.document.createElement('script');
|
||||
scriptEl.onreadystatechange = function () {
|
||||
handle();
|
||||
|
||||
scriptEl.onreadystatechange = null;
|
||||
scriptEl.parentNode.removeChild(scriptEl);
|
||||
scriptEl = null;
|
||||
};
|
||||
global.document.documentElement.appendChild(scriptEl);
|
||||
|
||||
return handle;
|
||||
};
|
||||
};
|
||||
10
client/node_modules/immediate/lib/timeout.js
generated
vendored
Normal file
10
client/node_modules/immediate/lib/timeout.js
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
exports.test = function () {
|
||||
return true;
|
||||
};
|
||||
|
||||
exports.install = function (t) {
|
||||
return function () {
|
||||
setTimeout(t, 0);
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user