Something like this: https://github.com/ljharb/es-abstract/blob/master/GetIntrinsic.js#L40-L46 or https://github.com/tc39/test262/blob/c55d2ab7c344e35a3ceb93cf1d4d30019584db82/harness/wellKnownIntrinsicObjects.js
On Tue, Aug 14, 2018 at 11:12 AM, Isiah Meadows <[email protected]> wrote: > When creating iterators and async iterators outside generators, it'd > be *extremely* useful to have these exposed more easily accessible... > > Generators are *super* useful about 99% of the time in my experience, > but there is that 1% where generators don't really work - this is not > uncommon when you're adapting something to one of those two > interfaces, like adapting an event emitter, and a few of the more > complex operators, like "zip" (which is just easier to write using a > raw iterator). > > ----- > > Isiah Meadows > [email protected] > www.isiahmeadows.com > ----- > > Isiah Meadows > [email protected] > www.isiahmeadows.com > > > On Tue, Aug 14, 2018 at 10:58 AM T.J. Crowder > <[email protected]> wrote: > > > > This is the way I've found so far, allocating as few temporary objects > as possible (one, can't get rid of that temp function): > > > > ```js > > const AsyncIteratorPrototype = > > Object.getPrototypeOf( > > Object.getPrototypeOf( > > async function*(){} > > ).prototype > > ); > > ``` > > > > or, showing the steps more clearly: > > > > ```js > > const asyncGeneratorFunctionInstance = async function*(){}; > > const AsyncGeneratorFunction = Object.getPrototypeOf( > asyncGeneratorFunctionInstance); > > const AsyncGeneratorPrototype = AsyncGeneratorFunction.prototype; > > const AsyncIteratorPrototype = Object.getPrototypeOf( > AsyncGeneratorPrototype); > > ``` > > > > (I could create an async generator by calling that temporary async > generator function, but then I just have to do another > `Object.getPrototypeOf`, so it doesn't really buy me anything.) > > > > Is there something more direct? (Remember that `AsyncGeneratorFunction` > isn't globally exposed like `Function` is. None of the new subclasses of > Function constructors are exposed; according to [this thread][1], there > weren't enough strong use cases [that thread is for `GeneratorFunction`, > but we can extrapolate].) > > > > -- T.J. Crowder > > > > [1]: https://esdiscuss.org/topic/why-generatorfunction- > constructor-isn-t-directly-exposed-to-end-users > > _______________________________________________ > > es-discuss mailing list > > [email protected] > > https://mail.mozilla.org/listinfo/es-discuss > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

