@buccaneer/rxws
v0.1.0
Published
A simple, reliable and isomorphic WebSocket client for RxJS
Downloads
8
Maintainers
Readme
- [ ] handle disconnections (broadcast should queue messages by default)
- [ ] handle binary/base64 chunk uploads and upload interruptions/failures
- [ ] enforce wss by default
- [ ] verify that everything works with
rxtranscribe
- [ ] verify that docs are correct
- [ ] publish package on npm
- [ ] nice to have: add simple examples for Redux, simple node.js test, etc
- [ ] nice to have: improve test coverage, especially for broadcast, ws and actions.
Overview
This package is a simple, reliable, isomorphic, two-way WebSocket client built with RxJS 6. It provides these advantages:
- It integrates nicely with RxJS observables.
- Push and pull messages to and from a remote WebSocket server.
- It is compatible with node.js, unlike the RxJS's
WebSocket
object. - The WebSocket Observable created by this package emits multiple types of events including messages, connection status changes and the websocket itself. It provides operators to pull and publish whichever data is needed.
- The package uses sensible conventions and handles most connectivity interruptions and issues. But it also gives the user fine-grained control over how to handle different events.
- Uses socket.io under the hood, which is battle-tested, widely used, well maintained and reliable.
- Requires the use of secure WSS unless the user explicitly indicates otherwise.
- Easily integrates with React/Redux, Vue, Angular and other popular front-ends.
Installation
npm i @buccaneer/rxws --save
yarn add @buccaneer/rxws
Compatibility
|Platform|Support| |--------------|:-----------:| |node.js (>10.8)|✅| |Browsers|✅| |React Native|✅| |Electron|✅|
Documentation
Community
Do you like rxws
? Here's how you can help make it better:
- Star us on Github ✨ :octocat: ✨
- Become a contributor (even small contributions matter!) 👑
- Are we missing the operator or feature you need? Make a pull request to add it! 🤦
- Report & Debug Issues on GitHub 🌊
License
MIT