Skip to content

Commit 313e24d

Browse files
committed
drop openIters from entrypoint functions
1 parent 44e387c commit 313e24d

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

spec.emu

+8-14
Original file line numberDiff line numberDiff line change
@@ -25,42 +25,39 @@ copyright: false
2525
1. Set _paddingOption_ to ? Get(_options_, *"padding"*).
2626
1. If _strict_ is *true*, set _mode_ to ~strict~.
2727
1. Let _iters_ be a new empty List.
28-
1. Let _openIters_ be a new empty List.
2928
1. Let _padding_ be a new empty List.
3029
1. Let _inputIter_ be ? GetIterator(_iterables_, ~sync~).
3130
1. Let _next_ be ~not-started~.
3231
1. Repeat, while _next_ is not ~done~,
3332
1. Set _next_ to Completion(IteratorStepValue(_inputIter_)).
34-
1. IfAbruptCloseIterators(_next_, _openIters_).
33+
1. IfAbruptCloseIterators(_next_, _iters_).
3534
1. If _next_ is not ~done~, then
3635
1. Let _iter_ be Completion(GetIteratorFlattenable(_next_, ~iterate-strings~)).
37-
1. IfAbruptCloseIterators(_iter_, the list-concatenation of « _inputIter_ » and _openIters_).
36+
1. IfAbruptCloseIterators(_iter_, the list-concatenation of « _inputIter_ » and _iters_).
3837
1. Append _iter_ to _iters_.
39-
1. Append _iter_ to _openIters_.
4038
1. Let _iterCount_ be the number of elements in _iters_.
4139
1. If _mode_ is ~longest~, then
4240
1. If _paddingOption_ is *undefined*, then
4341
1. Perform the following steps _iterCount_ times:
4442
1. Append *undefined* to _padding_.
4543
1. Else,
4644
1. Let _paddingIter_ be Completion(GetIterator(_paddingOption_, ~sync~)).
47-
1. IfAbruptCloseIterators(_paddingIter_, _openIters_).
45+
1. IfAbruptCloseIterators(_paddingIter_, _iters_).
4846
1. Let _usingIterator_ be *true*.
4947
1. Perform the following steps _iterCount_ times:
5048
1. If _usingIterator_ is *true*, then
5149
1. Set _next_ to Completion(IteratorStepValue(_paddingIter_)).
52-
1. IfAbruptCloseIterators(_next_, _openIters_).
50+
1. IfAbruptCloseIterators(_next_, _iters_).
5351
1. If _next_ is ~done~, then
5452
1. Set _usingIterator_ to *false*.
5553
1. Else,
5654
1. Append _next_ to _padding_.
5755
1. If _usingIterator_ is *false*, append *undefined* to _padding_.
5856
1. If _usingIterator_ is *true*, then
5957
1. Let _completion_ be Completion(IteratorClose(_paddingIter_, NormalCompletion(~unused~))).
60-
1. IfAbruptCloseIterators(_completion_, _openIters_).
58+
1. IfAbruptCloseIterators(_completion_, _iters_).
6159
1. Let _finishResults_ be a new Abstract Closure with parameters (_results_) that captures nothing and performs the following steps when called:
6260
1. Return CreateArrayFromList(_results_).
63-
1. Assert: _iters_ and _openIters_ have the same length and elements.
6461
1. Return IteratorZipCore(_iters_, _mode_, _padding_, _finishResults_).
6562
</emu-alg>
6663
</emu-clause>
@@ -81,7 +78,6 @@ copyright: false
8178
1. Set _paddingOption_ to ? Get(_options_, *"padding"*).
8279
1. If _strict_ is *true*, set _mode_ to ~strict~.
8380
1. Let _iters_ be a new empty List.
84-
1. Let _openIters_ be a new empty List.
8581
1. Let _padding_ be a new empty List.
8682
1. Let _allKeys_ be ? _iterables_.[[OwnPropertyKeys]]().
8783
1. Let _keys_ be a new empty List.
@@ -96,14 +92,13 @@ copyright: false
9692
1. Let _getter_ be _desc_.[[Get]].
9793
1. If _getter_ is not *undefined*, then
9894
1. Let _getterResult_ be Completion(Call(_getter_, _iterables_)).
99-
1. IfAbruptCloseIterators(_getterResult_, _openIters_).
95+
1. IfAbruptCloseIterators(_getterResult_, _iters_).
10096
1. Set _value_ to _getterResult_.
10197
1. If _value_ is not *undefined*, then
10298
1. Append _key_ to _keys_.
10399
1. Let _iter_ be Completion(GetIteratorFlattenable(_value_, ~iterate-strings~)).
104-
1. IfAbruptCloseIterators(_iter_, _openIters_).
100+
1. IfAbruptCloseIterators(_iter_, _iters_).
105101
1. Append _iter_ to _iters_.
106-
1. Append _iter_ to _openIters_.
107102
1. Let _iterCount_ be the number of elements in _iters_.
108103
1. If _mode_ is ~longest~, then
109104
1. If _paddingOption_ is *undefined*, then
@@ -112,14 +107,13 @@ copyright: false
112107
1. Else,
113108
1. For each element _key_ of _keys_, do
114109
1. Let _value_ be Completion(Get(_paddingOption_, _key_)).
115-
1. IfAbruptCloseIterators(_value_, _openIters_).
110+
1. IfAbruptCloseIterators(_value_, _iters_).
116111
1. Append _value_ to _padding_.
117112
1. Let _finishResults_ be a new Abstract Closure with parameters (_results_) that captures _keys_ and _iterCount_ and performs the following steps when called:
118113
1. Let _obj_ be OrdinaryObjectCreate(*null*).
119114
1. For each integer _i_ such that 0 ≤ _i_ &lt; _iterCount_, do
120115
1. Perform ! CreateDataPropertyOrThrow(_obj_, _keys_[_i_], _results_[_i_]).
121116
1. Return _obj_.
122-
1. Assert: _iters_ and _openIters_ have the same length and elements.
123117
1. Return IteratorZipCore(_iters_, _mode_, _padding_, _finishResults_).
124118
</emu-alg>
125119
</emu-clause>

0 commit comments

Comments
 (0)