1 |
|
2 | (function() {
|
3 | var Promise, balance, normalizeAssetName, services;
|
4 |
|
5 | Promise = require("bluebird");
|
6 |
|
7 | services = require('./services');
|
8 |
|
9 | normalizeAssetName = require('./asset-names').normalize;
|
10 |
|
11 | balance = function(addr, callback) {
|
12 | var fn, s;
|
13 | return Promise.all((function() {
|
14 | var _results;
|
15 | _results = [];
|
16 | for (s in services) {
|
17 | fn = services[s];
|
18 | _results.push(fn(addr));
|
19 | }
|
20 | return _results;
|
21 | })()).timeout(20000).cancellable().filter(function(item) {
|
22 | return !!item;
|
23 | }).reduce(function(a, b) {
|
24 | return a.concat(b);
|
25 | }).filter(function(asset) {
|
26 | return !asset.address || asset.address === addr;
|
27 | }).map(function(item) {
|
28 | if (item.address) {
|
29 | item.asset = normalizeAssetName(item.asset);
|
30 | }
|
31 | return item;
|
32 | }).nodeify(callback);
|
33 | };
|
34 |
|
35 | module.exports = balance;
|
36 |
|
37 | }).call(this);
|