diff --git a/package-lock.json b/package-lock.json
index b0a9643..330e447 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "proposal-iterator-helpers.git",
+ "name": "proposal-iterator-helpers",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"devDependencies": {
- "@tc39/ecma262-biblio": "2.1.2407",
+ "@tc39/ecma262-biblio": "2.1.2678",
"ecmarkup": "^15.0.0"
}
},
@@ -177,9 +177,9 @@
}
},
"node_modules/@tc39/ecma262-biblio": {
- "version": "2.1.2407",
- "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2407.tgz",
- "integrity": "sha512-1kHK+gKo399tKW88+n3D/mbdMGlGvaxgedUubpCihC35n6F1dwkZC7py6FhwawbFatwcychS7q+GRH42IsYy8w==",
+ "version": "2.1.2678",
+ "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2678.tgz",
+ "integrity": "sha512-3I6m+wpNSHuQsJjeH3UgfqUaet1aM/9ReeWJH8H1H+DKLHfQafWK+OHQLgUbpd5ruJveC2AbyKuUVsXrtMV3Bw==",
"dev": true
},
"node_modules/@tootallnate/once": {
@@ -1642,9 +1642,9 @@
}
},
"@tc39/ecma262-biblio": {
- "version": "2.1.2407",
- "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2407.tgz",
- "integrity": "sha512-1kHK+gKo399tKW88+n3D/mbdMGlGvaxgedUubpCihC35n6F1dwkZC7py6FhwawbFatwcychS7q+GRH42IsYy8w==",
+ "version": "2.1.2678",
+ "resolved": "https://registry.npmjs.org/@tc39/ecma262-biblio/-/ecma262-biblio-2.1.2678.tgz",
+ "integrity": "sha512-3I6m+wpNSHuQsJjeH3UgfqUaet1aM/9ReeWJH8H1H+DKLHfQafWK+OHQLgUbpd5ruJveC2AbyKuUVsXrtMV3Bw==",
"dev": true
},
"@tootallnate/once": {
diff --git a/package.json b/package.json
index 5542fb2..9e3d1c5 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"check-format": "emu-format --check spec.html"
},
"devDependencies": {
- "@tc39/ecma262-biblio": "2.1.2407",
+ "@tc39/ecma262-biblio": "2.1.2678",
"ecmarkup": "^15.0.0"
}
}
diff --git a/spec.html b/spec.html
index c518e36..1230768 100644
--- a/spec.html
+++ b/spec.html
@@ -350,9 +350,8 @@
Iterator.prototype.map ( _mapper_ )
1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterated_ and _mapper_ and performs the following steps when called:
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
1. Let _mapped_ be Completion(Call(_mapper_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_mapped_, _iterated_).
1. Let _completion_ be Completion(Yield(_mapped_)).
@@ -375,9 +374,8 @@ Iterator.prototype.filter ( _predicate_ )
1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterated_ and _predicate_ and performs the following steps when called:
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
1. Let _selected_ be Completion(Call(_predicate_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_selected_, _iterated_).
1. If ToBoolean(_selected_) is *true*, then
@@ -408,9 +406,9 @@ Iterator.prototype.take ( _limit_ )
1. Return ? IteratorClose(_iterated_, NormalCompletion(*undefined*)).
1. If _remaining_ is not +∞, then
1. Set _remaining_ to _remaining_ - 1.
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _completion_ be Completion(Yield(? IteratorValue(_next_))).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
+ 1. Let _completion_ be Completion(Yield(_value_)).
1. IfAbruptCloseIterator(_completion_, _iterated_).
1. Let _result_ be CreateIteratorFromClosure(_closure_, *"Iterator Helper"*, %IteratorHelperPrototype%, « [[UnderlyingIterator]] »).
1. Set _result_.[[UnderlyingIterator]] to _iterated_.
@@ -437,9 +435,9 @@ Iterator.prototype.drop ( _limit_ )
1. Let _next_ be ? IteratorStep(_iterated_).
1. If _next_ is *false*, return *undefined*.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _completion_ be Completion(Yield(? IteratorValue(_next_))).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
+ 1. Let _completion_ be Completion(Yield(_value_)).
1. IfAbruptCloseIterator(_completion_, _iterated_).
1. Let _result_ be CreateIteratorFromClosure(_closure_, *"Iterator Helper"*, %IteratorHelperPrototype%, « [[UnderlyingIterator]] »).
1. Set _result_.[[UnderlyingIterator]] to _iterated_.
@@ -458,22 +456,19 @@ Iterator.prototype.flatMap ( _mapper_ )
1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterated_ and _mapper_ and performs the following steps when called:
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
1. Let _mapped_ be Completion(Call(_mapper_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_mapped_, _iterated_).
1. Let _innerIterator_ be Completion(GetIteratorFlattenable(_mapped_, ~reject-strings~)).
1. IfAbruptCloseIterator(_innerIterator_, _iterated_).
1. Let _innerAlive_ be *true*.
1. Repeat, while _innerAlive_ is *true*,
- 1. Let _innerNext_ be Completion(IteratorStep(_innerIterator_)).
- 1. IfAbruptCloseIterator(_innerNext_, _iterated_).
- 1. If _innerNext_ is *false*, then
+ 1. Let _innerValue_ be Completion(IteratorStepValue(_innerIterator_)).
+ 1. IfAbruptCloseIterator(_innerValue_, _iterated_).
+ 1. If _innerValue_ is ~done~, then
1. Set _innerAlive_ to *false*.
1. Else,
- 1. Let _innerValue_ be Completion(IteratorValue(_innerNext_)).
- 1. IfAbruptCloseIterator(_innerValue_, _iterated_).
1. Let _completion_ be Completion(Yield(_innerValue_)).
1. If _completion_ is an abrupt completion, then
1. Let _backupCompletion_ be Completion(IteratorClose(_innerIterator_, _completion_)).
@@ -495,17 +490,15 @@ Iterator.prototype.reduce ( _reducer_ [ , _initialValue_ ] )
1. If IsCallable(_reducer_) is *false*, throw a *TypeError* exception.
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. If _initialValue_ is not present, then
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, throw a *TypeError* exception.
- 1. Let _accumulator_ be ? IteratorValue(_next_).
+ 1. Let _accumulator_ be ? IteratorStepValue(_iterated_).
+ 1. If _accumulator_ is ~done~, throw a *TypeError* exception.
1. Let _counter_ be 1.
1. Else,
1. Let _accumulator_ be _initialValue_.
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return _accumulator_.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return _accumulator_.
1. Let _result_ be Completion(Call(_reducer_, *undefined*, « _accumulator_, _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_result_, _iterated_).
1. Set _accumulator_ to _result_.[[Value]].
@@ -522,9 +515,8 @@ Iterator.prototype.toArray ( )
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. Let _items_ be a new empty List.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return CreateArrayFromList(_items_).
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return CreateArrayFromList(_items_).
1. Append _value_ to _items_.
@@ -539,9 +531,8 @@ Iterator.prototype.forEach ( _fn_ )
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
1. Let _result_ be Completion(Call(_fn_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_result_, _iterated_).
1. Set _counter_ to _counter_ + 1.
@@ -558,9 +549,8 @@ Iterator.prototype.some ( _predicate_ )
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *false*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *false*.
1. Let _result_ be Completion(Call(_predicate_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_result_, _iterated_).
1. If ToBoolean(_result_) is *true*, return ? IteratorClose(_iterated_, NormalCompletion(*true*)).
@@ -578,9 +568,8 @@ Iterator.prototype.every ( _predicate_ )
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *true*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *true*.
1. Let _result_ be Completion(Call(_predicate_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_result_, _iterated_).
1. If ToBoolean(_result_) is *false*, return ? IteratorClose(_iterated_, NormalCompletion(*false*)).
@@ -598,9 +587,8 @@ Iterator.prototype.find ( _predicate_ )
1. Let _iterated_ be ? GetIteratorDirect(_O_).
1. Let _counter_ be 0.
1. Repeat,
- 1. Let _next_ be ? IteratorStep(_iterated_).
- 1. If _next_ is *false*, return *undefined*.
- 1. Let _value_ be ? IteratorValue(_next_).
+ 1. Let _value_ be ? IteratorStepValue(_iterated_).
+ 1. If _value_ is ~done~, return *undefined*.
1. Let _result_ be Completion(Call(_predicate_, *undefined*, « _value_, 𝔽(_counter_) »)).
1. IfAbruptCloseIterator(_result_, _iterated_).
1. If ToBoolean(_result_) is *true*, return ? IteratorClose(_iterated_, NormalCompletion(_value_)).