const weakMap = new WeakMap();
const obj = {};
const gen = (function* () {
yield 'value1';
yield 'value2';
yield* ['value1', 'value2']
})();
weakMap.set(obj, gen.next().value);
console.log(weakMap.get(obj));
console.log(gen.next().value);
console.log(gen.next().value);
Ответ: 'value1'
'value2'
'value1'
JavaScript test | #JavaScript