ReactiveX / IxJS

The Interactive Extensions for JavaScript
https://reactivex.io/IxJS/
MIT License
1.32k stars 73 forks source link

Stick to RxJS naming convention #372

Closed jeengbe closed 1 month ago

jeengbe commented 1 month ago

Hi!

IxJS is currently more difficult to use than it should be. On the one hand, the only real way to find the right operator is to inspect each source file and the respective documentation comment. Additionally, not all operators work the way they do in RxJS (or exist at all), which leads to confusion and mix-ups when having worked with RxJS before.

By sticking to RxJS naming convention, not only is migrating code from Rx to Ix easier, but the existing (good) rxjs.dev operator decision tree applies to Ix too.

trxcllnt commented 1 month ago

Which operators do you think should be renamed? And which operators are missing that you'd like to see included?

jeengbe commented 1 month ago

Sorry, I somehow didn't think of including examples in the issue 🤦🏻‍♂️

Here are a couple of operators and functions I had to change during a refactor from rx to ix:

image

image

I don't have a deep enough insight into observables/iterators to say whether some of the missing ones might simply not be necessary, or whether some must inherently work differently.

These are some of the places I found ixjs diverge from rxjs. Still, great job on the library, it works fantastically otherwise!

jeengbe commented 1 month ago

I'd be happy to open separate issues about pipe() missing and share() not working as it does in RxJS.

trxcllnt commented 1 month ago
jeengbe commented 1 month ago

Thanks a lot! Your comment helped. I'll look into an MR for pipe. 🙂

jeengbe commented 1 month ago

Mostly something to consider for the next breaking change. Might also be that changing Rx is more appropriate. Not actionable, so closing for now.