fix: Resolve TypeScript errors
Signed-off-by: Hermes Agent <hermes@nosuchhost>
This commit is contained in:
7
client/node_modules/immediate/.travis.yml
generated
vendored
Normal file
7
client/node_modules/immediate/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- '0.10'
|
||||
- '0.12'
|
||||
- 'lts/*'
|
||||
notifications:
|
||||
email: false
|
||||
20
client/node_modules/immediate/LICENSE.txt
generated
vendored
Normal file
20
client/node_modules/immediate/LICENSE.txt
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
85
client/node_modules/immediate/README.md
generated
vendored
Normal file
85
client/node_modules/immediate/README.md
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
# immediate [](https://travis-ci.org/calvinmetcalf/immediate)
|
||||
|
||||
[](https://ci.testling.com/calvinmetcalf/immediate)
|
||||
|
||||
```
|
||||
npm install immediate --save
|
||||
```
|
||||
|
||||
then
|
||||
|
||||
```js
|
||||
var immediate = require("immediate");
|
||||
|
||||
immediate(function () {
|
||||
// this will run soon
|
||||
});
|
||||
|
||||
immediate(function (arg1, arg2) {
|
||||
// get your args like in iojs
|
||||
}, thing1, thing2);
|
||||
```
|
||||
|
||||
## Introduction
|
||||
|
||||
**immediate** is a microtask library, descended from [NobleJS's setImmediate](https://github.com/NobleJS/setImmediate), but including ideas from [Cujo's When](https://github.com/cujojs/when) and [RSVP][RSVP].
|
||||
|
||||
immediate takes the tricks from setImmediate and RSVP and combines them with the scheduler inspired (vaguely) by when's.
|
||||
|
||||
Note versions 2.6.5 and earlier were strictly speaking a 'macrotask' library not a microtask one, [see this for the difference](https://github.com/YuzuJS/setImmediate#macrotasks-and-microtasks), if you need a macrotask library, [I got you covered](https://github.com/calvinmetcalf/macrotask).
|
||||
|
||||
Several new features were added in versions 3.1.0 and 3.2.0 to maintain parity with
|
||||
process.nextTick, but the 3.0.x series is still being kept up to date if you just need
|
||||
the small barebones version
|
||||
|
||||
## The Tricks
|
||||
|
||||
### `process.nextTick`
|
||||
|
||||
Note that we check for *actual* Node.js environments, not emulated ones like those produced by browserify or similar.
|
||||
|
||||
### `queueMicrotask`
|
||||
|
||||
Function available in major browser these days which you can use to add a function into the microtask queue managed by V8.
|
||||
|
||||
### `MutationObserver`
|
||||
|
||||
This is what [RSVP][RSVP] uses, it's very fast, details on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).
|
||||
|
||||
|
||||
### `MessageChannel`
|
||||
|
||||
Unfortunately, `postMessage` has completely different semantics inside web workers, and so cannot be used there. So we
|
||||
turn to [`MessageChannel`][MessageChannel], which has worse browser support, but does work inside a web worker.
|
||||
|
||||
### `<script> onreadystatechange`
|
||||
|
||||
For our last trick, we pull something out to make things fast in Internet Explorer versions 6 through 8: namely,
|
||||
creating a `<script>` element and firing our calls in its `onreadystatechange` event. This does execute in a future
|
||||
turn of the event loop, and is also faster than `setTimeout(…, 0)`, so hey, why not?
|
||||
|
||||
## Tricks we don't use
|
||||
|
||||
### `setImmediate`
|
||||
We avoid using `setImmediate` because node's `process.nextTick` is better suited to our needs. Additionally, Internet Explorer 10's implementation of `setImmediate` is broken.
|
||||
|
||||
|
||||
## Reference and Reading
|
||||
|
||||
* [Efficient Script Yielding W3C Editor's Draft][spec]
|
||||
* [W3C mailing list post introducing the specification][list-post]
|
||||
* [IE Test Drive demo][ie-demo]
|
||||
* [Introductory blog post by Nicholas C. Zakas][ncz]
|
||||
* I wrote a couple of blog posts on this, [part 1][my-blog-1] and [part 2][my-blog-2]
|
||||
|
||||
[RSVP]: https://github.com/tildeio/rsvp.js
|
||||
[spec]: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/setImmediate/Overview.html
|
||||
[list-post]: http://lists.w3.org/Archives/Public/public-web-perf/2011Jun/0100.html
|
||||
[ie-demo]: http://ie.microsoft.com/testdrive/Performance/setImmediateSorting/Default.html
|
||||
[ncz]: http://www.nczonline.net/blog/2011/09/19/script-yielding-with-setimmediate/
|
||||
[nextTick]: http://nodejs.org/docs/v0.8.16/api/process.html#process_process_nexttick_callback
|
||||
[postMessage]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#posting-messages
|
||||
[MessageChannel]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#channel-messaging
|
||||
[cross-browser-demo]: http://calvinmetcalf.github.io/setImmediate-shim-demo
|
||||
[my-blog-1]:http://calvinmetcalf.com/post/61672207151/setimmediate-etc
|
||||
[my-blog-2]:http://calvinmetcalf.com/post/61761231881/javascript-schedulers
|
||||
13
client/node_modules/immediate/bower.json
generated
vendored
Normal file
13
client/node_modules/immediate/bower.json
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "immediate",
|
||||
"version": "3.2.1",
|
||||
"description": "A cross browser microtask library",
|
||||
"homepage": "https://github.com/calvinmetcalf/immediate",
|
||||
"authors": [
|
||||
"Domenic Denicola <domenic@domenicdenicola.com> (http://domenicdenicola.com)",
|
||||
"Donavon West <github@donavon.com> (http://donavon.com)",
|
||||
"Yaffle",
|
||||
"Calvin Metcalf <calvin.metcalf@gmail.com>"
|
||||
],
|
||||
"main": "dist/immediate.js"
|
||||
}
|
||||
13
client/node_modules/immediate/component.json
generated
vendored
Normal file
13
client/node_modules/immediate/component.json
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "immediate",
|
||||
"version": "3.2.1",
|
||||
"description": "A cross browser microtask library",
|
||||
"repo": "calvinmetcalf/immediate",
|
||||
"keywords": [],
|
||||
"development": {},
|
||||
"license": "MIT",
|
||||
"main": "dist/immediate.js",
|
||||
"scripts": [
|
||||
"dist/immediate.js"
|
||||
]
|
||||
}
|
||||
201
client/node_modules/immediate/dist/immediate.js
generated
vendored
Normal file
201
client/node_modules/immediate/dist/immediate.js
generated
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.immediate = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
var types = [
|
||||
_dereq_('./nextTick'),
|
||||
_dereq_('./queueMicrotask'),
|
||||
_dereq_('./mutation.js'),
|
||||
_dereq_('./messageChannel'),
|
||||
_dereq_('./stateChange'),
|
||||
_dereq_('./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();
|
||||
}
|
||||
}
|
||||
|
||||
},{"./messageChannel":2,"./mutation.js":3,"./nextTick":7,"./queueMicrotask":4,"./stateChange":5,"./timeout":6}],2:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'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);
|
||||
};
|
||||
};
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],3:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'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);
|
||||
};
|
||||
};
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],4:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'use strict';
|
||||
exports.test = function () {
|
||||
return typeof global.queueMicrotask === 'function';
|
||||
};
|
||||
|
||||
exports.install = function (func) {
|
||||
return function () {
|
||||
global.queueMicrotask(func);
|
||||
};
|
||||
};
|
||||
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],5:[function(_dereq_,module,exports){
|
||||
(function (global){
|
||||
'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;
|
||||
};
|
||||
};
|
||||
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
||||
},{}],6:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
exports.test = function () {
|
||||
return true;
|
||||
};
|
||||
|
||||
exports.install = function (t) {
|
||||
return function () {
|
||||
setTimeout(t, 0);
|
||||
};
|
||||
};
|
||||
},{}],7:[function(_dereq_,module,exports){
|
||||
|
||||
},{}]},{},[1])(1)
|
||||
});
|
||||
1
client/node_modules/immediate/dist/immediate.min.js
generated
vendored
Normal file
1
client/node_modules/immediate/dist/immediate.min.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.immediate=e()}}(function(){return function(){function e(n,t,o){function i(r,f){if(!t[r]){if(!n[r]){var a="function"==typeof require&&require;if(!f&&a)return a(r,!0);if(u)return u(r,!0);var s=new Error("Cannot find module '"+r+"'");throw s.code="MODULE_NOT_FOUND",s}var l=t[r]={exports:{}};n[r][0].call(l.exports,function(e){return i(n[r][1][e]||e)},l,l.exports,e,n,t,o)}return t[r].exports}for(var u="function"==typeof require&&require,r=0;r<o.length;r++)i(o[r]);return i}return e}()({1:[function(e,n,t){"use strict";function o(){f&&a&&(f=!1,a.length?d=a.concat(d):c=-1,d.length&&i())}function i(){if(!f){p=!1,f=!0;for(var e=d.length,n=setTimeout(o);e;){for(a=d,d=[];a&&++c<e;)a[c].run();c=-1,e=d.length}a=null,c=-1,f=!1,clearTimeout(n)}}function u(e,n){this.fun=e,this.array=n}function r(e){var n=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)n[t-1]=arguments[t];d.push(new u(e,n)),p||f||(p=!0,s())}for(var f,a,s,l=[e("./nextTick"),e("./queueMicrotask"),e("./mutation.js"),e("./messageChannel"),e("./stateChange"),e("./timeout")],c=-1,d=[],p=!1,h=-1,g=l.length;++h<g;)if(l[h]&&l[h].test&&l[h].test()){s=l[h].install(i);break}u.prototype.run=function(){var e=this.fun,n=this.array;switch(n.length){case 0:return e();case 1:return e(n[0]);case 2:return e(n[0],n[1]);case 3:return e(n[0],n[1],n[2]);default:return e.apply(null,n)}},n.exports=r},{"./messageChannel":2,"./mutation.js":3,"./nextTick":7,"./queueMicrotask":4,"./stateChange":5,"./timeout":6}],2:[function(e,n,t){(function(e){"use strict";t.test=function(){return!e.setImmediate&&void 0!==e.MessageChannel},t.install=function(n){var t=new e.MessageChannel;return t.port1.onmessage=n,function(){t.port2.postMessage(0)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,n,t){(function(e){"use strict";var n=e.MutationObserver||e.WebKitMutationObserver;t.test=function(){return n},t.install=function(t){var o=0,i=new n(t),u=e.document.createTextNode("");return i.observe(u,{characterData:!0}),function(){u.data=o=++o%2}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,n,t){(function(e){"use strict";t.test=function(){return"function"==typeof e.queueMicrotask},t.install=function(n){return function(){e.queueMicrotask(n)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,n,t){(function(e){"use strict";t.test=function(){return"document"in e&&"onreadystatechange"in e.document.createElement("script")},t.install=function(n){return function(){var t=e.document.createElement("script");return t.onreadystatechange=function(){n(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t),n}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(e,n,t){"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},{}],7:[function(e,n,t){},{}]},{},[1])(1)});
|
||||
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);
|
||||
};
|
||||
};
|
||||
48
client/node_modules/immediate/package.json
generated
vendored
Normal file
48
client/node_modules/immediate/package.json
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "immediate",
|
||||
"version": "3.3.0",
|
||||
"description": "A cross browser microtask library",
|
||||
"contributors": [
|
||||
"Domenic Denicola <domenic@domenicdenicola.com> (http://domenicdenicola.com)",
|
||||
"Donavon West <github@donavon.com> (http://donavon.com)",
|
||||
"Yaffle",
|
||||
"Calvin Metcalf <calvin.metcalf@gmail.com>"
|
||||
],
|
||||
"testling": {
|
||||
"files": "test/tests.js",
|
||||
"browsers": [
|
||||
"ie/6..latest",
|
||||
"chrome/latest",
|
||||
"firefox/3..latest",
|
||||
"opera/10..latest",
|
||||
"safari/4..latest",
|
||||
"iphone/latest",
|
||||
"ipad/latest",
|
||||
"android-browser/latest"
|
||||
]
|
||||
},
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/calvinmetcalf/immediate.git"
|
||||
},
|
||||
"browser": {
|
||||
"./lib/nextTick": false
|
||||
},
|
||||
"bugs": "https://github.com/calvinmetcalf/immediate/issues",
|
||||
"main": "lib/index.js",
|
||||
"scripts": {
|
||||
"build": "npm run build-js && npm run uglify",
|
||||
"uglify": "uglifyjs dist/immediate.js -mc > dist/immediate.min.js",
|
||||
"build-js": "browserify -s immediate ./lib/index.js | derequire > dist/immediate.js",
|
||||
"test": "jshint lib/*.js && node test/tests.js | tspec"
|
||||
},
|
||||
"devDependencies": {
|
||||
"browserify": "^16.5.1",
|
||||
"derequire": "^2.1.1",
|
||||
"jshint": "^2.5.1",
|
||||
"tap-spec": "^5.0.0",
|
||||
"tape": "^4.0.0",
|
||||
"uglify-js": "^2.4.13"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user