What does HackerNews think of IxJS?

The Interactive Extensions for JavaScript

Language: TypeScript

You might be interested in what IxJS has to offer:

https://github.com/ReactiveX/IxJS

RxJS is for observables. IxJS is for iterables. Or, a bit more accurately, as explained in the readme:

   IxJS unifies both synchronous and asynchronous pull-based collections, just as RxJS unified the world of push-based collections. RxJS is great for event-based workflows where the data can be pushed at the rate of the producer, however, IxJS is great at I/O operations where you as the consumer can pull the data when you are ready.
If the producer is ready to produce one/more values prior to the Observer's being ready to consume them, do those values go into a queue?

If there is more than one Observer of the same AsyncObservable, is there a separate queue for each of them?

I'm thinking of AsyncSink[1] used by AsyncIterableX[2] (both of IxJS[3]) and how they might be conceptually related to implementations of AsyncObservable.

[1] https://github.com/ReactiveX/IxJS/blob/master/src/asyncsink....

[2] https://github.com/ReactiveX/IxJS/blob/master/src/asyncitera...

[3] https://github.com/ReactiveX/IxJS

IxJS [1] already has pipeable functions for working with AsyncIterable (the underlying interface for the proposed for-await-of syntax).

[1] https://github.com/ReactiveX/IxJS

Yes, there is a relationship, with RxJS on the "push" side and async iterators on the "pull" side.

An interesting alternative to the library mentioned here is that IxJS is the RxJS team's own implementation of the sorts of operators that Axax is trying to provide, though for both ordinary iterators and async iterators: https://github.com/ReactiveX/IxJS

IxJS gets the benefits of trying to share as much as possible the same API as RxJS, making it really easy to use bits of IxJS and RxJS in the same project, depending on use case.

There's also IxJS: https://github.com/ReactiveX/IxJS

It additionally has the benefits of ESNext (Stage 3) AsyncIterable support, and some synergy with RxJS.