symbol-observable 
 
Install
$ npm install --save symbol-observable
Basic Usage
const symbolObservable = require('symbol-observable').default;
console.log(symbolObservable);
//=> Symbol(observable) 
import Symbol_observable from 'symbol-observable';
console.log(Symbol_observable);
//=> Symbol(observable) 
Making an object "observable":
You can do something like what you see below to make any object "observable" by libraries like RxJS, XStream and Most.js.
Things to know:
- It's best if you just use one of the above libraries.
- If you're not, but sure you never next,errororcompleteon your observer aftererrororcompletewas called.
- Likewise, make sure you don't next,errororcompleteafterunsubscribeis called on the returned object.
import Symbol_observable from 'symbol-observable';
someObject[Symbol_observable] = () => {
  return {
    subscribe(observer) {
      const handler = e => observer.next(e);
      someObject.addEventListener('data', handler);
      return {
        unsubscribe() {
          someObject.removeEventListener('data', handler);
        }
      }
    },
    [Symbol_observable]() { return this }
  }
} 
Often, it's not very hard, but it can get tricky in some cases.
Related
- is-observable - Check if a value is an Observable
- observable-to-promise - Convert an Observable to a Promise
License
MIT © Sindre Sorhus and Ben Lesh
 JarCasting
 JarCasting