Como clonar o gerador ES6?
Estou tentando criar umList
mônada no ES6 usando geradores. Para fazê-lo funcionar, preciso criar uma cópia de um iterador que já consumiu vários estados. Como clonar um iterador no ES6?
function* test() {
yield 1;
yield 2;
yield 3;
}
var x = test();
console.log(x.next().value); // 1
var y = clone(x);
console.log(x.next().value); // 2
console.log(y.next().value); // 2 (sic)
eu tenteiclone
ecloneDeep
delodash
, mas eles não tinham utilidade. Os iteradores retornados dessa maneira são funções nativas e mantêm seu estado internamente; portanto, parece que não há como fazê-lo com o próprio código JS.