Hi, fellow RxJS streamer! 👋
Today I want to share a JS/TS package that allows you to access props of objects on Observables:
source$.subscribe(o => console.log(o?.a?.b?.c)) // turn ↑ into ↓ source$.a.b.c.subscribe(console.log)
A simple use case: read the msg property of each value on the stream
The package has good TypeScript support, so all props are intelli-sensed by cats, dogs, and IDEs:
t's also possible to call methods on values (even those using
this keyword), e.g.:
And you are still free to apply RxJS operators at any depth:
The package uses Proxies under the hood, recursively applying it to sub-properties and method results, so the chain can be indefinitely deep. And you can apply
.pipe at any time!
You can install it via
npm i rxjs-proxify
Or test it online: stackblitz.com/edit/rxjs-proxify-repl
The source code and more examples are available on github repo:
Thank you for reading this article! Stay reactive and have a nice day 🙂
If you enjoyed reading — please, indicate that with ❤️ 🦄 📘 buttons — it helps a lot!
Soon I'll post a more detailed review of the lib and how it works
Follow me here and on twitter for more RxJS, React, and JS posts:
Kos Palchyk 🐇🎩@kddskyAlmost did a triple toe loop in #RxJS19:05 PM - 06 Sep 2020
🗣 Would love to hear your thoughts!
I got you covered: