CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes45downloads
priorityQueue.js60 linesDownload Raw Back to async
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;
basant307/AI_Governance_Project · CoolFace