@buccaneer/rxws

0.1.0 • Public • Published

CircleCI License: MIT Version

  • [ ] 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:

License

MIT

Package Sidebar

Install

npm i @buccaneer/rxws

Weekly Downloads

0

Version

0.1.0

License

MIT

Unpacked Size

78.3 kB

Total Files

23

Last publish

Collaborators

  • brianbuccaneer