UNPKG

typed-utilities

Version:
47 lines (35 loc) 892 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withRunToCompletion = exports.runToCompletion = exports.nextify = exports.next = void 0; const next = iter => { const { value, done } = iter.next(); if (done) { throw new Error(`Iterable is done`); } return value; }; exports.next = next; const nextify = iter => () => next(iter); exports.nextify = nextify; const runToCompletion = iter => new Promise((resolve, reject) => { while (true) { try { const next = iter.next(); if (next.done) { resolve(next.value); return; } } catch (error) { reject(error); } } }); exports.runToCompletion = runToCompletion; const withRunToCompletion = fn => async () => await runToCompletion(fn()); exports.withRunToCompletion = withRunToCompletion; //# sourceMappingURL=Iterator.js.map