From eb6237992e19a551dcea60067b850ed33dbbd014 Mon Sep 17 00:00:00 2001 From: Michael Ficarra Date: Thu, 30 Mar 2023 10:25:39 -0600 Subject: [PATCH] remove hint from GetIteratorFlattenable (#271) --- spec.html | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/spec.html b/spec.html index 67526f2..3a41b49 100644 --- a/spec.html +++ b/spec.html @@ -130,32 +130,21 @@

GetIteratorFlattenable ( _obj_: an ECMAScript language value, - _hint_: ~sync~ or ~async~, ): either a normal completion containing an Iterator Record or a throw completion

1. If _obj_ is not an Object, throw a *TypeError* exception. - 1. Let _alreadyAsync_ be *false*. - 1. Let _method_ be *undefined*. - 1. If _hint_ is ~async~, then - 1. Set _method_ to ? Get(_obj_, @@asyncIterator). - 1. Set _alreadyAsync_ to *true*. - 1. If IsCallable(_method_) is *false*, then - 1. Set _method_ to ? Get(_obj_, @@iterator). - 1. Set _alreadyAsync_ to *false*. + 1. Let _method_ be ? Get(_obj_, @@iterator). 1. If IsCallable(_method_) is *false*, then 1. Let _iterator_ be _obj_. - 1. Set _alreadyAsync_ to *true*. 1. Else, 1. Let _iterator_ be ? Call(_method_, _obj_). 1. If _iterator_ is not an Object, throw a *TypeError* exception. 1. Let _nextMethod_ be ? Get(_iterator_, *"next"*). 1. If IsCallable(_nextMethod_) is *false*, throw a *TypeError* exception. 1. Let _iteratorRecord_ be the Iterator Record { [[Iterator]]: _iterator_, [[NextMethod]]: _nextMethod_, [[Done]]: *false* }. - 1. If _hint_ is ~async~ and _alreadyAsync_ is *false*, then - 1. Return CreateAsyncFromSyncIterator(_iteratorRecord_). 1. Return _iteratorRecord_. @@ -203,7 +192,7 @@

Iterator.prototype

Iterator.from ( _O_ )

1. If _O_ is a String, set _O_ to ! ToObject(_O_). - 1. Let _iteratorRecord_ be ? GetIteratorFlattenable(_O_, ~sync~). + 1. Let _iteratorRecord_ be ? GetIteratorFlattenable(_O_). 1. Let _hasInstance_ be ? OrdinaryHasInstance(%Iterator%, _iteratorRecord_.[[Iterator]]). 1. If _hasInstance_ is *true*, then 1. Return _iteratorRecord_.[[Iterator]]. @@ -430,7 +419,7 @@

Iterator.prototype.flatMap ( _mapper_ )

1. Let _value_ be ? IteratorValue(_next_). 1. Let _mapped_ be Completion(Call(_mapper_, *undefined*, « _value_, 𝔽(_counter_) »)). 1. IfAbruptCloseIterator(_mapped_, _iterated_). - 1. Let _innerIterator_ be Completion(GetIteratorFlattenable(_mapped_, ~sync~)). + 1. Let _innerIterator_ be Completion(GetIteratorFlattenable(_mapped_)). 1. IfAbruptCloseIterator(_innerIterator_, _iterated_). 1. Let _innerAlive_ be *true*. 1. Repeat, while _innerAlive_ is *true*,