@@ -55,13 +55,15 @@ copyright: false
55
55
1. Repeat,
56
56
1. Let _value_ be ? IteratorStepValue(_iterated_).
57
57
1. If _value_ is ~done~, then
58
- 1. If _buffer_ is not empty and the number of elements in _buffer_ < ℝ(_windowSize_), perform ? Yield(CreateArrayFromList(_buffer_)).
58
+ 1. If _buffer_ is not empty and the number of elements in _buffer_ < ℝ(_windowSize_), then
59
+ 1. Perform Completion(Yield(CreateArrayFromList(_buffer_))).
59
60
1. Return ReturnCompletion(*undefined*).
61
+ 1. If the number of elements in _buffer_ is ℝ(_windowSize_), then
62
+ 1. Remove the first element from _buffer_.
60
63
1. Append _value_ to _buffer_.
61
64
1. If the number of elements in _buffer_ is ℝ(_windowSize_), then
62
65
1. Let _completion_ be Completion(Yield(CreateArrayFromList(_buffer_))).
63
66
1. IfAbruptCloseIterator(_completion_, _iterated_).
64
- 1. Remove the first element from _buffer_.
65
67
1. Let _result_ be CreateIteratorFromClosure(_closure_, *"Iterator Helper"*, %IteratorHelperPrototype%, « [[UnderlyingIterators]] »).
66
68
1. Set _result_.[[UnderlyingIterators]] to « _iterated_ ».
67
69
1. Return _result_.
@@ -84,11 +86,12 @@ copyright: false
84
86
1. Repeat,
85
87
1. Let _value_ be ? IteratorStepValue(_iterated_).
86
88
1. If _value_ is ~done~, return ReturnCompletion(*undefined*).
89
+ 1. If the number of elements in _buffer_ is ℝ(_windowSize_), then
90
+ 1. Remove the first element from _buffer_.
87
91
1. Append _value_ to _buffer_.
88
92
1. If the number of elements in _buffer_ is ℝ(_windowSize_), then
89
93
1. Let _completion_ be Completion(Yield(CreateArrayFromList(_buffer_))).
90
94
1. IfAbruptCloseIterator(_completion_, _iterated_).
91
- 1. Remove the first element from _buffer_.
92
95
1. Let _result_ be CreateIteratorFromClosure(_closure_, *"Iterator Helper"*, %IteratorHelperPrototype%, « [[UnderlyingIterators]] »).
93
96
1. Set _result_.[[UnderlyingIterators]] to « _iterated_ ».
94
97
1. Return _result_.
0 commit comments