1.0.5 • Published 3 years ago
@jmoxey/pricehub.js v1.0.5
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 thatonData
will only be invoked everyx
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
}
)