I'm walking through the spec implementing it as described as literally as possible in JS and ran into a few editorial issues, thought I might as well list them here as I go:
2.2 step 5.a sets iteratorMethod to ? GetMethod(x,@@observable), this should be @@iterator
2.2.2 Observable.from Iteration Functions first paragraph declares a [[IteratorFunction]], this should be [[IteratorMethod]]
2.2.2 Step 3 sets iterator to ? GetIterator(items, iteratorMethod):
items should be iterable
GetIterator in the linked current spec is declared as GetIterator ( obj [, hint [, method ] ] ), requires adding hint as sync
3.1 Observable.prototype.subscribe steps 8.b.ii and 10:
both run (if the subscription does not close) and HostReportErrors on the same result value.
Step 10 will use an unassigned result if startMethodResult is not a normal completion.
I'm walking through the spec implementing it as described as literally as possible in JS and ran into a few editorial issues, thought I might as well list them here as I go:
iteratorMethod
to? GetMethod(x,@@observable)
, this should be@@iterator
[[IteratorFunction]]
, this should be[[IteratorMethod]]
iterator
to? GetIterator(items, iteratorMethod)
:items
should beiterable
GetIterator
in the linked current spec is declared asGetIterator ( obj [, hint [, method ] ] )
, requires addinghint
assync
result
value.result
ifstartMethodResult
is not a normal completion.Here's the gist I ended up with (from the new jsbin alpha): https://gist.github.com/anonymous/cf78e27c047e7747048941cb51921d63#file-wispy-dawn-fde-js