source: frontend/node_modules/async/priorityQueue.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 11 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[9af201e]1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7exports.default = function (worker, concurrency) {
8 // Start with a normal queue
9 var q = (0, _queue2.default)(worker, concurrency);
10
11 var {
12 push,
13 pushAsync
14 } = q;
15
16 q._tasks = new _Heap2.default();
17 q._createTaskItem = ({ data, priority }, callback) => {
18 return {
19 data,
20 priority,
21 callback
22 };
23 };
24
25 function createDataItems(tasks, priority) {
26 if (!Array.isArray(tasks)) {
27 return { data: tasks, priority };
28 }
29 return tasks.map(data => {
30 return { data, priority };
31 });
32 }
33
34 // Override push to accept second parameter representing priority
35 q.push = function (data, priority = 0, callback) {
36 return push(createDataItems(data, priority), callback);
37 };
38
39 q.pushAsync = function (data, priority = 0, callback) {
40 return pushAsync(createDataItems(data, priority), callback);
41 };
42
43 // Remove unshift functions
44 delete q.unshift;
45 delete q.unshiftAsync;
46
47 return q;
48};
49
50var _queue = require('./queue.js');
51
52var _queue2 = _interopRequireDefault(_queue);
53
54var _Heap = require('./internal/Heap.js');
55
56var _Heap2 = _interopRequireDefault(_Heap);
57
58function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
60module.exports = exports.default;
Note: See TracBrowser for help on using the repository browser.