diff --git a/spec.html b/spec.html index 1de9407..5d81d80 100644 --- a/spec.html +++ b/spec.html @@ -354,19 +354,14 @@

%Iterator.prototype%.flatMap ( _mapper_ )

1. Let _value_ be ? IteratorValue(_next_). 1. Let _mapped_ be Call(_mapper_, *undefined*, « _value_ »). 1. IfAbruptCloseIterator(_mapped_, _iterated_). - 1. Let _usingIterator_ be Get(_mapped_, @@iterator). - 1. IfAbruptCloseIterator(_usingIterator_, _iterated_). - 1. If _usingIterator_ is *undefined*, then - 1. Perform ? Yield(_mapped_). - 1. Else, - 1. Let _innerIterator_ be ? GetIterator(_mapped_, ~sync~, _usingIterator_). - 1. Let _innerAlive_ be *true*. - 1. Repeat, while _innerAlive_ is *true*, - 1. Let _innerNext_ be ? IteratorNext(_innerIterator_). - 1. If ? IteratorComplete(_innerNext_) is *false*, set _innerAlive_ to *false*. - 1. Else, - 1. Let _innerValue_ be ? IteratorValue(_innerNext_). - 1. Perform ? Yield(_innerValue_). + 1. Let _innerIterator_ be ? GetIterator(_mapped_, ~sync~). + 1. Let _innerAlive_ be *true*. + 1. Repeat, while _innerAlive_ is *true*, + 1. Let _innerNext_ be ? IteratorNext(_innerIterator_). + 1. If ? IteratorComplete(_innerNext_) is *false*, set _innerAlive_ to *false*. + 1. Else, + 1. Let _innerValue_ be ? IteratorValue(_innerNext_). + 1. Perform ? Yield(_innerValue_). @@ -587,18 +582,14 @@

%AsyncIterator.prototype%.flatMap ( _mapper_ )

1. If ? IteratorComplete(_next_) is *true*, return *undefined*. 1. Let _value_ be ? IteratorValue(_next_). 1. Let _mapped_ be ? Await(? Call(_mapper_, *undefined*, « _value_ »)). - 1. Let _usingIterator_ be ? Get(_mapped_, @@iterator). - 1. If _usingIterator_ is *undefined*, then - 1. Perform ? Yield(_mapped_). - 1. Else, - 1. Let _innerIterator_ be ? GetIterator(_mapped_, ~sync~, _usingIterator_). - 1. Let _innerAlive_ be *true*. - 1. Repeat, while _innerAlive_ is *true*, - 1. Let _innerNext_ be ? Await(? IteratorNext(_innerIterator_)). - 1. If ? IteratorComplete(_nextNext_) is *true*, set _innerAlive_ to *false*. - 1. Else, - 1. Let _innerValue_ be ? IteratorValue(_innerNext_). - 1. Perform ? Yield(_innerValue_). + 1. Let _innerIterator_ be ? GetIterator(_mapped_, ~async~). + 1. Let _innerAlive_ be *true*. + 1. Repeat, while _innerAlive_ is *true*, + 1. Let _innerNext_ be ? Await(? IteratorNext(_innerIterator_)). + 1. If ? IteratorComplete(_innerNext_) is *true*, set _innerAlive_ to *false*. + 1. Else, + 1. Let _innerValue_ be ? IteratorValue(_innerNext_). + 1. Perform ? Yield(_innerValue_).