const io = require('socket.io-client') class Socket { constructor (config = {}) { if (typeof config === 'string') { // TODO remove this check in v2.0 this.socket = io(`${config}`) } else { if (config.restURL) { this.socket = io(`${config.restURL}`) } else { const restURL = 'https://rest.bitcoin.com' this.socket = io(`${restURL}`) } if (config.callback) config.callback() } } listen (endpoint, cb) { this.socket.emit(endpoint) if (endpoint === 'blocks') this.socket.on('blocks', msg => cb(msg)) else if (endpoint === 'transactions') { this.socket.on('transactions', msg => cb(msg)) } } } module.exports = Socket