-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexchanges.js
39 lines (27 loc) · 1.22 KB
/
exchanges.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"use strict";
const ccxt = require ('../../ccxt.js')
const countries = require ('../../countries.js')
const asTable = require ('as-table')
const util = require ('util')
const log = require ('ololog').configure ({ locate: false })
require ('ansicolor').nice
process.on ('uncaughtException', e => { log.bright.red.error (e); process.exit (1) })
process.on ('unhandledRejection', e => { log.bright.red.error (e); process.exit (1) })
let exchanges = {}
ccxt.exchanges.forEach (id => { exchanges[id] = new (ccxt)[id] () })
log ('The ccxt library supports', (ccxt.exchanges.length.toString ()).green, 'exchanges:')
var countryName = function (code) {
return ((typeof countries[code] !== 'undefined') ? countries[code] : code)
}
log (asTable.configure ({ delimiter: ' | ' }) (Object.values (exchanges).map (exchange => {
let countries = Array.isArray (exchange.countries) ?
exchange.countries.map (countryName).join (', ') :
countryName (exchange.countries)
let website = Array.isArray (exchange.urls.www) ? exchange.urls.www[0] : exchange.urls.www
return {
id: exchange.id,
name: exchange.name,
url: website,
countries: countries,
}
})))