- From: Timothy Gu <notifications@github.com>
- Date: Tue, 24 Mar 2020 16:31:00 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/pull/862/review/380763253@github.com>
TimothyGu commented on this pull request. > - * the platform object |object|, - * the identifier "<code>entries</code>", and - * the type "<code>method</code>". - 1. Let |interface| be the [=interface=] on which the [=asynchronously iterable declaration=] - is declared. - 1. If |object| does not [=implement=] |interface|, then [=ECMAScript/throw=] a - {{ECMAScript/TypeError}}. - 1. Let |iterator| be a newly created [=default asynchronous iterator object=] for |interface| - with |object| as its [=default asynchronous iterator object/target=], - "<code>value</code>" as its [=default asynchronous iterator object/kind=], and - [=default asynchronous iterator object/is finished=] set to false. - 1. Run the [=asynchronous iterator initialization steps=] for |interface| with |object| and - |iterator|, if any such steps exist. - 1. Return |iterator|. +<div algorithm> + To <dfn oldids="es-iterable-entries,es-iterable-keys,es-iterable-values">define the iterability</dfn> I tried to get used to the name of this algorithm but I don't think I can. "Iterability" is just too different from the likes of "regular operations", etc. How about "to define the iteration methods"? > - 1. Let |interface| be the [=interface=] on which the [=asynchronously iterable declaration=] - is declared. - 1. If |object| does not [=implement=] |interface|, then [=ECMAScript/throw=] a - {{ECMAScript/TypeError}}. - 1. Let |iterator| be a newly created [=default asynchronous iterator object=] for |interface| - with |object| as its [=default asynchronous iterator object/target=], - "<code>value</code>" as its [=default asynchronous iterator object/kind=], and - [=default asynchronous iterator object/is finished=] set to false. - 1. Run the [=asynchronous iterator initialization steps=] for |interface| with |object| and - |iterator|, if any such steps exist. - 1. Return |iterator|. +<div algorithm> + To <dfn oldids="es-iterable-entries,es-iterable-keys,es-iterable-values">define the iterability</dfn> + of [=interface=] |definition| on |target|, given [=Realm=] |realm|, run the following steps: + + 1. If |definition| has an [=indexed property getter=], then: I feel like the flow here could be enhanced a bit to make clear the implication and mutual exclusivity relations of the conditions, like: 1. If _definition_ has an indexed property getter, then: 1. … 1. If _definition_ has a value iterator, then … 1. Otherwise, if _definition_ has a pair iterator, then … 1. Otherwise, if _definition_ has an asynchronously iterable declaration, then … You could also consider a switch-like syntax. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/heycam/webidl/pull/862#pullrequestreview-380763253
Received on Tuesday, 24 March 2020 23:31:14 UTC