1.0.5 • Published 3 years ago

@jmoxey/pricehub.js v1.0.5

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

Pricehub.js

Pricehub.js is a JavaScript Client SDK to provide an interface to subscribe to real-time changes from Pricehub.

Install

npm i pricehub.js

Usage

To subscribe to a currency pair channel, all you have to do is call pricehub.subscribe with a channel ID and a set of callbacks.

In the below example, we are subscribing to the BTC/AUD currency pair.

import pricehub from 'pricehub.js';
// const pricehub = require('pricehub.js');

const { dispose } = pricehub.subscribe('rate:BTC-AUD', {
  onJoined: () => console.log('i have joined!'),
  onData: payload => console.log(`Reference: ${payload.r}, Ask: ${payload.a}, Bid: ${payload.b}`),
  onError: err => console.log(`Oh noes! ${err.message}`)
});

// Whenever you are finished with the subscription, invoke `dispose`:
dispose();
  • When we join the channel, onJoined will be invoked.
  • When we receive data from the channel, onData will be invoked.
  • If we receive an error from the channel, onError will be invoked.
  • If an interval is specified (see API below), this means that onData will only be invoked every x milliseconds.

Note: You don't have to worry about managing subscriptions to a channel as Pricehub.js caches the channel under-the-hood, and reuses that channel if the consumer attempts to subscribe to the same channel. This means if you have 5 subscriptions to rate:BTC-AUD, there will only ever be one active channel (whenever data is recieved from the socket, Pricehub.js will broadcast the changes to your subscribers).

API

const { dispose } = pricehub.subscribe(
  channelId: string, 
  {
    onJoined: () => void,      // Callback to invoke when channel has been joined.
    onData: (payload) => void, // Callback to invoke when data has been received.
    onError: (err) => void,    // Callback to invoke when an error has occurred.
    interval: number,          // (Optional) Interval in ms. Defaults to 0 — no interval
  }
)
1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago