UNPKG

maximize-iterator

Version:

Maximize the parallel calls of an iterator supporting asyncIterator interface

12 lines (11 loc) 554 B
import worker from './worker.js'; export default function maximizeIterator(iterator, each, options, callback) { if (typeof each !== 'function') throw new Error('Missing each function'); callback = typeof options === 'function' ? options : callback; options = typeof options === 'function' ? {} : options || {}; if (typeof callback === 'function') { worker(iterator, each, options, callback); return; } return new Promise((resolve, reject)=>worker(iterator, each, options, (err)=>err ? reject(err) : resolve())); }