@@ -4160,6 +4160,10 @@ iteration – or a tuple with three elements:
4160
4160
1. a value of the second type given in the declaration;
4161
4161
1. an opaque value that is passed back to the next invocation of the algorithm,
4162
4162
4163
+ The prose may also define <dfn>asynchronous iterator initialization steps</dfn> for the
4164
+ [=interface=] with an [=asynchronously iterable declaration=], which would then be called with the
4165
+ newly created iterator object.
4166
+
4163
4167
[=Interfaces=] with an [=asynchronously iterable declaration=] must not have any
4164
4168
[=interface members=] named "<code>entries</code>", "<code>keys</code>", or "<code>values</code>",
4165
4169
or have any [=inherited interfaces=] that have [=interface members=] with these names.
@@ -11667,7 +11671,10 @@ The location of the property is determined as follows:
11667
11671
1. If |object| does not [=implement=] |interface|, then [=ECMAScript/throw=] a
11668
11672
{{ECMAScript/TypeError}}.
11669
11673
1. Let |iterator| be a newly created [=default asynchronous iterator object=] for |interface|
11670
- with |object| as its target and iterator kind "<code>key+value</code>".
11674
+ with |object| as its [=default asynchronous iterator object/target=] and
11675
+ "<code>key+value</code>" as its [=default asynchronous iterator object/kind=].
11676
+ 1. Run the [=asynchronous iterator initialization steps=] for |interface| with |iterator|, if
11677
+ any.
11671
11678
1. Return |iterator|.
11672
11679
</div>
11673
11680
@@ -11856,7 +11863,10 @@ then the [=function object=] is {{%ArrayProto_keys%}}.
11856
11863
1. If |object| does not [=implement=] |interface|, then [=ECMAScript/throw=] a
11857
11864
{{ECMAScript/TypeError}}.
11858
11865
1. Let |iterator| be a newly created [=default asynchronous iterator object=] for |interface|
11859
- with |object| as its target and iterator kind "<code>key</code>".
11866
+ with |object| as its [=default asynchronous iterator object/target=] and
11867
+ "<code>key</code>" as its [=default asynchronous iterator object/kind=].
11868
+ 1. Run the [=asynchronous iterator initialization steps=] for |interface| with |iterator|, if
11869
+ any.
11860
11870
1. Return |iterator|.
11861
11871
</div>
11862
11872
@@ -11917,7 +11927,10 @@ the value of the {{@@iterator}} property.
11917
11927
1. If |object| does not [=implement=] |interface|, then [=ECMAScript/throw=] a
11918
11928
{{ECMAScript/TypeError}}.
11919
11929
1. Let |iterator| be a newly created [=default asynchronous iterator object=] for |interface|
11920
- with |object| as its target and iterator kind "<code>value</code>".
11930
+ with |object| as its [=default asynchronous iterator object/target=] and
11931
+ "<code>value</code>" as its [=default asynchronous iterator object/kind=].
11932
+ 1. Run the [=asynchronous iterator initialization steps=] for |interface| with |iterator|, if
11933
+ any.
11921
11934
1. Return |iterator|.
11922
11935
</div>
11923
11936
@@ -12152,6 +12165,8 @@ The \[[Prototype]] [=internal slot=] of an [=asynchronous iterator prototype obj
12152
12165
1. Return |object|'s [=default asynchronous iterator object/ongoing promise=].
12153
12166
</div>
12154
12167
12168
+ Issue: <code>return</code>; <code>throw</code> methods?
12169
+
12155
12170
The [=class string=] of an [=asynchronous iterator prototype object=] for a given [=interface=] is
12156
12171
the result of concatenating the [=identifier=] of the [=interface=] and the string
12157
12172
"<code> AsyncIterator</code>".
0 commit comments