Initial
This commit is contained in:
2
Client/node_modules/queue/.npmignore
generated
vendored
Executable file
2
Client/node_modules/queue/.npmignore
generated
vendored
Executable file
@@ -0,0 +1,2 @@
|
||||
test
|
||||
example
|
||||
5
Client/node_modules/queue/.travis.yml
generated
vendored
Executable file
5
Client/node_modules/queue/.travis.yml
generated
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
script: npm run travis
|
||||
1
Client/node_modules/queue/coverage/coverage.json
generated
vendored
Executable file
1
Client/node_modules/queue/coverage/coverage.json
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
350
Client/node_modules/queue/coverage/lcov-report/index.html
generated
vendored
Executable file
350
Client/node_modules/queue/coverage/lcov-report/index.html
generated
vendored
Executable file
@@ -0,0 +1,350 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for All files</title>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="stylesheet" href="prettify.css">
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
margin:0; padding: 0;
|
||||
}
|
||||
body {
|
||||
font-family: Helvetica Neue, Helvetica,Arial;
|
||||
font-size: 10pt;
|
||||
}
|
||||
div.header, div.footer {
|
||||
background: #eee;
|
||||
padding: 1em;
|
||||
}
|
||||
div.header {
|
||||
z-index: 100;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
border-bottom: 1px solid #666;
|
||||
width: 100%;
|
||||
}
|
||||
div.footer {
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
div.body {
|
||||
margin-top: 10em;
|
||||
}
|
||||
div.meta {
|
||||
font-size: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
font-weight: normal;
|
||||
}
|
||||
h1 {
|
||||
font-size: 12pt;
|
||||
}
|
||||
h2 {
|
||||
font-size: 10pt;
|
||||
}
|
||||
pre {
|
||||
font-family: Consolas, Menlo, Monaco, monospace;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 14px;
|
||||
font-size: 14px;
|
||||
-moz-tab-size: 2;
|
||||
-o-tab-size: 2;
|
||||
tab-size: 2;
|
||||
}
|
||||
|
||||
div.path { font-size: 110%; }
|
||||
div.path a:link, div.path a:visited { color: #000; }
|
||||
table.coverage { border-collapse: collapse; margin:0; padding: 0 }
|
||||
|
||||
table.coverage td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #111;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.coverage td.line-count {
|
||||
width: 50px;
|
||||
text-align: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
table.coverage td.line-coverage {
|
||||
color: #777 !important;
|
||||
text-align: right;
|
||||
border-left: 1px solid #666;
|
||||
border-right: 1px solid #666;
|
||||
}
|
||||
|
||||
table.coverage td.text {
|
||||
}
|
||||
|
||||
table.coverage td span.cline-any {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
width: 40px;
|
||||
}
|
||||
table.coverage td span.cline-neutral {
|
||||
background: #eee;
|
||||
}
|
||||
table.coverage td span.cline-yes {
|
||||
background: #b5d592;
|
||||
color: #999;
|
||||
}
|
||||
table.coverage td span.cline-no {
|
||||
background: #fc8c84;
|
||||
}
|
||||
|
||||
.cstat-yes { color: #111; }
|
||||
.cstat-no { background: #fc8c84; color: #111; }
|
||||
.fstat-no { background: #ffc520; color: #111 !important; }
|
||||
.cbranch-no { background: yellow !important; color: #111; }
|
||||
|
||||
.cstat-skip { background: #ddd; color: #111; }
|
||||
.fstat-skip { background: #ddd; color: #111 !important; }
|
||||
.cbranch-skip { background: #ddd !important; color: #111; }
|
||||
|
||||
.missing-if-branch {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: black;
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.skip-if-branch {
|
||||
display: none;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: #ccc;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.missing-if-branch .typ, .skip-if-branch .typ {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.entity, .metric { font-weight: bold; }
|
||||
.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
|
||||
.metric small { font-size: 80%; font-weight: normal; color: #666; }
|
||||
|
||||
div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
|
||||
div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
|
||||
div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
|
||||
div.coverage-summary th.file { border-right: none !important; }
|
||||
div.coverage-summary th.pic { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary th.pct { border-right: none !important; }
|
||||
div.coverage-summary th.abs { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
|
||||
div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
|
||||
div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
|
||||
div.coverage-summary td.pic { min-width: 120px !important; }
|
||||
div.coverage-summary a:link { text-decoration: none; color: #000; }
|
||||
div.coverage-summary a:visited { text-decoration: none; color: #333; }
|
||||
div.coverage-summary a:hover { text-decoration: underline; }
|
||||
div.coverage-summary tfoot td { border-top: 1px solid #666; }
|
||||
|
||||
div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
|
||||
height: 10px;
|
||||
width: 7px;
|
||||
display: inline-block;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sort-indicator {
|
||||
background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -20px;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -10px;
|
||||
}
|
||||
|
||||
.high { background: #b5d592 !important; }
|
||||
.medium { background: #ffe87c !important; }
|
||||
.low { background: #fc8c84 !important; }
|
||||
|
||||
span.cover-fill, span.cover-empty {
|
||||
display:inline-block;
|
||||
border:1px solid #444;
|
||||
background: white;
|
||||
height: 12px;
|
||||
}
|
||||
span.cover-fill {
|
||||
background: #ccc;
|
||||
border-right: 1px solid #444;
|
||||
}
|
||||
span.cover-empty {
|
||||
background: white;
|
||||
border-left: none;
|
||||
}
|
||||
span.cover-full {
|
||||
border-right: none !important;
|
||||
}
|
||||
pre.prettyprint {
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.com { color: #999 !important; }
|
||||
.ignore-none { color: #999; font-weight: normal; }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">All files</span></h1>
|
||||
<h2>
|
||||
|
||||
Statements: <span class="metric">98.8% <small>(82 / 83)</small></span>
|
||||
|
||||
|
||||
Branches: <span class="metric">97.5% <small>(39 / 40)</small></span>
|
||||
|
||||
|
||||
Functions: <span class="metric">100% <small>(13 / 13)</small></span>
|
||||
|
||||
|
||||
Lines: <span class="metric">98.77% <small>(80 / 81)</small></span>
|
||||
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"></div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="coverage-summary">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file high" data-value="queue/"><a href="queue/index.html">queue/</a></td>
|
||||
<td data-value="98.8" class="pic high"><span class="cover-fill" style="width: 98px;"></span><span class="cover-empty" style="width:2px;"></span></td>
|
||||
<td data-value="98.8" class="pct high">98.8%</td>
|
||||
<td data-value="83" class="abs high">(82 / 83)</td>
|
||||
<td data-value="97.5" class="pct high">97.5%</td>
|
||||
<td data-value="40" class="abs high">(39 / 40)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="13" class="abs high">(13 / 13)</td>
|
||||
<td data-value="98.77" class="pct high">98.77%</td>
|
||||
<td data-value="81" class="abs high">(80 / 81)</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Oct 26 2014 17:23:51 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
|
||||
<script src="prettify.js"></script>
|
||||
|
||||
<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
|
||||
<script>
|
||||
|
||||
YUI().use('datatable', function (Y) {
|
||||
|
||||
var formatters = {
|
||||
pct: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
try {
|
||||
return o.value.toFixed(2) + '%';
|
||||
} catch (ex) { return o.value + '%'; }
|
||||
},
|
||||
html: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.record.get(o.column.key + '_html');
|
||||
}
|
||||
},
|
||||
defaultFormatter = function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.value;
|
||||
};
|
||||
|
||||
function getColumns(theadNode) {
|
||||
var colNodes = theadNode.all('tr th'),
|
||||
cols = [],
|
||||
col;
|
||||
colNodes.each(function (colNode) {
|
||||
col = {
|
||||
key: colNode.getAttribute('data-col'),
|
||||
label: colNode.get('innerHTML') || ' ',
|
||||
sortable: !colNode.getAttribute('data-nosort'),
|
||||
className: colNode.getAttribute('class'),
|
||||
type: colNode.getAttribute('data-type'),
|
||||
allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
|
||||
};
|
||||
col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
|
||||
cols.push(col);
|
||||
});
|
||||
return cols;
|
||||
}
|
||||
|
||||
function getRowData(trNode, cols) {
|
||||
var tdNodes = trNode.all('td'),
|
||||
i,
|
||||
row = { classes: {} },
|
||||
node,
|
||||
name;
|
||||
for (i = 0; i < cols.length; i += 1) {
|
||||
name = cols[i].key;
|
||||
node = tdNodes.item(i);
|
||||
row[name] = node.getAttribute('data-value') || node.get('innerHTML');
|
||||
row[name + '_html'] = node.get('innerHTML');
|
||||
row.classes[name] = node.getAttribute('class');
|
||||
//Y.log('Name: ' + name + '; Value: ' + row[name]);
|
||||
if (cols[i].type === 'number') { row[name] = row[name] * 1; }
|
||||
}
|
||||
//Y.log(row);
|
||||
return row;
|
||||
}
|
||||
|
||||
function getData(tbodyNode, cols) {
|
||||
var data = [];
|
||||
tbodyNode.all('tr').each(function (trNode) {
|
||||
data.push(getRowData(trNode, cols));
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
function replaceTable(node) {
|
||||
if (!node) { return; }
|
||||
var cols = getColumns(node.one('thead')),
|
||||
data = getData(node.one('tbody'), cols),
|
||||
table,
|
||||
parent = node.get('parentNode');
|
||||
|
||||
table = new Y.DataTable({
|
||||
columns: cols,
|
||||
data: data,
|
||||
sortBy: 'file'
|
||||
});
|
||||
parent.set('innerHTML', '');
|
||||
table.render(parent);
|
||||
}
|
||||
|
||||
Y.on('domready', function () {
|
||||
replaceTable(Y.one('div.coverage-summary table'));
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
1
Client/node_modules/queue/coverage/lcov-report/prettify.css
generated
vendored
Executable file
1
Client/node_modules/queue/coverage/lcov-report/prettify.css
generated
vendored
Executable file
@@ -0,0 +1 @@
|
||||
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
|
||||
1
Client/node_modules/queue/coverage/lcov-report/prettify.js
generated
vendored
Executable file
1
Client/node_modules/queue/coverage/lcov-report/prettify.js
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
350
Client/node_modules/queue/coverage/lcov-report/queue/index.html
generated
vendored
Executable file
350
Client/node_modules/queue/coverage/lcov-report/queue/index.html
generated
vendored
Executable file
@@ -0,0 +1,350 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for queue/</title>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
margin:0; padding: 0;
|
||||
}
|
||||
body {
|
||||
font-family: Helvetica Neue, Helvetica,Arial;
|
||||
font-size: 10pt;
|
||||
}
|
||||
div.header, div.footer {
|
||||
background: #eee;
|
||||
padding: 1em;
|
||||
}
|
||||
div.header {
|
||||
z-index: 100;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
border-bottom: 1px solid #666;
|
||||
width: 100%;
|
||||
}
|
||||
div.footer {
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
div.body {
|
||||
margin-top: 10em;
|
||||
}
|
||||
div.meta {
|
||||
font-size: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
font-weight: normal;
|
||||
}
|
||||
h1 {
|
||||
font-size: 12pt;
|
||||
}
|
||||
h2 {
|
||||
font-size: 10pt;
|
||||
}
|
||||
pre {
|
||||
font-family: Consolas, Menlo, Monaco, monospace;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 14px;
|
||||
font-size: 14px;
|
||||
-moz-tab-size: 2;
|
||||
-o-tab-size: 2;
|
||||
tab-size: 2;
|
||||
}
|
||||
|
||||
div.path { font-size: 110%; }
|
||||
div.path a:link, div.path a:visited { color: #000; }
|
||||
table.coverage { border-collapse: collapse; margin:0; padding: 0 }
|
||||
|
||||
table.coverage td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #111;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.coverage td.line-count {
|
||||
width: 50px;
|
||||
text-align: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
table.coverage td.line-coverage {
|
||||
color: #777 !important;
|
||||
text-align: right;
|
||||
border-left: 1px solid #666;
|
||||
border-right: 1px solid #666;
|
||||
}
|
||||
|
||||
table.coverage td.text {
|
||||
}
|
||||
|
||||
table.coverage td span.cline-any {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
width: 40px;
|
||||
}
|
||||
table.coverage td span.cline-neutral {
|
||||
background: #eee;
|
||||
}
|
||||
table.coverage td span.cline-yes {
|
||||
background: #b5d592;
|
||||
color: #999;
|
||||
}
|
||||
table.coverage td span.cline-no {
|
||||
background: #fc8c84;
|
||||
}
|
||||
|
||||
.cstat-yes { color: #111; }
|
||||
.cstat-no { background: #fc8c84; color: #111; }
|
||||
.fstat-no { background: #ffc520; color: #111 !important; }
|
||||
.cbranch-no { background: yellow !important; color: #111; }
|
||||
|
||||
.cstat-skip { background: #ddd; color: #111; }
|
||||
.fstat-skip { background: #ddd; color: #111 !important; }
|
||||
.cbranch-skip { background: #ddd !important; color: #111; }
|
||||
|
||||
.missing-if-branch {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: black;
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.skip-if-branch {
|
||||
display: none;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: #ccc;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.missing-if-branch .typ, .skip-if-branch .typ {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.entity, .metric { font-weight: bold; }
|
||||
.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
|
||||
.metric small { font-size: 80%; font-weight: normal; color: #666; }
|
||||
|
||||
div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
|
||||
div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
|
||||
div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
|
||||
div.coverage-summary th.file { border-right: none !important; }
|
||||
div.coverage-summary th.pic { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary th.pct { border-right: none !important; }
|
||||
div.coverage-summary th.abs { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
|
||||
div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
|
||||
div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
|
||||
div.coverage-summary td.pic { min-width: 120px !important; }
|
||||
div.coverage-summary a:link { text-decoration: none; color: #000; }
|
||||
div.coverage-summary a:visited { text-decoration: none; color: #333; }
|
||||
div.coverage-summary a:hover { text-decoration: underline; }
|
||||
div.coverage-summary tfoot td { border-top: 1px solid #666; }
|
||||
|
||||
div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
|
||||
height: 10px;
|
||||
width: 7px;
|
||||
display: inline-block;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sort-indicator {
|
||||
background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -20px;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -10px;
|
||||
}
|
||||
|
||||
.high { background: #b5d592 !important; }
|
||||
.medium { background: #ffe87c !important; }
|
||||
.low { background: #fc8c84 !important; }
|
||||
|
||||
span.cover-fill, span.cover-empty {
|
||||
display:inline-block;
|
||||
border:1px solid #444;
|
||||
background: white;
|
||||
height: 12px;
|
||||
}
|
||||
span.cover-fill {
|
||||
background: #ccc;
|
||||
border-right: 1px solid #444;
|
||||
}
|
||||
span.cover-empty {
|
||||
background: white;
|
||||
border-left: none;
|
||||
}
|
||||
span.cover-full {
|
||||
border-right: none !important;
|
||||
}
|
||||
pre.prettyprint {
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.com { color: #999 !important; }
|
||||
.ignore-none { color: #999; font-weight: normal; }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">queue/</span></h1>
|
||||
<h2>
|
||||
|
||||
Statements: <span class="metric">98.8% <small>(82 / 83)</small></span>
|
||||
|
||||
|
||||
Branches: <span class="metric">97.5% <small>(39 / 40)</small></span>
|
||||
|
||||
|
||||
Functions: <span class="metric">100% <small>(13 / 13)</small></span>
|
||||
|
||||
|
||||
Lines: <span class="metric">98.77% <small>(80 / 81)</small></span>
|
||||
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » queue/</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div class="coverage-summary">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
||||
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
||||
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
||||
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
||||
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
||||
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
||||
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr>
|
||||
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
||||
<td data-value="98.8" class="pic high"><span class="cover-fill" style="width: 98px;"></span><span class="cover-empty" style="width:2px;"></span></td>
|
||||
<td data-value="98.8" class="pct high">98.8%</td>
|
||||
<td data-value="83" class="abs high">(82 / 83)</td>
|
||||
<td data-value="97.5" class="pct high">97.5%</td>
|
||||
<td data-value="40" class="abs high">(39 / 40)</td>
|
||||
<td data-value="100" class="pct high">100%</td>
|
||||
<td data-value="13" class="abs high">(13 / 13)</td>
|
||||
<td data-value="98.77" class="pct high">98.77%</td>
|
||||
<td data-value="81" class="abs high">(80 / 81)</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Oct 26 2014 17:23:51 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
|
||||
<script src="../prettify.js"></script>
|
||||
|
||||
<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
|
||||
<script>
|
||||
|
||||
YUI().use('datatable', function (Y) {
|
||||
|
||||
var formatters = {
|
||||
pct: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
try {
|
||||
return o.value.toFixed(2) + '%';
|
||||
} catch (ex) { return o.value + '%'; }
|
||||
},
|
||||
html: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.record.get(o.column.key + '_html');
|
||||
}
|
||||
},
|
||||
defaultFormatter = function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.value;
|
||||
};
|
||||
|
||||
function getColumns(theadNode) {
|
||||
var colNodes = theadNode.all('tr th'),
|
||||
cols = [],
|
||||
col;
|
||||
colNodes.each(function (colNode) {
|
||||
col = {
|
||||
key: colNode.getAttribute('data-col'),
|
||||
label: colNode.get('innerHTML') || ' ',
|
||||
sortable: !colNode.getAttribute('data-nosort'),
|
||||
className: colNode.getAttribute('class'),
|
||||
type: colNode.getAttribute('data-type'),
|
||||
allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
|
||||
};
|
||||
col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
|
||||
cols.push(col);
|
||||
});
|
||||
return cols;
|
||||
}
|
||||
|
||||
function getRowData(trNode, cols) {
|
||||
var tdNodes = trNode.all('td'),
|
||||
i,
|
||||
row = { classes: {} },
|
||||
node,
|
||||
name;
|
||||
for (i = 0; i < cols.length; i += 1) {
|
||||
name = cols[i].key;
|
||||
node = tdNodes.item(i);
|
||||
row[name] = node.getAttribute('data-value') || node.get('innerHTML');
|
||||
row[name + '_html'] = node.get('innerHTML');
|
||||
row.classes[name] = node.getAttribute('class');
|
||||
//Y.log('Name: ' + name + '; Value: ' + row[name]);
|
||||
if (cols[i].type === 'number') { row[name] = row[name] * 1; }
|
||||
}
|
||||
//Y.log(row);
|
||||
return row;
|
||||
}
|
||||
|
||||
function getData(tbodyNode, cols) {
|
||||
var data = [];
|
||||
tbodyNode.all('tr').each(function (trNode) {
|
||||
data.push(getRowData(trNode, cols));
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
function replaceTable(node) {
|
||||
if (!node) { return; }
|
||||
var cols = getColumns(node.one('thead')),
|
||||
data = getData(node.one('tbody'), cols),
|
||||
table,
|
||||
parent = node.get('parentNode');
|
||||
|
||||
table = new Y.DataTable({
|
||||
columns: cols,
|
||||
data: data,
|
||||
sortBy: 'file'
|
||||
});
|
||||
parent.set('innerHTML', '');
|
||||
table.render(parent);
|
||||
}
|
||||
|
||||
Y.on('domready', function () {
|
||||
replaceTable(Y.one('div.coverage-summary table'));
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
733
Client/node_modules/queue/coverage/lcov-report/queue/index.js.html
generated
vendored
Executable file
733
Client/node_modules/queue/coverage/lcov-report/queue/index.js.html
generated
vendored
Executable file
@@ -0,0 +1,733 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Code coverage report for queue/index.js</title>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="stylesheet" href="../prettify.css">
|
||||
|
||||
<style>
|
||||
body, html {
|
||||
margin:0; padding: 0;
|
||||
}
|
||||
body {
|
||||
font-family: Helvetica Neue, Helvetica,Arial;
|
||||
font-size: 10pt;
|
||||
}
|
||||
div.header, div.footer {
|
||||
background: #eee;
|
||||
padding: 1em;
|
||||
}
|
||||
div.header {
|
||||
z-index: 100;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
border-bottom: 1px solid #666;
|
||||
width: 100%;
|
||||
}
|
||||
div.footer {
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
div.body {
|
||||
margin-top: 10em;
|
||||
}
|
||||
div.meta {
|
||||
font-size: 90%;
|
||||
text-align: center;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
font-weight: normal;
|
||||
}
|
||||
h1 {
|
||||
font-size: 12pt;
|
||||
}
|
||||
h2 {
|
||||
font-size: 10pt;
|
||||
}
|
||||
pre {
|
||||
font-family: Consolas, Menlo, Monaco, monospace;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: 14px;
|
||||
font-size: 14px;
|
||||
-moz-tab-size: 2;
|
||||
-o-tab-size: 2;
|
||||
tab-size: 2;
|
||||
}
|
||||
|
||||
div.path { font-size: 110%; }
|
||||
div.path a:link, div.path a:visited { color: #000; }
|
||||
table.coverage { border-collapse: collapse; margin:0; padding: 0 }
|
||||
|
||||
table.coverage td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #111;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.coverage td.line-count {
|
||||
width: 50px;
|
||||
text-align: right;
|
||||
padding-right: 5px;
|
||||
}
|
||||
table.coverage td.line-coverage {
|
||||
color: #777 !important;
|
||||
text-align: right;
|
||||
border-left: 1px solid #666;
|
||||
border-right: 1px solid #666;
|
||||
}
|
||||
|
||||
table.coverage td.text {
|
||||
}
|
||||
|
||||
table.coverage td span.cline-any {
|
||||
display: inline-block;
|
||||
padding: 0 5px;
|
||||
width: 40px;
|
||||
}
|
||||
table.coverage td span.cline-neutral {
|
||||
background: #eee;
|
||||
}
|
||||
table.coverage td span.cline-yes {
|
||||
background: #b5d592;
|
||||
color: #999;
|
||||
}
|
||||
table.coverage td span.cline-no {
|
||||
background: #fc8c84;
|
||||
}
|
||||
|
||||
.cstat-yes { color: #111; }
|
||||
.cstat-no { background: #fc8c84; color: #111; }
|
||||
.fstat-no { background: #ffc520; color: #111 !important; }
|
||||
.cbranch-no { background: yellow !important; color: #111; }
|
||||
|
||||
.cstat-skip { background: #ddd; color: #111; }
|
||||
.fstat-skip { background: #ddd; color: #111 !important; }
|
||||
.cbranch-skip { background: #ddd !important; color: #111; }
|
||||
|
||||
.missing-if-branch {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: black;
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.skip-if-branch {
|
||||
display: none;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
padding: 0 4px;
|
||||
background: #ccc;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.missing-if-branch .typ, .skip-if-branch .typ {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
.entity, .metric { font-weight: bold; }
|
||||
.metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
|
||||
.metric small { font-size: 80%; font-weight: normal; color: #666; }
|
||||
|
||||
div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
|
||||
div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
|
||||
div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
|
||||
div.coverage-summary th.file { border-right: none !important; }
|
||||
div.coverage-summary th.pic { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary th.pct { border-right: none !important; }
|
||||
div.coverage-summary th.abs { border-left: none !important; text-align: right; }
|
||||
div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
|
||||
div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
|
||||
div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
|
||||
div.coverage-summary td.pic { min-width: 120px !important; }
|
||||
div.coverage-summary a:link { text-decoration: none; color: #000; }
|
||||
div.coverage-summary a:visited { text-decoration: none; color: #333; }
|
||||
div.coverage-summary a:hover { text-decoration: underline; }
|
||||
div.coverage-summary tfoot td { border-top: 1px solid #666; }
|
||||
|
||||
div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
|
||||
height: 10px;
|
||||
width: 7px;
|
||||
display: inline-block;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sort-indicator {
|
||||
background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -20px;
|
||||
}
|
||||
div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
|
||||
background-position: 0 -10px;
|
||||
}
|
||||
|
||||
.high { background: #b5d592 !important; }
|
||||
.medium { background: #ffe87c !important; }
|
||||
.low { background: #fc8c84 !important; }
|
||||
|
||||
span.cover-fill, span.cover-empty {
|
||||
display:inline-block;
|
||||
border:1px solid #444;
|
||||
background: white;
|
||||
height: 12px;
|
||||
}
|
||||
span.cover-fill {
|
||||
background: #ccc;
|
||||
border-right: 1px solid #444;
|
||||
}
|
||||
span.cover-empty {
|
||||
background: white;
|
||||
border-left: none;
|
||||
}
|
||||
span.cover-full {
|
||||
border-right: none !important;
|
||||
}
|
||||
pre.prettyprint {
|
||||
border: none !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
.com { color: #999 !important; }
|
||||
.ignore-none { color: #999; font-weight: normal; }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header high">
|
||||
<h1>Code coverage report for <span class="entity">queue/index.js</span></h1>
|
||||
<h2>
|
||||
|
||||
Statements: <span class="metric">98.8% <small>(82 / 83)</small></span>
|
||||
|
||||
|
||||
Branches: <span class="metric">97.5% <small>(39 / 40)</small></span>
|
||||
|
||||
|
||||
Functions: <span class="metric">100% <small>(13 / 13)</small></span>
|
||||
|
||||
|
||||
Lines: <span class="metric">98.77% <small>(80 / 81)</small></span>
|
||||
|
||||
Ignored: <span class="metric"><span class="ignore-none">none</span></span>
|
||||
</h2>
|
||||
<div class="path"><a href="../index.html">All files</a> » <a href="index.html">queue/</a> » index.js</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<pre><table class="coverage">
|
||||
<tr><td class="line-count">1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130
|
||||
131
|
||||
132
|
||||
133
|
||||
134
|
||||
135
|
||||
136
|
||||
137
|
||||
138</td><td class="line-coverage"><span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">18</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">25</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">15</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">33</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">33</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">32</span>
|
||||
<span class="cline-any cline-yes">8</span>
|
||||
<span class="cline-any cline-no"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">8</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">21</span>
|
||||
<span class="cline-any cline-yes">21</span>
|
||||
<span class="cline-any cline-yes">21</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">21</span>
|
||||
<span class="cline-any cline-yes">2</span>
|
||||
<span class="cline-any cline-yes">19</span>
|
||||
<span class="cline-any cline-yes">17</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">21</span>
|
||||
<span class="cline-any cline-yes">19</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">13</span>
|
||||
<span class="cline-any cline-yes">12</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">2</span>
|
||||
<span class="cline-any cline-yes">2</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">24</span>
|
||||
<span class="cline-any cline-yes">11</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">3</span>
|
||||
<span class="cline-any cline-yes">3</span>
|
||||
<span class="cline-any cline-yes">3</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-yes">6</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-yes">1</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-yes">9</span>
|
||||
<span class="cline-any cline-neutral"> </span>
|
||||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">var inherits = require('inherits');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
|
||||
module.exports = Queue;
|
||||
|
||||
function Queue(options) {
|
||||
if (!(this instanceof Queue))
|
||||
return new Queue(options);
|
||||
|
||||
EventEmitter.call(this);
|
||||
options = options || {};
|
||||
this.concurrency = options.concurrency || Infinity;
|
||||
this.timeout = options.timeout || 0;
|
||||
this.pending = 0;
|
||||
this.session = 0;
|
||||
this.running = false;
|
||||
this.jobs = [];
|
||||
}
|
||||
inherits(Queue, EventEmitter);
|
||||
|
||||
var arrayMethods = [
|
||||
'push',
|
||||
'unshift',
|
||||
'splice',
|
||||
'pop',
|
||||
'shift',
|
||||
'slice',
|
||||
'reverse',
|
||||
'indexOf',
|
||||
'lastIndexOf'
|
||||
];
|
||||
|
||||
for (var method in arrayMethods) (function(method) {
|
||||
Queue.prototype[method] = function() {
|
||||
return Array.prototype[method].apply(this.jobs, arguments);
|
||||
};
|
||||
})(arrayMethods[method]);
|
||||
|
||||
Object.defineProperty(Queue.prototype, 'length', { get: function() {
|
||||
return this.pending + this.jobs.length;
|
||||
}});
|
||||
|
||||
Queue.prototype.start = function(cb) {
|
||||
if (cb) {
|
||||
callOnErrorOrEnd.call(this, cb);
|
||||
}
|
||||
|
||||
if (this.pending === this.concurrency) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.jobs.length === 0) {
|
||||
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.pending === 0) {
|
||||
<span class="cstat-no" title="statement not covered" > done.call(this);</span>
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
var job = this.jobs.shift();
|
||||
var once = true;
|
||||
var session = this.session;
|
||||
var timeoutId = null;
|
||||
var didTimeout = false;
|
||||
|
||||
function next(err, result) {
|
||||
if (once && self.session === session) {
|
||||
once = false;
|
||||
self.pending--;
|
||||
if (timeoutId !== null) {
|
||||
clearTimeout(timeoutId);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
self.emit('error', err, job);
|
||||
} else if (didTimeout === false) {
|
||||
self.emit('success', result, job);
|
||||
}
|
||||
|
||||
if (self.session === session) {
|
||||
if (self.pending === 0 && self.jobs.length === 0) {
|
||||
done.call(self);
|
||||
} else if (self.running) {
|
||||
self.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.timeout) {
|
||||
timeoutId = setTimeout(function() {
|
||||
didTimeout = true;
|
||||
if (self.listeners('timeout').length > 0) {
|
||||
self.emit('timeout', next, job);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}, this.timeout);
|
||||
}
|
||||
|
||||
this.pending++;
|
||||
this.running = true;
|
||||
job(next);
|
||||
|
||||
if (this.jobs.length > 0) {
|
||||
this.start();
|
||||
}
|
||||
};
|
||||
|
||||
Queue.prototype.stop = function() {
|
||||
this.running = false;
|
||||
};
|
||||
|
||||
Queue.prototype.end = function(err) {
|
||||
this.jobs.length = 0;
|
||||
this.pending = 0;
|
||||
done.call(this, err);
|
||||
};
|
||||
|
||||
function callOnErrorOrEnd(cb) {
|
||||
var self = this;
|
||||
this.on('error', onerror);
|
||||
this.on('end', onend);
|
||||
|
||||
function onerror(err) { self.end(err); }
|
||||
function onend(err) {
|
||||
self.removeListener('error', onerror);
|
||||
self.removeListener('end', onend);
|
||||
cb(err);
|
||||
}
|
||||
}
|
||||
|
||||
function done(err) {
|
||||
this.session++;
|
||||
this.running = false;
|
||||
this.emit('end', err);
|
||||
}
|
||||
</pre></td></tr>
|
||||
</table></pre>
|
||||
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Oct 26 2014 17:23:51 GMT-0400 (EDT)</div>
|
||||
</div>
|
||||
|
||||
<script src="../prettify.js"></script>
|
||||
|
||||
<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
|
||||
<script>
|
||||
|
||||
YUI().use('datatable', function (Y) {
|
||||
|
||||
var formatters = {
|
||||
pct: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
try {
|
||||
return o.value.toFixed(2) + '%';
|
||||
} catch (ex) { return o.value + '%'; }
|
||||
},
|
||||
html: function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.record.get(o.column.key + '_html');
|
||||
}
|
||||
},
|
||||
defaultFormatter = function (o) {
|
||||
o.className += o.record.get('classes')[o.column.key];
|
||||
return o.value;
|
||||
};
|
||||
|
||||
function getColumns(theadNode) {
|
||||
var colNodes = theadNode.all('tr th'),
|
||||
cols = [],
|
||||
col;
|
||||
colNodes.each(function (colNode) {
|
||||
col = {
|
||||
key: colNode.getAttribute('data-col'),
|
||||
label: colNode.get('innerHTML') || ' ',
|
||||
sortable: !colNode.getAttribute('data-nosort'),
|
||||
className: colNode.getAttribute('class'),
|
||||
type: colNode.getAttribute('data-type'),
|
||||
allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
|
||||
};
|
||||
col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
|
||||
cols.push(col);
|
||||
});
|
||||
return cols;
|
||||
}
|
||||
|
||||
function getRowData(trNode, cols) {
|
||||
var tdNodes = trNode.all('td'),
|
||||
i,
|
||||
row = { classes: {} },
|
||||
node,
|
||||
name;
|
||||
for (i = 0; i < cols.length; i += 1) {
|
||||
name = cols[i].key;
|
||||
node = tdNodes.item(i);
|
||||
row[name] = node.getAttribute('data-value') || node.get('innerHTML');
|
||||
row[name + '_html'] = node.get('innerHTML');
|
||||
row.classes[name] = node.getAttribute('class');
|
||||
//Y.log('Name: ' + name + '; Value: ' + row[name]);
|
||||
if (cols[i].type === 'number') { row[name] = row[name] * 1; }
|
||||
}
|
||||
//Y.log(row);
|
||||
return row;
|
||||
}
|
||||
|
||||
function getData(tbodyNode, cols) {
|
||||
var data = [];
|
||||
tbodyNode.all('tr').each(function (trNode) {
|
||||
data.push(getRowData(trNode, cols));
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
function replaceTable(node) {
|
||||
if (!node) { return; }
|
||||
var cols = getColumns(node.one('thead')),
|
||||
data = getData(node.one('tbody'), cols),
|
||||
table,
|
||||
parent = node.get('parentNode');
|
||||
|
||||
table = new Y.DataTable({
|
||||
columns: cols,
|
||||
data: data,
|
||||
sortBy: 'file'
|
||||
});
|
||||
parent.set('innerHTML', '');
|
||||
table.render(parent);
|
||||
}
|
||||
|
||||
Y.on('domready', function () {
|
||||
replaceTable(Y.one('div.coverage-summary table'));
|
||||
if (typeof prettyPrint === 'function') {
|
||||
prettyPrint();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
156
Client/node_modules/queue/coverage/lcov.info
generated
vendored
Executable file
156
Client/node_modules/queue/coverage/lcov.info
generated
vendored
Executable file
@@ -0,0 +1,156 @@
|
||||
TN:
|
||||
SF:/Users/jessetane/Dropbox/Projects/github/queue/index.js
|
||||
FN:6,Queue
|
||||
FN:33,(anonymous_2)
|
||||
FN:34,(anonymous_3)
|
||||
FN:39,(anonymous_4)
|
||||
FN:43,(anonymous_5)
|
||||
FN:66,next
|
||||
FN:91,(anonymous_7)
|
||||
FN:110,(anonymous_8)
|
||||
FN:114,(anonymous_9)
|
||||
FN:120,callOnErrorOrEnd
|
||||
FN:125,onerror
|
||||
FN:126,onend
|
||||
FN:133,done
|
||||
FNF:13
|
||||
FNH:13
|
||||
FNDA:18,Queue
|
||||
FNDA:9,(anonymous_2)
|
||||
FNDA:25,(anonymous_3)
|
||||
FNDA:15,(anonymous_4)
|
||||
FNDA:33,(anonymous_5)
|
||||
FNDA:24,next
|
||||
FNDA:2,(anonymous_7)
|
||||
FNDA:1,(anonymous_8)
|
||||
FNDA:3,(anonymous_9)
|
||||
FNDA:6,callOnErrorOrEnd
|
||||
FNDA:1,onerror
|
||||
FNDA:6,onend
|
||||
FNDA:9,done
|
||||
DA:1,1
|
||||
DA:2,1
|
||||
DA:4,1
|
||||
DA:6,1
|
||||
DA:7,18
|
||||
DA:8,9
|
||||
DA:10,9
|
||||
DA:11,9
|
||||
DA:12,9
|
||||
DA:13,9
|
||||
DA:14,9
|
||||
DA:15,9
|
||||
DA:16,9
|
||||
DA:17,9
|
||||
DA:19,1
|
||||
DA:21,1
|
||||
DA:33,9
|
||||
DA:34,9
|
||||
DA:35,25
|
||||
DA:39,1
|
||||
DA:40,15
|
||||
DA:43,1
|
||||
DA:44,33
|
||||
DA:45,6
|
||||
DA:48,33
|
||||
DA:49,1
|
||||
DA:52,32
|
||||
DA:53,8
|
||||
DA:54,0
|
||||
DA:56,8
|
||||
DA:59,24
|
||||
DA:60,24
|
||||
DA:61,24
|
||||
DA:62,24
|
||||
DA:63,24
|
||||
DA:64,24
|
||||
DA:66,1
|
||||
DA:67,24
|
||||
DA:68,21
|
||||
DA:69,21
|
||||
DA:70,21
|
||||
DA:71,6
|
||||
DA:74,21
|
||||
DA:75,2
|
||||
DA:76,19
|
||||
DA:77,17
|
||||
DA:80,21
|
||||
DA:81,19
|
||||
DA:82,6
|
||||
DA:83,13
|
||||
DA:84,12
|
||||
DA:90,24
|
||||
DA:91,6
|
||||
DA:92,2
|
||||
DA:93,2
|
||||
DA:94,1
|
||||
DA:96,1
|
||||
DA:101,24
|
||||
DA:102,24
|
||||
DA:103,24
|
||||
DA:105,24
|
||||
DA:106,11
|
||||
DA:110,1
|
||||
DA:111,1
|
||||
DA:114,1
|
||||
DA:115,3
|
||||
DA:116,3
|
||||
DA:117,3
|
||||
DA:120,1
|
||||
DA:121,6
|
||||
DA:122,6
|
||||
DA:123,6
|
||||
DA:125,1
|
||||
DA:126,1
|
||||
DA:127,6
|
||||
DA:128,6
|
||||
DA:129,6
|
||||
DA:133,1
|
||||
DA:134,9
|
||||
DA:135,9
|
||||
DA:136,9
|
||||
LF:81
|
||||
LH:80
|
||||
BRDA:7,1,0,9
|
||||
BRDA:7,1,1,9
|
||||
BRDA:11,2,0,9
|
||||
BRDA:11,2,1,5
|
||||
BRDA:12,3,0,9
|
||||
BRDA:12,3,1,7
|
||||
BRDA:13,4,0,9
|
||||
BRDA:13,4,1,7
|
||||
BRDA:44,5,0,6
|
||||
BRDA:44,5,1,27
|
||||
BRDA:48,6,0,1
|
||||
BRDA:48,6,1,32
|
||||
BRDA:52,7,0,8
|
||||
BRDA:52,7,1,24
|
||||
BRDA:53,8,0,0
|
||||
BRDA:53,8,1,8
|
||||
BRDA:67,9,0,21
|
||||
BRDA:67,9,1,3
|
||||
BRDA:67,10,0,24
|
||||
BRDA:67,10,1,24
|
||||
BRDA:70,11,0,6
|
||||
BRDA:70,11,1,15
|
||||
BRDA:74,12,0,2
|
||||
BRDA:74,12,1,19
|
||||
BRDA:76,13,0,17
|
||||
BRDA:76,13,1,2
|
||||
BRDA:80,14,0,19
|
||||
BRDA:80,14,1,2
|
||||
BRDA:81,15,0,6
|
||||
BRDA:81,15,1,13
|
||||
BRDA:81,16,0,19
|
||||
BRDA:81,16,1,9
|
||||
BRDA:83,17,0,12
|
||||
BRDA:83,17,1,1
|
||||
BRDA:90,18,0,6
|
||||
BRDA:90,18,1,18
|
||||
BRDA:93,19,0,1
|
||||
BRDA:93,19,1,1
|
||||
BRDA:105,20,0,11
|
||||
BRDA:105,20,1,13
|
||||
BRF:40
|
||||
BRH:39
|
||||
end_of_record
|
||||
137
Client/node_modules/queue/index.js
generated
vendored
Executable file
137
Client/node_modules/queue/index.js
generated
vendored
Executable file
@@ -0,0 +1,137 @@
|
||||
var inherits = require('inherits');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
|
||||
module.exports = Queue;
|
||||
|
||||
function Queue(options) {
|
||||
if (!(this instanceof Queue))
|
||||
return new Queue(options);
|
||||
|
||||
EventEmitter.call(this);
|
||||
options = options || {};
|
||||
this.concurrency = options.concurrency || Infinity;
|
||||
this.timeout = options.timeout || 0;
|
||||
this.pending = 0;
|
||||
this.session = 0;
|
||||
this.running = false;
|
||||
this.jobs = [];
|
||||
}
|
||||
inherits(Queue, EventEmitter);
|
||||
|
||||
var arrayMethods = [
|
||||
'push',
|
||||
'unshift',
|
||||
'splice',
|
||||
'pop',
|
||||
'shift',
|
||||
'slice',
|
||||
'reverse',
|
||||
'indexOf',
|
||||
'lastIndexOf'
|
||||
];
|
||||
|
||||
for (var method in arrayMethods) (function(method) {
|
||||
Queue.prototype[method] = function() {
|
||||
return Array.prototype[method].apply(this.jobs, arguments);
|
||||
};
|
||||
})(arrayMethods[method]);
|
||||
|
||||
Object.defineProperty(Queue.prototype, 'length', { get: function() {
|
||||
return this.pending + this.jobs.length;
|
||||
}});
|
||||
|
||||
Queue.prototype.start = function(cb) {
|
||||
if (cb) {
|
||||
callOnErrorOrEnd.call(this, cb);
|
||||
}
|
||||
|
||||
if (this.pending === this.concurrency) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.jobs.length === 0) {
|
||||
if (this.pending === 0) {
|
||||
done.call(this);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var self = this;
|
||||
var job = this.jobs.shift();
|
||||
var once = true;
|
||||
var session = this.session;
|
||||
var timeoutId = null;
|
||||
var didTimeout = false;
|
||||
|
||||
function next(err, result) {
|
||||
if (once && self.session === session) {
|
||||
once = false;
|
||||
self.pending--;
|
||||
if (timeoutId !== null) {
|
||||
clearTimeout(timeoutId);
|
||||
}
|
||||
|
||||
if (err) {
|
||||
self.emit('error', err, job);
|
||||
} else if (didTimeout === false) {
|
||||
self.emit('success', result, job);
|
||||
}
|
||||
|
||||
if (self.session === session) {
|
||||
if (self.pending === 0 && self.jobs.length === 0) {
|
||||
done.call(self);
|
||||
} else if (self.running) {
|
||||
self.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.timeout) {
|
||||
timeoutId = setTimeout(function() {
|
||||
didTimeout = true;
|
||||
if (self.listeners('timeout').length > 0) {
|
||||
self.emit('timeout', next, job);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}, this.timeout);
|
||||
}
|
||||
|
||||
this.pending++;
|
||||
this.running = true;
|
||||
job(next);
|
||||
|
||||
if (this.jobs.length > 0) {
|
||||
this.start();
|
||||
}
|
||||
};
|
||||
|
||||
Queue.prototype.stop = function() {
|
||||
this.running = false;
|
||||
};
|
||||
|
||||
Queue.prototype.end = function(err) {
|
||||
this.jobs.length = 0;
|
||||
this.pending = 0;
|
||||
done.call(this, err);
|
||||
};
|
||||
|
||||
function callOnErrorOrEnd(cb) {
|
||||
var self = this;
|
||||
this.on('error', onerror);
|
||||
this.on('end', onend);
|
||||
|
||||
function onerror(err) { self.end(err); }
|
||||
function onend(err) {
|
||||
self.removeListener('error', onerror);
|
||||
self.removeListener('end', onend);
|
||||
cb(err);
|
||||
}
|
||||
}
|
||||
|
||||
function done(err) {
|
||||
this.session++;
|
||||
this.running = false;
|
||||
this.emit('end', err);
|
||||
}
|
||||
68
Client/node_modules/queue/package.json
generated
vendored
Executable file
68
Client/node_modules/queue/package.json
generated
vendored
Executable file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"_from": "queue@^3.1.0",
|
||||
"_id": "queue@3.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-bEnQHwCeIlZ4h4nyv/rGuLmZBYU=",
|
||||
"_location": "/queue",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "queue@^3.1.0",
|
||||
"name": "queue",
|
||||
"escapedName": "queue",
|
||||
"rawSpec": "^3.1.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.1.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/gulp-symdest"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/queue/-/queue-3.1.0.tgz",
|
||||
"_shasum": "6c49d01f009e2256788789f2bffac6b8b9990585",
|
||||
"_spec": "queue@^3.1.0",
|
||||
"_where": "/home/nathan/Projects/Upsilon/UpsilonVsCodeLanguageServer/Client/node_modules/gulp-symdest",
|
||||
"author": {
|
||||
"name": "Jesse Tane",
|
||||
"email": "jesse.tane@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/jessetane/queue/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"inherits": "~2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "asynchronous function queue with adjustable concurrency",
|
||||
"devDependencies": {
|
||||
"browserify": "^5.9.1",
|
||||
"coveralls": "^2.11.2",
|
||||
"istanbul": "^0.3.2",
|
||||
"tape": "^2.14.0"
|
||||
},
|
||||
"homepage": "https://github.com/jessetane/queue#readme",
|
||||
"keywords": [
|
||||
"queue",
|
||||
"async",
|
||||
"asynchronous",
|
||||
"synchronous",
|
||||
"job",
|
||||
"task",
|
||||
"concurrency",
|
||||
"concurrent"
|
||||
],
|
||||
"license": "WTFPL",
|
||||
"name": "queue",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/jessetane/queue.git"
|
||||
},
|
||||
"scripts": {
|
||||
"example": "node example",
|
||||
"test": "node test",
|
||||
"test-browser": "browserify test/index.js > test/bundle.js && echo \"open test/index.html in your browser\"",
|
||||
"travis": "istanbul cover test --report lcovonly && cat coverage/lcov.info | coveralls"
|
||||
},
|
||||
"version": "3.1.0"
|
||||
}
|
||||
170
Client/node_modules/queue/readme.md
generated
vendored
Executable file
170
Client/node_modules/queue/readme.md
generated
vendored
Executable file
@@ -0,0 +1,170 @@
|
||||
```
|
||||
____ __ _____ __ _____
|
||||
/ __ `/ / / / _ \/ / / / _ \
|
||||
/ /_/ / /_/ / __/ /_/ / __/
|
||||
\__, /\__,_/\___/\__,_/\___/
|
||||
/_/
|
||||
```
|
||||
Asynchronous function queue with adjustable concurrency.
|
||||
|
||||
[](http://www.npmjs.org/queue)
|
||||
[](https://travis-ci.org/jessetane/queue)
|
||||
[](https://coveralls.io/r/jessetane/queue)
|
||||
|
||||
## Why
|
||||
[Async](https://github.com/caolan/async) is a big library offering various approaches to dealing with asynchrony; `queue` is a small library offering a single, flexible abstraction.
|
||||
|
||||
## How
|
||||
This module exports a class `Queue` that implements most of the `Array` API. Pass async functions (ones that accept a callback) to an instance's additive array methods. Processing begins when you call `q.start()`.
|
||||
|
||||
## Install
|
||||
`npm install queue`
|
||||
|
||||
## Test
|
||||
`npm test`
|
||||
`npm run test-browser`
|
||||
|
||||
## Example
|
||||
`npm run example`
|
||||
``` javascript
|
||||
var queue = require('queue');
|
||||
|
||||
var q = queue();
|
||||
var results = [];
|
||||
|
||||
// add jobs using the Array API
|
||||
|
||||
q.push(function(cb) {
|
||||
results.push('two');
|
||||
cb();
|
||||
});
|
||||
|
||||
q.push(
|
||||
function(cb) {
|
||||
results.push('four');
|
||||
cb();
|
||||
},
|
||||
function(cb) {
|
||||
results.push('five');
|
||||
cb();
|
||||
}
|
||||
);
|
||||
|
||||
q.unshift(function(cb) {
|
||||
results.push('one');
|
||||
cb();
|
||||
});
|
||||
|
||||
q.splice(2, 0, function(cb) {
|
||||
results.push('three');
|
||||
cb();
|
||||
});
|
||||
|
||||
// use the timeout feature to deal with jobs that
|
||||
// take too long or forget to execute a callback
|
||||
|
||||
q.timeout = 100;
|
||||
|
||||
q.on('timeout', function(next, job) {
|
||||
console.log('job timed out:', job.toString().replace(/\n/g, ''));
|
||||
next();
|
||||
});
|
||||
|
||||
q.push(function(cb) {
|
||||
setTimeout(function() {
|
||||
console.log('slow job finished');
|
||||
cb();
|
||||
}, 200);
|
||||
});
|
||||
|
||||
q.push(function(cb) {
|
||||
console.log('forgot to execute callback');
|
||||
});
|
||||
|
||||
// get notified when jobs complete
|
||||
|
||||
q.on('success', function(result, job) {
|
||||
console.log('job finished processing:', job.toString().replace(/\n/g, ''));
|
||||
});
|
||||
|
||||
// begin processing, get notified on end / failure
|
||||
|
||||
q.start(function(err) {
|
||||
console.log('all done:', results);
|
||||
});
|
||||
```
|
||||
|
||||
## Require
|
||||
#### `var queue = require('queue')`
|
||||
|
||||
## Constructor
|
||||
#### `var q = queue([opts])`
|
||||
Where `opts` may contain inital values for:
|
||||
* `q.concurrency`
|
||||
* `q.timeout`
|
||||
|
||||
## Instance methods
|
||||
#### `q.start([cb])`
|
||||
cb, if passed, will be called when the queue empties or when an error occurs.
|
||||
|
||||
#### `q.stop()`
|
||||
Stops the queue. can be resumed with `q.start()`.
|
||||
|
||||
#### `q.end([err])`
|
||||
Stop and empty the queue immediately.
|
||||
|
||||
## Instance methods mixed in from `Array`
|
||||
Mozilla has docs on how these methods work [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).
|
||||
#### `q.push(element1, ..., elementN)`
|
||||
#### `q.unshift(element1, ..., elementN)`
|
||||
#### `q.splice(index , howMany[, element1[, ...[, elementN]]])`
|
||||
#### `q.pop()`
|
||||
#### `q.shift()`
|
||||
#### `q.slice(begin[, end])`
|
||||
#### `q.reverse()`
|
||||
#### `q.indexOf(searchElement[, fromIndex])`
|
||||
#### `q.lastIndexOf(searchElement[, fromIndex])`
|
||||
|
||||
## Properties
|
||||
#### `q.concurrency`
|
||||
Max number of jobs the queue should process concurrently, defaults to `Infinity`.
|
||||
|
||||
#### `q.timeout`
|
||||
Milliseconds to wait for a job to execute its callback.
|
||||
|
||||
#### `q.length`
|
||||
Jobs pending + jobs to process (readonly).
|
||||
|
||||
## Events
|
||||
|
||||
#### `q.emit('success', result, job)`
|
||||
After a job executes its callback.
|
||||
|
||||
#### `q.emit('error', err, job)`
|
||||
After a job passes an error to its callback.
|
||||
|
||||
#### `q.emit('timeout', continue, job)`
|
||||
After `q.timeout` milliseconds have elapsed and a job has not executed its callback.
|
||||
|
||||
#### `q.emit('end'[, err])`
|
||||
After all jobs have been processed
|
||||
|
||||
## Releases
|
||||
The latest stable release is published to [npm](http://npmjs.org/queue). Abbreviated changelog below:
|
||||
* [3.1.x](https://github.com/jessetane/queue/archive/3.0.6.tar.gz)
|
||||
* Add .npmignore
|
||||
* [3.0.x](https://github.com/jessetane/queue/archive/3.0.6.tar.gz)
|
||||
* Change the default concurrency to `Infinity`
|
||||
* Allow `q.start()` to accept an optional callback executed on `q.emit('end')`
|
||||
* [2.x](https://github.com/jessetane/queue/archive/2.2.0.tar.gz)
|
||||
* Major api changes / not backwards compatible with 1.x
|
||||
* [1.x](https://github.com/jessetane/queue/archive/1.0.2.tar.gz)
|
||||
* Early prototype
|
||||
|
||||
## License
|
||||
Copyright © 2014 Jesse Tane <jesse.tane@gmail.com>
|
||||
|
||||
This work is free. You can redistribute it and/or modify it under the
|
||||
terms of the [WTFPL](http://www.wtfpl.net/txt/copying).
|
||||
|
||||
No Warranty. The Software is provided "as is" without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement.
|
||||
Reference in New Issue
Block a user