iter-tools-es
Version:
The iterable toolbox
24 lines (20 loc) • 462 B
JavaScript
const {
iterableCurry
} = require('../../internal/iterable.js');
const {
Exchange
} = require('../../internal/fork.js');
function* __fork(source) {
const exchange = new Exchange(source[Symbol.iterator]());
const dummyFork = exchange.fork();
try {
while (true) yield exchange.fork();
} finally {
dummyFork.return();
}
}
exports.__fork = __fork;
const fork = /*#__PURE__*/iterableCurry(__fork, {
forceSync: true
});
exports.fork = fork;