basant307/AI_Governance_Project
045
1'use strict';2 3Object.defineProperty(exports, "__esModule", {4 value: true5});6 7exports.default = function (worker, concurrency) {8 // Start with a normal queue9 var q = (0, _queue2.default)(worker, concurrency);10 11 var {12 push,13 pushAsync14 } = q;15 16 q._tasks = new _Heap2.default();17 q._createTaskItem = ({ data, priority }, callback) => {18 return {19 data,20 priority,21 callback22 };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 priority35 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 functions44 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;