12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- 'use strict';
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = function (worker, concurrency) {
-
- var q = (0, _queue2.default)(worker, concurrency);
- var processingScheduled = false;
- q._tasks = new _Heap2.default();
-
- q.push = function (data, priority = 0, callback = () => {}) {
- if (typeof callback !== 'function') {
- throw new Error('task callback must be a function');
- }
- q.started = true;
- if (!Array.isArray(data)) {
- data = [data];
- }
- if (data.length === 0 && q.idle()) {
-
- return (0, _setImmediate2.default)(() => q.drain());
- }
- for (var i = 0, l = data.length; i < l; i++) {
- var item = {
- data: data[i],
- priority,
- callback
- };
- q._tasks.push(item);
- }
- if (!processingScheduled) {
- processingScheduled = true;
- (0, _setImmediate2.default)(() => {
- processingScheduled = false;
- q.process();
- });
- }
- };
-
- delete q.unshift;
- return q;
- };
- var _setImmediate = require('./setImmediate.js');
- var _setImmediate2 = _interopRequireDefault(_setImmediate);
- var _queue = require('./queue.js');
- var _queue2 = _interopRequireDefault(_queue);
- var _Heap = require('./internal/Heap.js');
- var _Heap2 = _interopRequireDefault(_Heap);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- module.exports = exports['default'];
|