Files
Shifted/node_modules/fast-check/lib/esm/stream/LazyIterableIterator.js
2026-02-10 01:14:19 +00:00

21 lines
463 B
JavaScript

class LazyIterableIterator {
constructor(producer) {
this.producer = producer;
}
[Symbol.iterator]() {
if (this.it === undefined) {
this.it = this.producer();
}
return this.it;
}
next() {
if (this.it === undefined) {
this.it = this.producer();
}
return this.it.next();
}
}
export function makeLazy(producer) {
return new LazyIterableIterator(producer);
}