maximize-iterator
Version:
Maximize the parallel calls of an iterator supporting asyncIterator interface
31 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return maximizeIterator;
}
});
var _workerts = /*#__PURE__*/ _interop_require_default(require("./worker.js"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function maximizeIterator(iterator, each, options, callback) {
if (typeof each !== 'function') throw new Error('Missing each function');
if (typeof options === 'function') {
callback = options;
options = {};
}
options = options || {};
if (typeof callback === 'function') return (0, _workerts.default)(iterator, each, options, callback);
return new Promise(function(resolve, reject) {
return (0, _workerts.default)(iterator, each, options, function(err) {
return err ? reject(err) : resolve(undefined);
});
});
}
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }