UNPKG

quadrigacx-cli

Version:

Command line tool to fetch BTC, ETH, and LTC price

51 lines (42 loc) 1.24 kB
#!/usr/bin/env node /** * Author: Dean Shi <dean.xiaoshi@gmail.com> * Date: 2018-02-09 */ require('colors') const r2 = require('r2') const Table = require('cli-table3') const program = require('commander') const getBookUrl = (book) => `https://api.quadrigacx.com/v2/ticker?book=${book}` const getCurrentTradingInformation = (book) => r2(getBookUrl(book)).json const books = ['btc_cad', 'eth_cad', 'ltc_cad'] program.version(require('../package.json').version).parse(process.argv) Promise.all(books.map(getCurrentTradingInformation)) .then((results) => { const table = new Table({ head: ['Coin', 'Price CAD', 'Buy Price', 'Sell Price', 'High', 'Low'].map( (title) => title.yellow ), }) table.push( ...results.map(({ last, bid, ask, high, low }, i) => [ books[i].replace(/_cad/g, '').toUpperCase(), last, bid, ask, high, low, ]) ) console.log() console.log(table.toString()) console.log( `Data source from quadrigacx.com at ${new Date().toLocaleString('CA', { hour12: false, })}` ) }) .catch((error) => { console.error('⚠️ Cannot fetch data'.bold.red) console.log(error) })