cspell
Version: 
A Spelling Checker for Code!
16 lines • 478 B
JavaScript
import assert from 'assert';
export function* prefetchIterable(iterable, size) {
    assert(size >= 0);
    const iter = iterable[Symbol.iterator]();
    const buffer = [];
    for (let next = iter.next(); !next.done; next = iter.next()) {
        buffer.push(next.value);
        if (buffer.length >= size - 1) {
            const value = buffer[0];
            buffer.shift();
            yield value;
        }
    }
    yield* buffer;
}
//# sourceMappingURL=prefetch.mjs.map